ZSGG Public Library
Paradox
Xol Co-Op T4 Army Unit
import { XolArmyUnit } from "../../../../../defaults/xol.js";
import { Attack, Spell, Upgrade } from "../../../../../engine/ability.js";
import { applyCoopXolMerges } from "../../../_util/coop-xol-merges.js";
export class CoopParadox extends XolArmyUnit {
static override src = "src/zerospace/coop/commander/anrubic/unit/coop-anrubic-paradox.ts";
override get variantOf(): string {
return "faction/xol/unit/paradox";
}
constructor() {
super();
applyCoopXolMerges(this);
this.buildTime = 50;
this.name = "Paradox";
this.tier = "T4";
this.hotkey = "";
this.maxOwned = 2;
this.uuid = "4e8211dd-db1e-4f9f-80d0-83cea457d783";
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 = "A large caster that can manipulate time, offering potentially game-changing effects.";
this.hp = 750;
this.shields = 750;
this.armor = 0;
this.armorType = "heavy";
this.stunResist = 50;
this.shieldRegen = 9;
this.speed = 450;
this.supply = 10;
this.turnSpeed = 2000;
this.vision = 1800;
this.pushability = 0;
this.attacks.cosmicCharge = new Attack({
internalId: "Default__Weapon_Xol_MP_Paradox_C",
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,
});
this.unlockedBy = ["coop/commander/anrubic/building/coop-anrubic-world-forge"];
this.upgradedBy = ["coop/commander/anrubic/building/coop-anrubic-world-forge"];
this.upgrades.limitIncrease1 = new Upgrade({
name: "Limit Increase",
description: "+1 unit limit increase",
tier: "T1",
position: "A",
fluxCost: 150,
researchTime: 50,
parentId: this.id,
parentUUID: this.uuid,
uuid: "752fece5-3f51-4f22-82c0-ac3e4e235c3b",
});
this.upgrades.limitIncrease2 = new Upgrade({
name: "Limit Increase",
description: "+1 unit limit increase",
tier: "T2",
position: "A",
fluxCost: 200,
researchTime: 60,
parentId: this.id,
parentUUID: this.uuid,
uuid: "1ef544fb-89ba-4d98-a1d2-5c4f2259f541",
});
}
}
export default CoopParadox;