- Add death explosions info
- Add mob bonus info - Reworked abilities, add child objects - Add unit morale break behaviour - Rework UA mod frontend
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
enum ArmorTypeValues {
|
||||
enum ArmorTypeValues {
|
||||
InfantryLow = 'Infantry Low',
|
||||
InfantryMedium = 'Infantry Medium',
|
||||
InfantryHigh = 'Infantry High',
|
||||
|
||||
@@ -2,6 +2,8 @@ import {IModifier} from "./IModifier";
|
||||
import {IRequirement} from "./IRequirement";
|
||||
import {IArmorType} from "./IArmorType";
|
||||
import {IAffectedData} from "./IAffectedData";
|
||||
import {IPiercing} from "./IPiercing";
|
||||
import {IAbilityEnvironment} from "./IAbilityEnvironment";
|
||||
|
||||
export interface IAbilityShort {
|
||||
id: number;
|
||||
@@ -32,7 +34,6 @@ export interface IAbilityFill {
|
||||
rechargeTimerGlobal?: boolean;
|
||||
refreshTime?: number;
|
||||
durationTime?: number;
|
||||
spawnedEntityName?: string;
|
||||
radius?: number;
|
||||
minDamage?: number;
|
||||
minDamageValue?: number;
|
||||
@@ -47,10 +48,6 @@ export interface IAbilityFill {
|
||||
requirements?: IRequirement;
|
||||
affectedData: IAffectedData,
|
||||
targetFilter: IArmorType[];
|
||||
piercings: IAbilityPiercing[];
|
||||
}
|
||||
|
||||
export interface IAbilityPiercing {
|
||||
armorType: IArmorType
|
||||
piercingValue: number
|
||||
piercings: IPiercing[];
|
||||
abilityEnvironment: IAbilityEnvironment;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
import {IModifier} from "./IModifier";
|
||||
import {IRequirement} from "./IRequirement";
|
||||
import {IArmorType} from "./IArmorType";
|
||||
import {IAffectedData} from "./IAffectedData";
|
||||
import {IAbilityShort} from "./IAbility";
|
||||
import {IDeathExplosion} from "./IDeathExplosion";
|
||||
|
||||
export interface IAbilityEnvironment {
|
||||
id: number;
|
||||
modId: number;
|
||||
filename: string;
|
||||
name?: string | null;
|
||||
description?: string | null;
|
||||
icon?: string | null;
|
||||
health?: number | null;
|
||||
armour?: number | null;
|
||||
healthRegeneration?: number | null;
|
||||
moveSpeed?: number | null;
|
||||
sightRadius?: number | null;
|
||||
detectRadius?: number | null;
|
||||
lifetime?: number | null;
|
||||
armorType: IArmorType | null;
|
||||
armorType2: IArmorType | null;
|
||||
abilities: IAbilityShort[];
|
||||
deathExplosions: IDeathExplosion[];
|
||||
}
|
||||
@@ -7,6 +7,7 @@ import {IRequirement} from "./IRequirement";
|
||||
import {IResearchShort} from "./IResearchShort";
|
||||
import {IAffectedData} from "./IAffectedData";
|
||||
import {IAbilityShort} from "./IAbility";
|
||||
import {IDeathExplosion} from "./IDeathExplosion";
|
||||
|
||||
export interface IBuilding {
|
||||
id: number
|
||||
@@ -42,6 +43,7 @@ export interface IBuilding {
|
||||
units: IUnitShort[]
|
||||
affectedResearches: IResearchShort[],
|
||||
requirements: IRequirement,
|
||||
deathExplosions: IDeathExplosion[],
|
||||
hotkey: string
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
import {IModifier} from "./IModifier";
|
||||
import {IRequirement} from "./IRequirement";
|
||||
import {IArmorType} from "./IArmorType";
|
||||
import {IAffectedData} from "./IAffectedData";
|
||||
import {IAbilityShort} from "./IAbility";
|
||||
import {IPiercing} from "./IPiercing";
|
||||
|
||||
export interface IDeathExplosion {
|
||||
id?: number | null;
|
||||
globalChance: number;
|
||||
chance: number;
|
||||
minDamage?: number ;
|
||||
maxDamage?: number ;
|
||||
minDamageValue?: number;
|
||||
moraleDamage?: number;
|
||||
damageRadius?: number | null;
|
||||
throwForceMin?: number | null;
|
||||
throwForceMax?: number | null;
|
||||
modId?: number | null;
|
||||
modifiers: IModifier[];
|
||||
armorPiercing: IPiercing[];
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
import {IArmorType} from "./IArmorType";
|
||||
|
||||
export interface IPiercing {
|
||||
armorType: IArmorType
|
||||
piercingValue: number
|
||||
}
|
||||
|
||||
@@ -1,21 +1,37 @@
|
||||
import {IBuildingShort} from "./IBuildingShort";
|
||||
import {IBuildingAddonShort} from "./IBuilding";
|
||||
import {IResearchRequirements} from "./IResearchRequirements";
|
||||
import {IUnitShort} from "./IUnitShort";
|
||||
|
||||
export interface IRequirement {
|
||||
requirementBuildings: IBuildingShort[];
|
||||
requirementBuildingsEither: IBuildingShort[];
|
||||
requirementsGlobalAddons: IBuildingAddonShort[];
|
||||
requirementResearches: IResearchRequirements[];
|
||||
requirementSquads: IRequirementSquadsDto[];
|
||||
requirementResearchesEither: IResearchRequirements[];
|
||||
replaceWhenDone: Boolean;
|
||||
requireAddon: IBuildingAddonShort;
|
||||
requiredTotalPop?: number;
|
||||
limitSquad?:number;
|
||||
limitTech?:number;
|
||||
limitByBuilding ?: IRequirementLimitByBuildingDto;
|
||||
mobBonus?: IRequirementMobBonusDto;
|
||||
requirementStructureExclusive?: IBuildingShort;
|
||||
requirementAddonExclusive?: IBuildingAddonShort;
|
||||
requiredOwnership: string[];
|
||||
}
|
||||
|
||||
export interface IRequirementSquadsDto{
|
||||
squad: IUnitShort;
|
||||
count: number;
|
||||
}
|
||||
|
||||
export interface IRequirementMobBonusDto{
|
||||
mobvalueRequired: number;
|
||||
proximityRequired: number;
|
||||
}
|
||||
|
||||
export interface IRequirementLimitByBuildingDto{
|
||||
building: IBuildingShort;
|
||||
limit: number;
|
||||
|
||||
+8
-6
@@ -5,6 +5,8 @@ import {IRequirement} from "./IRequirement";
|
||||
import {IModifier} from "./IModifier";
|
||||
import {IAffectedData} from "./IAffectedData";
|
||||
import {IAbilityShort} from "./IAbility";
|
||||
import {IPiercing} from "./IPiercing";
|
||||
import {IDeathExplosion} from "./IDeathExplosion";
|
||||
|
||||
export interface IUnitResponse {
|
||||
race: string
|
||||
@@ -54,6 +56,7 @@ export interface IUnit {
|
||||
faithIncome?: number
|
||||
powerIncome?: number
|
||||
requisitionIncome?: number
|
||||
mobValue?: number
|
||||
icon: string
|
||||
modId: number
|
||||
requirements: IRequirement
|
||||
@@ -61,9 +64,11 @@ export interface IUnit {
|
||||
sergeants: ISergeant[]
|
||||
weapons: WeaponHardpoint[]
|
||||
modifiers: IModifier[]
|
||||
moraleBrakeModifiers: IModifier[]
|
||||
abilities: IAbilityShort[]
|
||||
affectedData: IAffectedData,
|
||||
affectedResearches: IResearchShort[],
|
||||
deathExplosions: IDeathExplosion[],
|
||||
hotkey?: string,
|
||||
}
|
||||
|
||||
@@ -83,6 +88,7 @@ export interface ISergeant {
|
||||
faithIncome?: number
|
||||
powerIncome?: number
|
||||
requisitionIncome?: number
|
||||
mobValue?: number
|
||||
health: number
|
||||
armour?: number
|
||||
healthRegeneration: number
|
||||
@@ -100,6 +106,7 @@ export interface ISergeant {
|
||||
weapons: WeaponHardpoint[]
|
||||
abilities: IAbilityShort[]
|
||||
affectedResearches: IResearchShort[],
|
||||
deathExplosions: IDeathExplosion[],
|
||||
hotkey?: string,
|
||||
}
|
||||
|
||||
@@ -147,13 +154,8 @@ export interface IWeapon {
|
||||
modId: number
|
||||
requirements: IRequirement
|
||||
modifiers: IModifier[]
|
||||
weaponArmorPiercing: IWeaponPiercing[]
|
||||
weaponArmorPiercing: IPiercing[]
|
||||
affectedResearches: IResearchShort[],
|
||||
hotkey?: string,
|
||||
}
|
||||
|
||||
export interface IWeaponPiercing {
|
||||
armorType: IArmorType
|
||||
piercingValue: number
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user