ZSGG Public Library
She Who Stalks
Endari Hero Unit
import { EndariHeroUnit } from "../../../../defaults/endari.js";
import { Attack, Spell } from "../../../../engine/ability.js";
class SheWhoStalks extends EndariHeroUnit {
override uuid: string;
static override src = "src/zerospace/mercenary/endari/hero/she-who-stalks.ts";
constructor() {
super();
this.name = "She Who Stalks";
this.description =
"Mobile hero who can cloak and jump to ambush enemies. Can temporarily transform into an Impaler, which deals devastating melee damage.";
// Heroes carry the dev-data cost (only Legion's extra heroes differ); everyone gets one
// free hero at game start, so cost applies to the buildable instance.
this.hexiteCost = 220;
this.buildTime = 5;
this.hotkey = "";
this.uuid = "3ff83458-989d-4759-8cb3-c447430c125e";
this.internalId = "Troop_MPHero_Endari_C";
this.internalPath = "/Game/Nova/Archetypes_Heroes/Troop_MPHero_Endari.Default__Troop_MPHero_Endari_C";
this.internalTags = [
"Attackable.Unit.Hero",
"Logic.SpawnAtOldestSpawner",
"Attackable.Biological",
"Logic.NoVeterancy",
"Local.Endari",
];
this.internalSecondaryTags = ["Biological", "Infantry"];
this.hp = 250;
this.shields = 0;
this.armor = 0;
this.healthRegen = 12;
this.speed = 500;
this.supply = 10;
this.turnSpeed = 6000;
this.vision = 1800;
this.pushability = 0.1;
this.transformsInto = ["mercenary/endari/unit/endari-impaler"];
this.attacks.clawsAndDarts = new Attack({
name: "Claws and Darts",
damage: 29,
range: 100,
cooldown: 1.5,
armorPenetration: 0,
delay: 0.1,
targets: ["ground", "air"],
closeupFirerate: {
threshold: 360,
speedup: 1.75,
},
parentId: this.id,
parentUUID: this.uuid,
});
this.spells.jump = new Spell({
name: "Jump",
hotkey: "Q",
description: "Jump to a location and deal 70 damage in an area.",
damage: 70,
cooldown: 30,
targets: ["map"],
targetMode: "location",
parentId: this.id,
parentUUID: this.uuid,
});
this.spells.transform = new Spell({
name: "Transform",
hotkey: "W",
description: "Transform into Impaler for 20 seconds.",
cooldown: 90,
duration: 20,
targets: ["self"],
parentId: this.id,
parentUUID: this.uuid,
});
this.spells.cloak = new Spell({
name: "Cloak",
hotkey: "E",
description: "Targeted unit gains cloak and +20% move speed for 8 seconds.",
cooldown: 20,
duration: 8,
targets: ["ground", "air"],
targetMode: "unit",
parentId: this.id,
parentUUID: this.uuid,
});
}
}
export default SheWhoStalks;