ZSGG Public Library
Echo
Xol T2 Army Unit
import { XolArmyUnit } from "../../../../defaults/xol.js";
import { Attack, Passive } from "../../../../engine/ability.js";
import { applyXolMerges } from "../_util/xol-merges.js";
// Stats from dev unit_data.json; tier from the Troop.Xol.TierN tag; description from
export class Echo extends XolArmyUnit {
override uuid: string;
static override src = "src/zerospace/faction/xol/unit/echo.ts";
constructor() {
super();
applyXolMerges(this);
this.buildTime = 15;
this.name = "Echo";
this.tier = "T2";
this.hotkey = "";
this.uuid = "3674dce7-5ace-45b1-bf16-09920df6b585";
this.internalId = "Troop_Xol_Echo_C";
this.internalPath = "/Game/Nova/Archetypes_Troops/Troop_Xol_Echo.Default__Troop_Xol_Echo_C";
this.internalTags = [
"Attackable.Unit.Troop",
"Attackable.Biological",
"Local.Xol.Echo",
"Attackable.ArmorType.Medium",
"Attackable.FlyingUnit",
"Troop.Xol.Tier1",
];
this.internalSecondaryTags = ["Biological", "Air"];
this.description =
"Light harassment air unit. When attacking, makes weaker echoes of itself. Deals bonus damage to harvesters and extractors.";
this.unlockedBy = ["faction/xol/building/molten-core"];
this.hp = 125;
this.shields = 0;
this.armor = 0;
this.armorType = "medium";
this.domain = "air";
this.speed = 800;
this.supply = 2;
this.turnSpeed = 4000;
this.vision = 1800;
this.pushability = 0;
this.modes = [
{ slug: "normal", name: "Normal", description: "Has not been upgraded by the Molten Core." },
{ slug: "molten", name: "Molten", description: "Upgraded by the Molten Core." },
];
this.attacks.primary = new Attack({
name: "Nebula Pulse",
damage: 10,
range: 500,
cooldown: 2,
armorPenetration: 0,
delay: 0,
targets: ["ground"],
bonusDamage: [{ multiplier: 3, vs: ["unit:harvester"] }],
parentId: this.id,
parentUUID: this.uuid,
});
this.passives.moltenHallucination = new Passive({
name: "Molten Hallucination",
description: "Creates a hallucination on attack every 20 seconds. Hallucinations last 60 seconds.",
cooldown: 20,
duration: 60,
requiresMode: "molten",
parentId: this.id,
parentUUID: this.uuid,
});
}
}
export default Echo;