@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
31 lines • 1.55 kB
JavaScript
/**
* Factory - Mera Commander Building
* Clean inheritance from faction Factory with all properties and abilities
*/
import Factory from "../../../../faction/protectorate/building/factory.js";
import CoopProtBarracks from "./coop-mera-prot-barracks.js";
import CoopProtBuildDrone from "../unit/coop-mera-prot-build-drone.js";
import CoopPredator from "../unit/coop-mera-predator.js";
import CoopIronwing from "../unit/coop-mera-ironwing.js";
import CoopTitan from "../unit/coop-mera-titan.js";
import CoopAdvancedFactory from "./coop-mera-advanced-factory.js";
import CoopMechanicalResearchLab from "./coop-mera-mechanical-research-lab.js";
export class CoopFactory extends Factory {
constructor() {
super();
// Generate composite UUID: {parent-uuid}:coop-mera
this.setVariantUUID("coop-mera");
// Dual unlock system: Building + Commander Level
this.unlockedBy = [
CoopProtBarracks.id, // Barracks requirement
this.commanderLevelId(3), // Commander level 3 requirement
];
// Coop-specific unlock chains - reference coop buildings and units, not faction ones
this.unlocks = [CoopPredator.id, CoopIronwing.id, CoopAdvancedFactory.id, CoopMechanicalResearchLab.id];
this.creates = [CoopPredator.id, CoopIronwing.id, CoopTitan.id];
this.createdBy = [CoopProtBuildDrone.id];
}
}
CoopFactory.src = "src/zerospace/coop/commander/mera/building/coop-mera-factory.ts";
export default CoopFactory;
//# sourceMappingURL=coop-mera-factory.js.map