@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
61 lines • 2.31 kB
JavaScript
"use strict";
/**
* Arandi Shade - Corrupted interdimensional stealth unit
* Fallen Arandi warriors possessed by entities from dimensional realms
* Masters of phased movement and posthumous revenge
*/
Object.defineProperty(exports, "__esModule", { value: true });
const arandi_js_1 = require("../../../../defaults/arandi.cjs");
const ability_js_1 = require("../../../../engine/ability.cjs");
class ArandiShade extends arandi_js_1.ArandiMercUnit {
constructor() {
super();
// hp and speed are set later in the mutable properties section
this.hexiteCost = 250;
this.fluxCost = 0;
this.buildCount = 3;
this.name = "Arandi Shade";
this.tier = "T1";
this.hotkey = "";
this.uuid = "ec4d06c9-bedf-4ff4-a4d6-a8d52134a4c7";
// Internal game engine data
this.internalId = "Troop_ArandiShade_C";
this.internalPath = "/Game/Nova/Archetypes_Troops/Troop_ArandiShade.Default__Troop_ArandiShade_C";
this.internalTags = [
"Attackable.Unit.Troop",
"Attackable.Unit.Light",
"Attackable.ArmorType.Light",
"Attackable.Biological",
];
this.internalSecondaryTags = ["Infantry"];
this.description = "Deadly melee entity. Can path through other units.";
// Mutable properties (can be modified by upgrades)
this.hp = 225;
this.shields = 0;
this.armor = 0;
this.armorType = "light";
this.speed = 700; // Fast stealth unit
this.supply = 2;
this.turnSpeed = 5000;
this.vision = 1800;
this.pushability = 1;
// TODO: Convert to getter - this.infuseCost = 4;
// Primary attack - Shadow Cleave
this.attacks.shadowCleave = new ability_js_1.Attack({
name: "Shadow Cleave",
damage: 20,
range: 160,
cooldown: 0.9,
cooldownBetweenShots: 0.9,
armorPenetration: 0,
delay: 0.11,
targets: ["ground"],
parentId: this.id,
parentUUID: this.uuid,
});
}
}
// Static property for source path
ArandiShade.src = "src/zerospace/mercenary/arandi/unit/arandi-shade.ts";
exports.default = ArandiShade;
//# sourceMappingURL=arandi-shade.js.map