Add research support
This commit is contained in:
@@ -2,15 +2,15 @@ enum ArmorTypeValues {
|
||||
InfantryLow = 'Infantry Low',
|
||||
InfantryMedium = 'Infantry Medium',
|
||||
InfantryHigh = 'Infantry High',
|
||||
InfantryHeavyMedium = 'Infantry Heavy Medium',
|
||||
InfantryHeavyHigh = 'Infantry Heavy High',
|
||||
Commander = 'Commander',
|
||||
InfantryHeavyMedium = 'Infantry H.Med.',
|
||||
InfantryHeavyHigh = 'Infantry H.High',
|
||||
Commander = 'Infantry Com.',
|
||||
VehicleLow = 'Vehicle Low',
|
||||
VehicleMedium = 'Vehicle Medium',
|
||||
VehicleHigh = 'Vehicle High',
|
||||
LivingMetal = 'Living Metal',
|
||||
Titan = 'Titan',
|
||||
Air = 'Air',
|
||||
Air = 'Vehicle Air',
|
||||
BuildingLow = 'Building Low',
|
||||
BuildingMedium = 'Building Medium',
|
||||
BuildingHigh = 'Building High',
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
export interface IAffectedEntity {
|
||||
id: number
|
||||
name: string
|
||||
icon: string
|
||||
filename: string
|
||||
}
|
||||
|
||||
export interface ISergeantUnitShortDto {
|
||||
id: number
|
||||
name: string
|
||||
icon: string
|
||||
filename: string
|
||||
unit: IAffectedEntity
|
||||
}
|
||||
|
||||
export interface IWeaponUnitShortDto {
|
||||
id: number
|
||||
name: string
|
||||
filename: string
|
||||
units: IAffectedEntity[]
|
||||
sergeants: ISergeantUnitShortDto[]
|
||||
buildings: IAffectedEntity[]
|
||||
}
|
||||
+10
-19
@@ -1,7 +1,11 @@
|
||||
import {Irace} from "./Irace";
|
||||
import {IArmorType} from "./IArmorType";
|
||||
import {WeaponHardpoint} from "./IUnit";
|
||||
import {IBuildingShort} from "./IBuildingShort";
|
||||
import {IUnitShort} from "./IUnitShort";
|
||||
import {IModifier} from "./IModifier";
|
||||
import {IRequirement} from "./IRequirement";
|
||||
import {IResearch} from "./IResearch";
|
||||
import {IResearchShort} from "./IResearchShort";
|
||||
|
||||
export interface IBuilding {
|
||||
id: number
|
||||
@@ -30,6 +34,9 @@ export interface IBuilding {
|
||||
modId: number
|
||||
weapons: WeaponHardpoint[]
|
||||
addons: IBuildingAddon[]
|
||||
researches: IResearch[]
|
||||
units: IUnitShort[]
|
||||
affectedResearches: IResearchShort[],
|
||||
}
|
||||
|
||||
export interface IBuildingAddon {
|
||||
@@ -43,8 +50,8 @@ export interface IBuildingAddon {
|
||||
addonCostFaith: number;
|
||||
addonCostSouls: number;
|
||||
addonCostTime: number;
|
||||
addonModifiers: IAddonModifier[];
|
||||
addonRequirement: IAddonRequirement;
|
||||
addonModifiers: IModifier[];
|
||||
addonRequirement: IRequirement;
|
||||
icon?: string;
|
||||
}
|
||||
|
||||
@@ -54,19 +61,3 @@ export interface IBuildingAddonShort {
|
||||
name: string;
|
||||
icon: string;
|
||||
}
|
||||
|
||||
export interface IAddonRequirement {
|
||||
requirementBuildings: IBuildingShort[];
|
||||
requirementBuildingsEither: IBuildingShort[];
|
||||
requirementsGlobalAddons: IBuildingAddonShort[];
|
||||
replaceWhenDone: Boolean;
|
||||
requireAddon: IBuildingAddonShort;
|
||||
requiredTotalPop?: number;
|
||||
}
|
||||
|
||||
export interface IAddonModifier {
|
||||
id: number;
|
||||
reference: string;
|
||||
usageType: string;
|
||||
value: number;
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
|
||||
export interface IModifier {
|
||||
id: number;
|
||||
reference: string;
|
||||
usageType: string;
|
||||
target: string;
|
||||
value: number;
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
import {IBuildingShort} from "./IBuildingShort";
|
||||
import {IBuildingAddonShort} from "./IBuilding";
|
||||
import {IResearchRequirements} from "./IResearchRequirements";
|
||||
|
||||
export interface IRequirement {
|
||||
requirementBuildings: IBuildingShort[];
|
||||
requirementBuildingsEither: IBuildingShort[];
|
||||
requirementsGlobalAddons: IBuildingAddonShort[];
|
||||
requirementResearches: IResearchRequirements[];
|
||||
replaceWhenDone: Boolean;
|
||||
requireAddon: IBuildingAddonShort;
|
||||
requiredTotalPop?: number;
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
import {IModifier} from "./IModifier";
|
||||
import {IRequirement} from "./IRequirement";
|
||||
import {IAffectedEntity, ISergeantUnitShortDto, IWeaponUnitShortDto} from "./IAffectedEntity";
|
||||
|
||||
export interface IResearch {
|
||||
id: number
|
||||
name: string
|
||||
filename: string
|
||||
description: string
|
||||
costRequisition: number
|
||||
costPower: number
|
||||
costPopulation: number
|
||||
costFaith: number
|
||||
costSouls: number
|
||||
costTime: number
|
||||
icon: string
|
||||
modId: number
|
||||
affectedUnits: IAffectedEntity[]
|
||||
affectedSergeants: ISergeantUnitShortDto[]
|
||||
affectedBuildings: IAffectedEntity[]
|
||||
affectedWeapons: IWeaponUnitShortDto[]
|
||||
requirements: IRequirement
|
||||
modifiers: IModifier[]
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
import {IResearchShort} from "./IResearchShort";
|
||||
|
||||
export interface IResearchRequirements {
|
||||
researchShortDto: IResearchShort,
|
||||
researchMustNotBeComplete: Boolean,
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
export interface IResearchShort {
|
||||
id: string;
|
||||
name: string;
|
||||
icon: string;
|
||||
buildingId: number;
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
import {Irace} from "./Irace";
|
||||
import {IArmorType} from "./IArmorType";
|
||||
import {IResearchShort} from "./IResearchShort";
|
||||
|
||||
export interface IUnitResponse {
|
||||
race: string
|
||||
@@ -53,6 +54,7 @@ export interface IUnit {
|
||||
modId: number
|
||||
sergeants: ISergeant[]
|
||||
weapons: WeaponHardpoint[]
|
||||
affectedResearches: IResearchShort[],
|
||||
}
|
||||
|
||||
export interface ISergeant {
|
||||
@@ -81,6 +83,7 @@ export interface ISergeant {
|
||||
detectRadius: number
|
||||
icon: string
|
||||
weapons: WeaponHardpoint[]
|
||||
affectedResearches: IResearchShort[],
|
||||
}
|
||||
|
||||
|
||||
@@ -118,6 +121,7 @@ export interface IWeapon {
|
||||
icon: string
|
||||
modId: number
|
||||
weaponArmorPiercing: IWeaponPiercing[]
|
||||
affectedResearches: IResearchShort[],
|
||||
}
|
||||
|
||||
export interface IWeaponPiercing {
|
||||
|
||||
Reference in New Issue
Block a user