@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
30 lines • 1.43 kB
JavaScript
/**
* Research Lab - Mera Commander Building
* Clean inheritance from faction Research Lab with all properties and abilities
*/
import ResearchLab from "../../../../faction/protectorate/building/research-lab.js";
import CoopProtBarracks from "./coop-mera-prot-barracks.js";
import CoopSupplyPlatform from "./coop-mera-supply-platform.js";
import CoopProtBuildDrone from "../unit/coop-mera-prot-build-drone.js";
import CoopBastion from "../unit/coop-mera-bastion.js";
import CoopCommando from "../unit/coop-mera-commando.js";
export class CoopResearchLab extends ResearchLab {
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
CoopSupplyPlatform.id, // Supply Platform requirement
this.commanderLevelId(2), // Commander level 2 requirement
];
// Coop-specific unlock chains - reference coop buildings and units
this.unlocks = [CoopBastion.id];
this.providesUpgradesFor = [CoopCommando.id, CoopBastion.id];
this.createdBy = [CoopProtBuildDrone.id];
}
}
CoopResearchLab.src = "src/zerospace/coop/commander/mera/building/coop-mera-research-lab.ts";
export default CoopResearchLab;
//# sourceMappingURL=coop-mera-research-lab.js.map