@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
32 lines • 1.6 kB
JavaScript
/**
* Large Incubator - Vynthra Commander Building
* Clean inheritance from faction Large Incubator with all properties and abilities
*/
import LargeIncubator from "../../../../faction/grell/building/large-incubator.js";
import CoopSeedling from "../unit/coop-vynthra-seedling.js";
import CoopBehemoth from "../unit/coop-vynthra-behemoth.js";
import CoopReaver from "../unit/coop-vynthra-reaver.js";
import CoopWeaver from "../unit/coop-vynthra-weaver.js";
import CoopMediumIncubator from "./coop-vynthra-medium-incubator.js";
import CoopSpecialAugmentationPool from "./coop-vynthra-special-augmentation-pool.js";
export class CoopLargeIncubator extends LargeIncubator {
constructor() {
super();
// Generate composite UUID: {parent-uuid}:coop-vynthra
this.setVariantUUID("coop-vynthra");
// Dual unlock system: Building + Commander Level
this.unlockedBy = [
CoopMediumIncubator.id, // Building requirement
this.commanderLevelId(1), // Commander level 1 requirement
];
// Coop-specific unit creation - reference coop units, not faction ones
this.creates = [CoopReaver.id, CoopWeaver.id, CoopBehemoth.id];
// Built by coop builder
this.createdBy = [CoopSeedling.id];
// Unlocks coop buildings and units
this.unlocks = [CoopBehemoth.id, CoopSpecialAugmentationPool.id];
}
}
CoopLargeIncubator.src = "src/zerospace/coop/commander/vynthra/building/coop-vynthra-large-incubator.ts";
export default CoopLargeIncubator;
//# sourceMappingURL=coop-vynthra-large-incubator.js.map