ZSGG Public Library
Echo
Xol Co-Op T2 Army Unit
import { XolArmyUnit } from "../../../../../defaults/xol.js";
import { Attack, Passive, Upgrade } from "../../../../../engine/ability.js";
import { applyCoopXolMerges } from "../../../_util/coop-xol-merges.js";
export class CoopEcho extends XolArmyUnit {
static override src = "src/zerospace/coop/commander/anrubic/unit/coop-anrubic-echo.ts";
override get variantOf(): string {
return "faction/xol/unit/echo";
}
constructor() {
super();
applyCoopXolMerges(this);
this.buildTime = 16;
this.name = "Echo";
this.tier = "T2";
this.hotkey = "";
this.uuid = "d9789357-622d-4a0b-9e04-5fdd8f328511";
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",
"Local.Xol.Echo",
"Attackable.ArmorType.Medium",
"Attackable.FlyingUnit",
"Troop.Xol.Tier1",
];
this.internalSecondaryTags = ["Air"];
this.description =
"Light harassment air unit. When attacking, makes weaker echoes of itself. Deals bonus damage to harvesters and extractors.";
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.attacks.nebulaPulse = new Attack({
internalId: "Default__Weapon_Xol_MP_Echo_C",
name: "Nebula Pulse",
damage: 13,
range: 500,
cooldown: 2,
armorPenetration: 0,
delay: 0,
targets: ["ground"],
bonusDamage: [{ multiplier: 1.5, vs: ["armor:medium"] }],
parentId: this.id,
parentUUID: this.uuid,
});
this.passives.hallucination = new Passive({
name: "Hallucination",
description: "Creates a hallucination on attack every 20 seconds. Hallucinations last 60 seconds.",
cooldown: 20,
duration: 60,
parentId: this.id,
parentUUID: this.uuid,
});
this.unlockedBy = ["coop/commander/anrubic/building/coop-anrubic-world-forge"];
this.upgradedBy = ["coop/commander/anrubic/building/coop-anrubic-world-forge"];
this.upgrades.projectionGenerators = new Upgrade({
name: "Projection Generators",
description: "Attacking creates a hallucination.",
tier: "T1",
position: "A",
fluxCost: 150,
researchTime: 50,
parentId: this.id,
parentUUID: this.uuid,
uuid: "cee4b344-a303-4f56-894d-0db328e862ec",
});
this.upgrades.powerCycling = new Upgrade({
name: "Power Cycling",
description: "-100 movement speed. +50% attack speed.",
tier: "T1",
position: "B",
fluxCost: 150,
researchTime: 50,
parentId: this.id,
parentUUID: this.uuid,
uuid: "d3838f0a-de9b-43c5-9ae9-7d5f6a7ff577",
});
}
}
export default CoopEcho;