ZSGG Public Library
Xyther
Xol Co-Op T1 Army Unit
import { XolArmyUnit } from "../../../../../defaults/xol.js";
import { Attack, Passive, Upgrade } from "../../../../../engine/ability.js";
import { applyCoopXolMerges } from "../../../_util/coop-xol-merges.js";
export class CoopXyther extends XolArmyUnit {
static override src = "src/zerospace/coop/commander/anrubic/unit/coop-anrubic-xyther.ts";
override get variantOf(): string {
return "faction/xol/unit/xyther";
}
constructor() {
super();
applyCoopXolMerges(this);
this.hexiteCost = 75;
this.fluxCost = 0;
this.buildTime = 30;
this.name = "Xyther";
this.tier = "T1";
this.hotkey = "";
this.uuid = "46bf97bf-4891-4a2e-afc1-c379a33738b8";
this.internalId = "Troop_Xol_Xyther_C";
this.internalPath = "/Game/Nova/Archetypes_Troops/Troop_Xol_Xyther.Default__Troop_Xol_Xyther_C";
this.internalTags = [
"Attackable.Unit.Troop",
"Attackable.Unit.Light",
"Attackable.ArmorType.Medium",
"Local.Xol.Xyther",
"Troop.Xol.Tier1",
];
this.internalSecondaryTags = ["Infantry"];
this.description =
"Melee unit. Its shield takes reduced damage from attacks over a certain amount. Can attack ground units.";
this.hp = 150;
this.shieldsDamageCap = 20;
this.shieldRegen = 9;
this.shields = 100;
this.armor = 0;
this.armorType = "medium";
this.speed = 540;
this.supply = 2;
this.turnSpeed = 3000;
this.vision = 1600;
this.pushability = 1;
this.attacks.nexusSever = new Attack({
internalId: "Default__Weapon_Xol_Xyther_C",
name: "Nexus Sever",
damage: 24,
range: 110,
cooldown: 2,
armorPenetration: 0,
delay: 0.12,
targets: ["ground"],
parentId: this.id,
parentUUID: this.uuid,
});
this.unlockedBy = ["coop/commander/anrubic/building/coop-anrubic-xyther-assembler"];
this.createdBy = ["coop/commander/anrubic/building/coop-anrubic-xyther-assembler"];
this.upgradedBy = ["coop/commander/anrubic/building/coop-anrubic-world-forge"];
this.upgrades.powerDischarge = new Upgrade({
name: "Power Discharge",
description:
"When Xyther or Defiant shields are depleted they emit a pulse of energy slowing enemy attack and movement speed by 50.",
tier: "T1",
position: "A",
fluxCost: 150,
researchTime: 60,
parentId: this.id,
parentUUID: this.uuid,
uuid: "c64c80a0-5253-4efa-93c8-3d831383fa5b",
});
this.upgrades.energyLeeching = new Upgrade({
name: "Energy Leeching",
description: "Xyther and Defiant gain 20 shields for each enemy hit by their attacks.",
tier: "T1",
position: "B",
fluxCost: 150,
researchTime: 50,
parentId: this.id,
parentUUID: this.uuid,
uuid: "57a76c7d-d57c-4af0-bfec-2b5d80cc08c9",
});
}
}
export default CoopXyther;