UNPKG

@zerospacegg/iolin

Version:

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

83 lines 3.67 kB
"use strict"; /** * Prot Build Drone - Protectorate builder unit * Essential construction unit responsible for establishing and expanding Protectorate infrastructure */ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.ProtBuildDrone = void 0; const ability_js_1 = require("../../../../engine/ability.cjs"); const protectorate_classes_js_1 = require("../../protectorate-classes.cjs"); const advanced_factory_js_1 = __importDefault(require("../building/advanced-factory.cjs")); const airstrip_js_1 = __importDefault(require("../building/airstrip.cjs")); const factory_js_1 = __importDefault(require("../building/factory.cjs")); const mechanical_research_lab_js_1 = __importDefault(require("../building/mechanical-research-lab.cjs")); const operating_tower_js_1 = require("../building/operating-tower.cjs"); const prot_barracks_js_1 = __importDefault(require("../building/prot-barracks.cjs")); const research_lab_js_1 = __importDefault(require("../building/research-lab.cjs")); const specialized_research_lab_js_1 = __importDefault(require("../building/specialized-research-lab.cjs")); const supply_platform_js_1 = __importDefault(require("../building/supply-platform.cjs")); class ProtBuildDrone extends protectorate_classes_js_1.ProtectorateBuilderUnit { get infuseCost() { return 0; } constructor() { super(); this.name = "Protectorate Build Drone"; this.tier = "T0"; this.supply = 0; this.hexiteCost = 50; this.fluxCost = 0; this.buildTime = 15; 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 = [ operating_tower_js_1.OperatingTower.id, supply_platform_js_1.default.id, prot_barracks_js_1.default.id, factory_js_1.default.id, advanced_factory_js_1.default.id, research_lab_js_1.default.id, mechanical_research_lab_js_1.default.id, specialized_research_lab_js_1.default.id, airstrip_js_1.default.id, ]; // 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 = [operating_tower_js_1.OperatingTower.id]; // 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