Add addon requirements

This commit is contained in:
Anibus
2025-06-01 20:09:48 +03:00
parent 5751cec4de
commit ba699a0199
13 changed files with 1040 additions and 620 deletions
+39
View File
@@ -1,6 +1,7 @@
import {Irace} from "./Irace";
import {IArmorType} from "./IArmorType";
import {WeaponHardpoint} from "./IUnit";
import {IBuildingShort} from "./IBuildingShort";
export interface IBuilding {
id: number
@@ -24,5 +25,43 @@ export interface IBuilding {
icon: string
modId: number
weapons: WeaponHardpoint[]
addons: IBuildingAddon[]
}
export interface IBuildingAddon {
id: number;
name: string;
description: string;
filename: string;
addonCostRequisition: number;
addonCostPower: number;
addonCostPopulation: number;
addonCostFaith: number;
addonCostSouls: number;
addonCostTime: number;
addonModifiers: IAddonModifier[];
addonRequirement: IAddonRequirement;
icon?: string;
}
export interface IBuildingAddonShort {
id: number;
buildingId: number;
name: string;
icon: string;
}
export interface IAddonRequirement {
requirementBuildings: IBuildingShort[];
requirementBuildingsEither: IBuildingShort[];
requirementsGlobalAddons: IBuildingAddonShort[];
requireAddon: IBuildingAddonShort;
requiredTotalPop?: number;
}
export interface IAddonModifier {
id: number;
reference: string;
usageType: string;
value: number;
}
+1
View File
@@ -28,6 +28,7 @@ export interface IUnit {
health: number
healthRegeneration: number
moraleDeathPenalty: number
repairMax: number
moraleMax?: number
moraleBroken?: number
moraleRegeneration?: number