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