ZSGG Public Library
Paradox
Xol T4 Army Unit
import { XolArmyUnit } from "../../../../defaults/xol.js";
import { Attack, Spell } from "../../../../engine/ability.js";
import { applyXolMerges } from "../_util/xol-merges.js";
export class Paradox extends XolArmyUnit {
override uuid: string;
static override src = "src/zerospace/faction/xol/unit/paradox.ts";
constructor() {
super();
applyXolMerges(this);
this.buildTime = 24;
this.name = "Paradox";
this.tier = "T4";
this.hotkey = "";
this.maxOwned = 1;
this.uuid = "d5e97563-fd85-443c-b8e9-3398cc6a6a78";
this.internalId = "Troop_Xol_TimeBender_C";
this.internalPath = "/Game/Nova/Archetypes_Troops/Troop_Xol_TimeBender.Default__Troop_Xol_TimeBender_C";
this.internalTags = [
"Attackable.Unit.Troop",
"Local.Xol.Paradox",
"Troop.Xol.Tier4",
"Attackable.ArmorType.Heavy",
"Attackable.Unit.Massive",
];
this.internalSecondaryTags = [];
this.description =
"Area of Effect time-bending unit whose attack lingers over its target's position, continuing to deal damage in the area. May cast Paradox.\nParadox: Bring all units in an area back to their location and state as they were 6 seconds ago.";
this.hp = 750;
this.shields = 750;
this.armor = 0;
this.armorType = "heavy";
this.stunResist = 50;
this.speed = 450;
this.supply = 10;
this.turnSpeed = 2000;
this.vision = 1800;
this.pushability = 0;
this.attacks.primary = new Attack({
name: "Cosmic Charge",
damage: 50,
range: 1300,
cooldown: 3.5,
splash: { multiplier: 1, range: 200 },
armorPenetration: 0,
delay: 0.22,
targets: ["ground", "air"],
parentId: this.id,
parentUUID: this.uuid,
});
this.spells.paradox = new Spell({
name: "Paradox",
hotkey: "Z",
description:
"Targets units, marking their current position and status. \nAfter 6 seconds the units are restored to their previous state.",
cooldown: 90,
duration: 6,
targets: ["ground", "air"],
targetMode: "unit",
parentId: this.id,
parentUUID: this.uuid,
});
}
}
export default Paradox;