UNPKG

@zerospacegg/iolin

Version:

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

43 lines 2.14 kB
/** * Protectorate Build Drone - Mera Commander Unit * Clean inheritance from faction ProtBuildDrone with all properties and abilities */ import { ProtBuildDrone } from "../../../../faction/protectorate/unit/prot-build-drone.js"; import CoopOperatingTower from "../building/coop-mera-operating-tower.js"; import CoopSupplyPlatform from "../building/coop-mera-supply-platform.js"; import CoopProtBarracks from "../building/coop-mera-prot-barracks.js"; import CoopFactory from "../building/coop-mera-factory.js"; import CoopAdvancedFactory from "../building/coop-mera-advanced-factory.js"; import CoopResearchLab from "../building/coop-mera-research-lab.js"; import CoopMechanicalResearchLab from "../building/coop-mera-mechanical-research-lab.js"; import CoopSpecializedResearchLab from "../building/coop-mera-specialized-research-lab.js"; import CoopAirstrip from "../building/coop-mera-airstrip.js"; export class CoopProtBuildDrone extends ProtBuildDrone { constructor() { super(); // Generate composite UUID: {parent-uuid}:coop-mera this.setVariantUUID("coop-mera"); // Dual unlock system: Building + Commander Level this.unlockedBy = [ CoopOperatingTower.id, // Building requirement (proper .id reference) this.commanderLevelId(1), // Commander level 1 requirement (base utility unit) ]; // Coop-specific relationships (replicate parent with coop references) this.createdBy = [CoopOperatingTower.id]; // Builder capabilities - what this drone can construct (replicate parent creates array) this.creates = [ CoopOperatingTower.id, CoopSupplyPlatform.id, CoopProtBarracks.id, CoopFactory.id, CoopAdvancedFactory.id, CoopResearchLab.id, CoopMechanicalResearchLab.id, CoopSpecializedResearchLab.id, CoopAirstrip.id, ]; } } CoopProtBuildDrone.src = "src/zerospace/coop/commander/mera/unit/coop-mera-prot-build-drone.ts"; export default CoopProtBuildDrone; //# sourceMappingURL=coop-mera-prot-build-drone.js.map