ZSGG Public Library
Defiant
Xol T2 Army Unit
import { XolArmyUnit } from "../../../../defaults/xol.js";
import { Attack } from "../../../../engine/ability.js";
import { applyXolMerges } from "../_util/xol-merges.js";
export class Defiant extends XolArmyUnit {
override uuid: string;
static override src = "src/zerospace/faction/xol/unit/defiant.ts";
constructor() {
super();
applyXolMerges(this);
this.buildTime = 16;
this.name = "Defiant";
this.tier = "T2";
this.hotkey = "";
this.uuid = "3ecc95a3-2db5-4fe3-8932-d48ccb0d2206";
this.internalId = "Troop_Xol_Defiant_C";
this.internalPath = "/Game/Nova/Archetypes_Troops/Troop_Xol_Defiant.Default__Troop_Xol_Defiant_C";
this.internalTags = [
"Attackable.Unit.Troop",
"Attackable.Biological",
"Local.Xol.Defiant",
"Attackable.ArmorType.Heavy",
"Logic.ABESAttacked",
"Troop.Xol.Tier2",
];
this.internalSecondaryTags = ["Biological", "Infantry"];
this.description =
"Melee unit which gains energy when enemies attack it, and upon reaching full energy spins, dealing its attack damage to every enemy unit surrounding it in melee range.";
this.unlockedBy = ["faction/xol/building/molten-core"];
this.hp = 375;
this.shields = 0;
this.armor = 2;
this.armorType = "heavy";
this.abesEnergy = 6;
this.speed = 575;
this.supply = 4;
this.turnSpeed = 2000;
this.vision = 1600;
this.pushability = 0;
this.attacks.primary = new Attack({
name: "Vector Slash",
damage: 40,
range: 200,
cooldown: 1.25,
armorPenetration: 0,
delay: 0.175,
targets: ["ground"],
parentId: this.id,
parentUUID: this.uuid,
});
this.attacks.abesPulse = new Attack({
name: "ABES Pulse",
description: "Automatically releases when Defiant fills its ABES energy by being attacked.",
damage: 20,
range: 200,
splash: { multiplier: 1, range: 200 },
targets: ["ground"],
targetMode: "around-self",
energyCost: 6,
energyType: "abes",
parentId: this.id,
parentUUID: this.uuid,
});
}
}
export default Defiant;