@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
94 lines • 3.47 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 { Spell } from "../../../../engine/ability.js";
import { LegionBaseBuilding } from "../../legion-classes.js";
import { LegionBuildDrone } from "../unit/legion-build-drone.js";
import { LegionLaborer } from "../unit/legion-laborer.js";
import { LegionScoutDrone } from "../unit/legion-scout-drone.js";
import { IdalConduit } from "./idal-conduit.js";
import { LegionBarracks } from "./legion-barracks.js";
import { LegionExtractor } from "./legion-extractor.js";
export class GarrisonTower extends 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 = [LegionBuildDrone.id];
this.unlocks = [
IdalConduit.id,
LegionBuildDrone.id,
LegionLaborer.id,
LegionScoutDrone.id,
LegionExtractor.id,
LegionBarracks.id,
];
// Base building production capabilities
this.creates = [
LegionBuildDrone.id, // Worker unit
LegionLaborer.id, // Resource gatherer
LegionScoutDrone.id, // Scout unit
LegionExtractor.id, // 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