@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
88 lines • 3.36 kB
JavaScript
/**
* Legion Garrison Tower - Main base building with defensive capabilities
* Fortress-monastery that serves as both defensive stronghold and sacred center of faith
*/
import { LegionBaseBuilding } from "../../../../defaults/legion.js";
import { Spell } from "../../../../engine/ability.js";
export class GarrisonTower extends LegionBaseBuilding {
constructor() {
super();
this.hexiteCost = 400;
this.fluxCost = 0;
this.buildTime = 60;
this.buildCount = 1;
this.name = "Garrison Tower";
this.tier = "T0";
this.uuid = "4d69e1d9-7c13-492d-a6ec-8bf8d0689795";
// Fortress-monastery stats
this.hp = 2500;
this.armor = 1;
this.armorType = "building";
this.speed = 0;
this.hotkey = "Q";
// Relationships
this.createdBy = ["faction/legion/unit/legion-build-drone"];
this.unlocks = [
"faction/legion/building/idal-conduit",
"faction/legion/unit/legion-build-drone",
"faction/legion/unit/legion-laborer",
"faction/legion/unit/legion-scout-drone",
"faction/legion/building/legion-extractor",
"faction/legion/building/legion-barracks",
];
// Base building production capabilities
this.creates = [
"faction/legion/unit/legion-build-drone", // Worker unit
"faction/legion/unit/legion-laborer", // Resource gatherer
"faction/legion/unit/legion-scout-drone", // Scout unit
"faction/legion/building/legion-extractor", // Resource extractor
];
// Home Base spell - set as primary base for recall priority
this.spells.homeBase = new 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
}
}
GarrisonTower.src = "src/zerospace/faction/legion/building/garrison-tower.ts";
export default GarrisonTower;
//# sourceMappingURL=garrison-tower.js.map