UNPKG

@zerospacegg/iolin

Version:

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

83 lines 3.29 kB
"use strict"; /** * Bastion - Protectorate heavy infantry unit * Heavily armored defensive specialist with powerful weaponry and tactical positioning abilities */ Object.defineProperty(exports, "__esModule", { value: true }); exports.Bastion = void 0; const protectorate_js_1 = require("../../../../defaults/protectorate.cjs"); const ability_js_1 = require("../../../../engine/ability.cjs"); class Bastion extends protectorate_js_1.ProtectorateArmyUnit { // Readonly properties at class level get infuseCost() { return 4; } constructor() { super(); // Auto-generated fixes from dev data comparison // hp is set later in the mutable properties section this.hexiteCost = 75; this.fluxCost = 25; this.buildTime = 24; this.name = "Bastion"; this.tier = "T1.5"; this.supply = 3; this.uuid = "09e41141-8b54-4634-bc20-499e82e9b3cc"; // Internal game engine data this.internalId = "Troop_Prot_Bastion_C"; this.internalPath = "/Game/Nova/Archetypes_Troops/Troop_Prot_Bastion.Default__Troop_Prot_Bastion_C"; this.internalTags = ["Attackable.Unit.Troop", "Attackable.Unit.Light.Mech", "Attackable.ArmorType.Medium"]; this.internalSecondaryTags = ["Mech", "Infantry"]; // Mutable properties in constructor this.hp = 275; this.shields = 0; this.armor = 1; this.armorType = "heavy"; this.speed = 540; this.turnSpeed = 4000; this.pushability = 1; this.description = "Heavy combat infantry with short range and splash damage. Attacks ground units."; // Combat abilities this.attacks.g53LightFlamethrower = new ability_js_1.Attack({ name: "G53 Light Flamethrower", damage: 8, cooldown: 1.5, cooldownBetweenShots: 1.5, armorPenetration: 0, delay: 0.01, range: 225, targets: ["ground"], parentId: this.id, parentUUID: this.uuid, }); // Upgrades this.upgrades.reactiveArmor = new ability_js_1.Upgrade({ name: "Reactive Armor", description: "+33% AOE", tier: "T1.5", fluxCost: 100, researchTime: 50, parentId: this.id, parentUUID: this.uuid, }); this.upgrades.kineticMode = new ability_js_1.Upgrade({ name: "Kinetic Mode", description: "Gains +40% movement speed outside of combat. 5s delay after last combat.", tier: "T2.5", fluxCost: 150, researchTime: 60, parentId: this.id, parentUUID: this.uuid, }); // Entity relationships using static ID references this.createdBy = ["faction/protectorate/building/prot-barracks"]; this.upgradedBy = ["faction/protectorate/building/research-lab"]; this.unlockedBy = ["faction/protectorate/building/research-lab"]; // Tags for identification and targeting - none needed for Bastion // Lore } } exports.Bastion = Bastion; Bastion.src = "src/zerospace/faction/protectorate/unit/bastion.ts"; exports.default = Bastion; //# sourceMappingURL=bastion.js.map