UNPKG

@zerospacegg/iolin

Version:

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

71 lines 2.88 kB
"use strict"; /** * Prot Build Drone - Protectorate builder unit * Essential construction unit responsible for establishing and expanding Protectorate infrastructure */ Object.defineProperty(exports, "__esModule", { value: true }); exports.ProtBuildDrone = void 0; const ability_js_1 = require("../../../../engine/ability.cjs"); const protectorate_js_1 = require("../../../../defaults/protectorate.cjs"); class ProtBuildDrone extends protectorate_js_1.ProtectorateBuilderUnit { get infuseCost() { return 0; } constructor() { super(); this.hexiteCost = 50; this.fluxCost = 0; this.buildTime = 15; this.name = "Protectorate Build Drone"; this.tier = "T0"; this.supply = 0; this.uuid = "13b39476-cf10-477d-bd74-c8d8563aee7f"; this.unlockedBy = ["faction/protectorate/building/operating-tower"]; // Mutable properties in constructor this.hp = 100; this.armor = 0; this.armorType = "light"; this.speed = 500; this.description = "Automated construction unit capable of building all Protectorate structures and infrastructure."; // Builder capabilities this.creates = [ "faction/protectorate/building/operating-tower", "faction/protectorate/building/supply-platform", "faction/protectorate/building/prot-barracks", "faction/protectorate/building/factory", "faction/protectorate/building/advanced-factory", "faction/protectorate/building/research-lab", "faction/protectorate/building/mechanical-research-lab", "faction/protectorate/building/specialized-research-lab", "faction/protectorate/building/airstrip", ]; // Abilities this.spells.build = new ability_js_1.Spell({ name: "Build", hotkey: "B", description: "Constructs buildings and structures", range: 100, parentId: this.id, parentUUID: this.uuid, }); this.spells.repair = new ability_js_1.Spell({ name: "Repair", hotkey: "R", description: "Repairs damaged mechanical units and structures", range: 100, healing: 10, parentId: this.id, parentUUID: this.uuid, }); // Entity relationships using static ID references this.createdBy = ["faction/protectorate/building/operating-tower"]; // Tags for identification and targeting - none needed for Prot Build Drone // Lore } } exports.ProtBuildDrone = ProtBuildDrone; // Static property for source path ProtBuildDrone.src = "src/zerospace/faction/protectorate/unit/prot-build-drone.ts"; exports.default = ProtBuildDrone; //# sourceMappingURL=prot-build-drone.js.map