ZeroSpace.gg

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;