ZSGG Public Library
Eradicator
Xol T3 Army Unit
import { XolArmyUnit } from "../../../../defaults/xol.js";
import { Attack, Spell } from "../../../../engine/ability.js";
import { applyXolMerges } from "../_util/xol-merges.js";
export class Eradicator extends XolArmyUnit {
override uuid: string;
static override src = "src/zerospace/faction/xol/unit/eradicator.ts";
constructor() {
super();
applyXolMerges(this);
this.buildTime = 24;
this.name = "Eradicator";
this.tier = "T3";
this.hotkey = "";
this.uuid = "5df6dff5-b5de-489d-b289-c52313d6d2fe";
this.internalId = "Troop_Xol_Eradicator_C";
this.internalPath = "/Game/Nova/Archetypes_Troops/Troop_Xol_Eradicator.Default__Troop_Xol_Eradicator_C";
this.internalTags = [
"Attackable.Unit.Troop",
"Attackable.ArmorType.Heavy",
"Local.Xol.Eradicator",
"Troop.Xol.Tier3",
];
this.internalSecondaryTags = [];
this.description =
"Heavy artillery unit which hits up to four targets at once. May grab 5 nearby Rollers and throw them at a target location, Overclocking them on landing. Overclock grants +35% damage and movement speed for 5 seconds.";
this.unlockedBy = ["faction/xol/building/world-forge"];
this.hp = 1000;
this.shields = 0;
this.armor = 2;
this.armorType = "heavy";
this.speed = 400;
this.supply = 6;
this.turnSpeed = 1000;
this.vision = 1600;
this.pushability = 1;
this.attacks.primary = new Attack({
name: "Aether Shockwave",
damage: 30,
shots: 4,
range: 2000,
cooldown: 3,
armorPenetration: 0,
delay: 0.13,
targets: ["ground", "air"],
bonusDamage: [{ multiplier: 2, vs: ["armor:heavy"] }],
parentId: this.id,
parentUUID: this.uuid,
});
this.spells.launchRollers = new Spell({
name: "Launch Rollers",
description:
"Grab and throw 5 nearby Rollers to the target location. The Rollers are Overclocked on landing, gaining +35% damage and movement speed for 5 seconds.",
hotkey: "X",
cooldown: 30,
targets: ["map"],
targetMode: "location",
parentId: this.id,
parentUUID: this.uuid,
});
}
}
export default Eradicator;