UNPKG

@zerospacegg/iolin

Version:

Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)

90 lines 3.67 kB
/** * Seedling - Grell builder unit * T0 builder that can construct all Grell structures. Becomes flying scout when infused. */ import { GrellBuilderUnit } from "../../../../defaults/grell.js"; import { InfuseState } from "../../../../engine/unit.js"; export class Seedling extends GrellBuilderUnit { constructor() { super(); // Auto-generated fixes from dev data comparison this.hexiteCost = 0; this.fluxCost = 0; this.buildTime = 5; this.buildCount = 1; this.name = "Seedling"; this.tier = "T0"; this.hotkey = "S"; this.uuid = "f184e771-d2b9-4669-a9e3-99061a95c775"; // Internal game engine data this.internalId = "Troop_Grell_Seedling_C"; this.internalPath = "/Game/Nova/Archetypes_Troops/Troop_Grell_Seedling.Default__Troop_Grell_Seedling_C"; this.internalTags = [ "Attackable.Unit.Troop", "Attackable.Unit.Light", "Unit.AutoControlGroup.Ignore", "Unit.Temporary", "Attackable.ArmorType.Light", "Unit.Builder", "Unit.IgnoreAllArmySelect", "Attackable.Biological", ]; this.internalSecondaryTags = []; this.unlockedBy = ["faction/grell/building/root-colony"]; this.createdBy = ["faction/grell/building/root-colony"]; this.description = "Can build structures."; // Construction capabilities - all Grell buildings this.creates = [ "faction/grell/building/incubator", "faction/grell/building/medium-incubator", "faction/grell/building/large-incubator", "faction/grell/building/augmentation-pool", "faction/grell/building/advanced-augmentation-pool", "faction/grell/building/special-augmentation-pool", "faction/grell/building/cultivator", "faction/grell/building/root-colony", "faction/grell/building/skrelling-nest", "faction/grell/building/nourishing-pod", ]; this.hp = 20; this.shields = 0; this.armor = 0; this.armorType = "medium"; this.speed = 225; this.supply = 0; this.vision = 1400; this.turnSpeed = 3000; // domain is readonly, can't be changed after construction // Biomass healing passive inherited automatically from GrellBuilderUnit // No combat abilities - this is a pure builder/scout unit } get canBeInfused() { return this._infused === InfuseState.none; } get canBeReanimated() { return false; // Seedlings cannot be reanimated } // Custom infusion logic - transforms ground builder into flying scout _applyInfusion(value) { if (value !== this._infused) { if (value === InfuseState.none) { // Reset to base ground builder form const base = new this.constructor(); this.hp = base.hp; this.speed = base.speed; // domain is readonly, can't be changed - would need different approach } else { // Transform into flying scout (both single and double infusion same for seedling) this.hp = 120; this.speed = 575; // PKL shows 575 speed when infused // domain is readonly, can't be changed - would need different approach } this._infused = value; } } } // Static property for source path Seedling.src = "src/zerospace/faction/grell/unit/seedling.ts"; export default Seedling; //# sourceMappingURL=seedling.js.map