@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
70 lines • 2.69 kB
JavaScript
/**
* Arandi Time Warper - Elite interdimensional unit
* Represents the absolute pinnacle of interdimensional mastery
* Masters of temporal manipulation and battlefield control
*/
import { Attack, Spell } from "../../../../engine/ability.js";
import { ArandiMercUnit } from "../../arandi-classes.js";
class ArandiTimeWarper extends ArandiMercUnit {
constructor() {
super();
this.name = "Time Warper";
this.tier = "T3";
this.hotkey = "W";
this.hexiteCost = 125;
this.fluxCost = 175;
this.buildTime = 40;
this.buildCount = 1;
this.uuid = "e6340371-da00-463a-9de1-34d014faa612";
this.description = "Flying unit that can teleport friendly units to its location. It can enter a siege mode where it slows enemy units in an area.";
// Mutable properties (can be modified by upgrades)
this.hp = 350;
this.shields = 0;
this.armor = 0;
this.armorType = "light";
this.speed = 500;
this.supply = 6;
// this.infuseCost = 14; // Remove - readonly property
// Primary attack - Light Pulse Cannon
this.attacks.lightPulseCannon = new Attack({
name: "Light Pulse Cannon",
damage: 15,
range: 1200,
cooldown: 0.7,
targets: ["ground", "air"],
description: "Concentrated packets of accelerated time that age targets rapidly",
parentId: this.id,
parentUUID: this.uuid,
});
// B - Teleport
this.spells.teleport = new Spell({
name: "Teleport",
hotkey: "B",
cooldown: 120,
energyCost: 0,
energyType: "classic",
range: 300,
targets: ["map"], // REMOVED: targetType: "location", // Not valid in Spell type
description: "Teleport friendly units to the caster location. 300 radius.",
parentId: this.id,
parentUUID: this.uuid,
});
// N - Phase (Siege Mode)
this.spells.phase = new Spell({
name: "Phase",
hotkey: "N",
cooldown: 1,
energyCost: 0,
energyType: "classic",
abilityType: "toggle",
togglesMode: "siege",
description: "Siege ability. Slow attack and movement speed of enemy units in area (-50%)",
parentId: this.id,
parentUUID: this.uuid,
});
}
}
// Static property for source path
ArandiTimeWarper.src = "src/zerospace/mercenary/arandi/unit/arandi-time-warper.ts";
export default ArandiTimeWarper;
//# sourceMappingURL=arandi-time-warper.js.map