@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
71 lines • 2.87 kB
JavaScript
"use strict";
/**
* Marran Heavy Trooper - Anti-Heavy powerful troopers built from Mothership
* Requires T6 talent and built in pairs for maximum devastating firepower
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.MarranHeavyTrooper = void 0;
const marran_js_1 = require("../../../../defaults/marran.cjs");
const ability_js_1 = require("../../../../engine/ability.cjs");
class MarranHeavyTrooper extends marran_js_1.MarranMercUnit {
constructor() {
super();
// Auto-generated fixes from dev data comparison
this.hexiteCost = 50;
this.fluxCost = 100;
this.buildCount = 2;
this.name = "Marran Heavy Trooper";
this.tier = "T4";
this.internalId = "Troop_Marran_MP_HeavyTrooper_C";
this.internalPath =
"/Game/Nova/Archetypes_Troops/Troop_Marran_MP_HeavyTrooper.Default__Troop_Marran_MP_HeavyTrooper_C";
this.internalTags = [
"Attackable.Unit.Troop",
"Attackable.Unit.Light",
"Attackable.ArmorType.Light",
"Attackable.Biological",
];
this.internalSecondaryTags = ["Infantry"];
this.uuid = "3f2d8c5a-1b9e-4a3f-8c7d-9e6a5b4c3d2f";
this.description =
"Anti-Heavy powerful troopers that deal devastating bonus damage to heavy armored units. Built in pairs for maximum efficiency.";
// Set short name
this.shortName = "Heavy Trooper";
// Mutable properties - elite anti-heavy specialist
this.supply = 4;
this.hp = 150;
this.shields = 150; // Balanced protection
this.armorType = "light";
this.armor = 1; // Light armor
this.speed = 450;
this.turnSpeed = 1000;
this.pushability = 0.45;
// Relationships - built from Mothership with T6 talent requirement
this.createdBy = ["mercenary/marran/building/marran-mothership"];
this.unlockedBy = ["mercenary/marran/talent/marran-t6-talent"];
// Anti-heavy devastating attack system
this.attacks.attack = new ability_js_1.Attack({
name: "Attack",
damage: 30,
cooldown: 1.6,
cooldownBetweenShots: 1.6,
armorPenetration: 0,
delay: 0.1,
range: 1300,
targets: ["ground"],
parentId: this.id,
parentUUID: this.uuid,
bonusDamage: [
{
multiplier: 2.0, // +100% vs heavy
vs: ["attackable.armor.heavy"],
},
],
});
}
}
exports.MarranHeavyTrooper = MarranHeavyTrooper;
// Static property for source path
MarranHeavyTrooper.src = "src/zerospace/mercenary/marran/unit/marran-heavy-trooper.ts";
exports.default = MarranHeavyTrooper;
//# sourceMappingURL=marran-heavy-trooper.js.map