UNPKG

@zerospacegg/iolin

Version:

Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)

215 lines 6.92 kB
"use strict"; /** * Protectorate Classes - Separate file to avoid circular imports * Contains all Protectorate-specific class definitions for buildings and units */ Object.defineProperty(exports, "__esModule", { value: true }); exports.ProtectorateFaction = exports.ProtectorateUltimateUnit = exports.ProtectorateSpecialUnit = exports.ProtectorateHeroUnit = exports.ProtectorateHarvesterUnit = exports.ProtectorateBuilderUnit = exports.ProtectorateArmyUnit = exports.ProtectorateUltimateBuilding = exports.ProtectorateSpecialBuilding = exports.ProtectorateSupplyBuilding = exports.ProtectorateExtractorBuilding = exports.ProtectorateTechBuilding = exports.ProtectorateProductionBuilding = exports.ProtectorateBaseBuilding = exports.ProtectorateTopbar = exports.ProtectorateTalent = void 0; const ability_js_1 = require("../engine/ability.cjs"); const building_js_1 = require("../engine/building.cjs"); const faction_js_1 = require("../engine/faction.cjs"); const unit_js_1 = require("../engine/unit.cjs"); /** * Protectorate-specific talent that automatically sets abilityOf to "protectorate" */ class ProtectorateTalent extends ability_js_1.FactionTalent { get type() { return "ability"; } constructor(props) { super(props); this.factionName = "Protectorate"; } get abilityOf() { return "protectorate"; } } exports.ProtectorateTalent = ProtectorateTalent; class ProtectorateTopbar extends ability_js_1.Topbar { get type() { return "ability"; } constructor(props) { super(props); this.description = ""; } get abilityOf() { return "protectorate"; } get factionName() { return "Protectorate"; } } exports.ProtectorateTopbar = ProtectorateTopbar; // ============================================================================= // PROTECTORATE BUILDING CLASSES // ============================================================================= /** * Protectorate main base building (Operating Tower) */ class ProtectorateBaseBuilding extends building_js_1.BaseBuilding { get buildingType() { return "base"; } constructor() { super(); this.faction = "protectorate"; this.factionName = "Protectorate"; } } exports.ProtectorateBaseBuilding = ProtectorateBaseBuilding; /** * Protectorate production buildings (Factory, Barracks, etc.) */ class ProtectorateProductionBuilding extends building_js_1.ProductionBuilding { constructor() { super(); this.faction = "protectorate"; this.factionName = "Protectorate"; } } exports.ProtectorateProductionBuilding = ProtectorateProductionBuilding; /** * Protectorate technology/research buildings */ class ProtectorateTechBuilding extends building_js_1.TechBuilding { constructor() { super(); this.faction = "protectorate"; this.factionName = "Protectorate"; } } exports.ProtectorateTechBuilding = ProtectorateTechBuilding; /** * Protectorate resource extraction buildings */ class ProtectorateExtractorBuilding extends building_js_1.ExtractorBuilding { constructor() { super(); this.faction = "protectorate"; this.factionName = "Protectorate"; } } exports.ProtectorateExtractorBuilding = ProtectorateExtractorBuilding; /** * Protectorate supply buildings */ class ProtectorateSupplyBuilding extends building_js_1.SupplyBuilding { constructor() { super(); this.faction = "protectorate"; this.factionName = "Protectorate"; } } exports.ProtectorateSupplyBuilding = ProtectorateSupplyBuilding; /** * Protectorate special buildings (defensive structures, etc.) */ class ProtectorateSpecialBuilding extends building_js_1.SpecialBuilding { constructor() { super(); this.faction = "protectorate"; this.factionName = "Protectorate"; } } exports.ProtectorateSpecialBuilding = ProtectorateSpecialBuilding; /** * Protectorate ultimate buildings */ class ProtectorateUltimateBuilding extends building_js_1.UltimateBuilding { constructor() { super(); this.faction = "protectorate"; this.factionName = "Protectorate"; } } exports.ProtectorateUltimateBuilding = ProtectorateUltimateBuilding; // ============================================================================= // PROTECTORATE UNIT CLASSES // ============================================================================= /** * Protectorate army units (combat units) */ class ProtectorateArmyUnit extends unit_js_1.ArmyUnit { constructor() { super(); this.faction = "protectorate"; this.factionName = "Protectorate"; } } exports.ProtectorateArmyUnit = ProtectorateArmyUnit; /** * Protectorate builder units (construction units) */ class ProtectorateBuilderUnit extends unit_js_1.BuilderUnit { constructor() { super(); this.faction = "protectorate"; this.factionName = "Protectorate"; } } exports.ProtectorateBuilderUnit = ProtectorateBuilderUnit; /** * Protectorate harvester units (resource gathering) */ class ProtectorateHarvesterUnit extends unit_js_1.HarvesterUnit { constructor() { super(); this.faction = "protectorate"; this.factionName = "Protectorate"; } } exports.ProtectorateHarvesterUnit = ProtectorateHarvesterUnit; /** * Protectorate hero units */ class ProtectorateHeroUnit extends unit_js_1.HeroUnit { constructor() { super(); this.faction = "protectorate"; this.factionName = "Protectorate"; } } exports.ProtectorateHeroUnit = ProtectorateHeroUnit; /** * Protectorate Special Unit */ class ProtectorateSpecialUnit extends unit_js_1.SpecialUnit { constructor() { super(); this.faction = "protectorate"; this.factionName = "Protectorate"; } } exports.ProtectorateSpecialUnit = ProtectorateSpecialUnit; /** * Protectorate Ultimate Unit */ class ProtectorateUltimateUnit extends unit_js_1.UltimateUnit { constructor() { super(); this.faction = "protectorate"; this.factionName = "Protectorate"; } } exports.ProtectorateUltimateUnit = ProtectorateUltimateUnit; // ============================================================================= // PROTECTORATE FACTION CLASS // ============================================================================= /** * Main Protectorate faction class */ class ProtectorateFaction extends faction_js_1.MainFaction { get type() { return "faction"; } constructor() { super(); this.uuid = "protectorate-faction-uuid"; this.faction = "protectorate"; this.factionName = "Protectorate"; // Protectorate faction setup - technological military order } } exports.ProtectorateFaction = ProtectorateFaction; //# sourceMappingURL=protectorate.js.map