@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
43 lines • 2.14 kB
JavaScript
/**
* 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