ZSGG Public Library
Endari Needler
Endari T1 Merc Unit
import { EndariMercUnit } from "../../../../defaults/endari.js";
import { Attack } from "../../../../engine/ability.js";
// Stats transcribed from dev unit_data.json (source of truth). Flavor fields the export does
// not carry — description, tier, friendly ability names, attack targeting — are left empty /
// placeholder pending the separate description source.
class EndariNeedler extends EndariMercUnit {
override uuid: string;
static override src = "src/zerospace/mercenary/endari/unit/endari-needler.ts";
constructor() {
super();
this.hexiteCost = 175;
this.fluxCost = 25;
this.buildCount = 2;
this.name = "Endari Needler";
this.tier = "T1";
this.hotkey = "";
this.uuid = "cb98175f-c5d9-4755-8892-884af91a9a4b";
this.internalId = "Troop_Endari_Needler_C";
this.internalPath = "/Game/Nova/Archetypes_Troops/Troop_Endari_Needler.Default__Troop_Endari_Needler_C";
this.internalTags = [
"Attackable.Unit.Troop",
"Attackable.Unit.Light",
"Attackable.ArmorType.Light",
"Attackable.Biological",
"Local.Endari",
];
this.internalSecondaryTags = ["Biological", "Infantry"];
this.description =
"Ranged medium unit which pulls the spines out of itself to throw at the enemy. Attack speed slows down when out of spines.";
this.hp = 225;
this.shields = 0;
this.armor = 0;
this.armorType = "light";
this.speed = 700;
this.supply = 2;
this.turnSpeed = 5000;
this.vision = 1600;
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.piercer = new Attack({
name: "Piercer",
damage: 15,
range: 800,
cooldown: 0.5,
armorPenetration: 0,
delay: 0.12,
targets: ["ground", "air"],
parentId: this.id,
parentUUID: this.uuid,
});
}
}
export default EndariNeedler;