UNPKG

@zerospacegg/iolin

Version:

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

98 lines 3.95 kB
"use strict"; /** * Legion Garrison Tower - Main base building with defensive capabilities * Fortress-monastery that serves as both defensive stronghold and sacred center of faith */ Object.defineProperty(exports, "__esModule", { value: true }); exports.GarrisonTower = void 0; const ability_js_1 = require("../../../../engine/ability.cjs"); const legion_classes_js_1 = require("../../legion-classes.cjs"); const legion_build_drone_js_1 = require("../unit/legion-build-drone.cjs"); const legion_laborer_js_1 = require("../unit/legion-laborer.cjs"); const legion_scout_drone_js_1 = require("../unit/legion-scout-drone.cjs"); const idal_conduit_js_1 = require("./idal-conduit.cjs"); const legion_barracks_js_1 = require("./legion-barracks.cjs"); const legion_extractor_js_1 = require("./legion-extractor.cjs"); class GarrisonTower extends legion_classes_js_1.LegionBaseBuilding { constructor() { super(); this.name = "Garrison Tower"; this.tier = "T0"; this.hexiteCost = 400; this.fluxCost = 0; this.buildTime = 60; this.buildCount = 1; this.uuid = "4d69e1d9-7c13-492d-a6ec-8bf8d0689795"; // Fortress-monastery stats this.hp = 2000; this.armor = 1; this.armorType = "building"; this.speed = 0; this.hotkey = "Q"; // Relationships this.createdBy = [legion_build_drone_js_1.LegionBuildDrone.id]; this.unlocks = [ idal_conduit_js_1.IdalConduit.id, legion_build_drone_js_1.LegionBuildDrone.id, legion_laborer_js_1.LegionLaborer.id, legion_scout_drone_js_1.LegionScoutDrone.id, legion_extractor_js_1.LegionExtractor.id, legion_barracks_js_1.LegionBarracks.id, ]; // Base building production capabilities this.creates = [ legion_build_drone_js_1.LegionBuildDrone.id, // Worker unit legion_laborer_js_1.LegionLaborer.id, // Resource gatherer legion_scout_drone_js_1.LegionScoutDrone.id, // Scout unit legion_extractor_js_1.LegionExtractor.id, // Resource extractor ]; // Home Base spell - set as primary base for recall priority this.spells.homeBase = new ability_js_1.Spell({ name: "Home Base", hotkey: "U", cooldown: 0.2, targets: ["self"], description: "Set this base as primary", parentId: this.id, parentUUID: this.uuid, }); // Addon system this.maxAddOns = 1; // TODO: Convert to modern add-on API when available // this.addAddOn("Garrison Tower Attacker", { // description: "Adds a defensive turret and +1 armor", // hotkey: "e", // hexiteCost: 200, // buildTime: 5, // addOnType: "building-turret", // hp: 500, // abilities: [], // transformations: [ // { // type: "addon-garrison-tower-garrison-tower-attacker", // name: "Garrison Tower Attacker Effects", // statModifications: { // armorAddition: 1, // hpAddition: 500, // }, // abilityAdditions: { // Attack: { // name: "Attack", // damage: 16, // cooldown: 0.45, // range: 1950, // abilityType: "attack", // targets: ["ground", "air"], // }, // }, // }, // ], // uuid: "93a62194-12ca-4c6b-ad99-c1f8329e6527", // }); // Lore - fortress-monastery and sacred center } } exports.GarrisonTower = GarrisonTower; GarrisonTower.src = "src/zerospace/faction/legion/building/garrison-tower.ts"; exports.default = GarrisonTower; //# sourceMappingURL=garrison-tower.js.map