ZSGG Public Library
Endari Devourer
Endari T3 Merc Unit
import { EndariMercUnit } from "../../../../defaults/endari.js";
import { Attack, Spell } from "../../../../engine/ability.js";
// Stats from dev unit_data.json. Flavor fields (description, tier, ability naming/targeting)
// placeholder pending the separate description source. Weapon is a beam with a 200 AoE range
// and dev lists a "Devour" ability — both left for the detail pass.
class EndariDevourer extends EndariMercUnit {
override uuid: string;
static override src = "src/zerospace/mercenary/endari/unit/endari-devourer.ts";
constructor() {
super();
this.hexiteCost = 125;
this.fluxCost = 225;
this.name = "Endari Devourer";
this.tier = "T3";
this.hotkey = "";
this.uuid = "ba1471fb-8ff9-4f6c-9836-d4beca6b5e9c";
this.internalId = "Troop_Endari_Devourer_C";
this.internalPath = "/Game/Nova/Archetypes_Troops/Troop_Endari_Devourer.Default__Troop_Endari_Devourer_C";
this.internalTags = [
"Attackable.Unit.Troop",
"Attackable.Unit.Light",
"Attackable.ArmorType.Heavy",
"Attackable.Biological",
"Local.Endari",
];
this.internalSecondaryTags = ["Biological"];
this.description =
"Heavy unit with an area of effect attack. May use Devour.\nDevour: Eat a non-massive ground unit. While it digests, the Devourer does not attack and trails slime, dealing damage to any enemy it touches. The more hit points the devoured enemy has, the longer it takes to digest. If the Devourer is killed early the unit lives.";
this.hp = 1200;
this.shields = 0;
this.armor = 1;
this.armorType = "heavy";
this.healthRegen = 9;
this.speed = 400;
this.supply = 4;
this.turnSpeed = 2000;
this.vision = 1800;
this.pushability = 1;
this.createdBy = [
"mercenary/endari/building/the-deep-one",
"mercenary/endari/unit/the-deep-one-night-mode",
];
this.unlockedBy = ["mercenary/endari/building/the-deep-one"];
this.attacks.voidStream = new Attack({
name: "Void Stream",
damage: 12,
range: 800,
cooldown: 0.4,
armorPenetration: 0,
delay: 0.1,
targets: ["ground", "air"],
splash: { multiplier: 1, range: 200 },
parentId: this.id,
parentUUID: this.uuid,
});
this.spells.devour = new Spell({
name: "Devour",
hotkey: "N",
description:
"Devours the target unit, dealing damage to it over time and leaving behind a trail of damaging excrement. \nWeapon is disabled while devouring.",
cooldown: 60,
targets: ["ground"],
targetMode: "unit",
parentId: this.id,
parentUUID: this.uuid,
});
}
}
export default EndariDevourer;