@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
70 lines • 2.87 kB
JavaScript
"use strict";
/**
* Marran Halo Tank - T3 elite fortress with dual-layer shields and laser ability
* Ultimate expression of Marran defensive engineering philosophy
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.MarranHaloTank = void 0;
const marran_js_1 = require("../../../../defaults/marran.cjs");
const ability_js_1 = require("../../../../engine/ability.cjs");
class MarranHaloTank extends marran_js_1.MarranMercUnit {
constructor() {
super();
// Auto-generated fixes from dev data comparison
this.hexiteCost = 125;
this.fluxCost = 250;
this.buildCount = 1;
this.name = "Marran Halo Tank";
this.tier = "T3";
this.internalId = "Troop_Marran_Halo_C";
this.internalPath = "/Game/Nova/Archetypes_Troops/Troop_Marran_Halo.Default__Troop_Marran_Halo_C";
this.internalTags = ["Attackable.Unit.Troop", "Attackable.ArmorType.Heavy", "Logic.ABES"];
this.internalSecondaryTags = ["Vehicle"];
this.uuid = "0a88dc86-a065-46f6-9d26-35770f146c74";
this.description =
"Heavy tank which can attack while moving. Each attack charges up a powerful laser, dealing damage in a line after 4 attacks. Attacks ground units.";
// Set short name
this.shortName = "Halo Tank";
// Mutable properties - elite fortress platform with advanced systems
this.supply = 7;
// TODO: Convert to getter - this.infuseCost = 18;
this.hp = 350;
this.shields = 350; // Dual-layer maximum protection
this.armorType = "heavy";
this.speed = 400;
this.turnSpeed = 1500;
this.pushability = 0.45;
// Relationships
this.createdBy = ["mercenary/marran/building/marran-merc-outpost"];
this.unlockedBy = ["mercenary/marran/building/marran-merc-outpost"];
// Primary attack system
this.attacks.attack = new ability_js_1.Attack({
name: "Attack",
damage: 50,
cooldown: 1.3,
cooldownBetweenShots: 0,
armorPenetration: 0,
delay: 0,
range: 1400,
targets: ["ground"],
parentId: this.id,
parentUUID: this.uuid,
});
// ABES-powered laser attack
this.attacks.laser = new ability_js_1.Attack({
name: "Laser",
energyCost: 4,
energyType: "abes",
damage: 40,
targets: ["ground"],
description: "Does 80 damage in a line",
parentId: this.id,
parentUUID: this.uuid,
});
}
}
exports.MarranHaloTank = MarranHaloTank;
// Static property for source path
MarranHaloTank.src = "src/zerospace/mercenary/marran/unit/marran-halo-tank.ts";
exports.default = MarranHaloTank;
//# sourceMappingURL=marran-halo-tank.js.map