ZSGG Public Library
Gravitron
Xol T3 Army Unit
import { XolArmyUnit } from "../../../../defaults/xol.js";
import { Attack, Siege } from "../../../../engine/ability.js";
import { applyXolMerges } from "../_util/xol-merges.js";
export class Gravitron extends XolArmyUnit {
override uuid: string;
static override src = "src/zerospace/faction/xol/unit/gravitron.ts";
constructor() {
super();
applyXolMerges(this);
this.buildTime = 24;
this.name = "Gravitron";
this.tier = "T3";
this.hotkey = "";
this.uuid = "4f157175-56ce-402a-ab24-9d920787981c";
this.internalId = "Troop_Xol_Ripple_C";
this.internalPath = "/Game/Nova/Archetypes_Troops/Troop_Xol_Ripple.Default__Troop_Xol_Ripple_C";
this.internalTags = [
"Attackable.Unit.Troop",
"Local.Xol.Ripple",
"Attackable.ArmorType.Medium",
"Troop.Xol.Tier3",
];
this.internalSecondaryTags = [];
this.description =
"Slow unit which can use Reverberate to land and slow nearby enemy movement and attack speed.";
this.unlockedBy = ["faction/xol/building/world-forge"];
this.hp = 200;
this.shields = 200;
this.armor = 0;
this.armorType = "medium";
this.speed = 300;
this.supply = 3;
this.turnSpeed = 2000;
this.vision = 1600;
this.pushability = 1;
this.modes = [
{ slug: "mobile", name: "Mobile", description: "Can move normally and attacks at 8 range." },
{
slug: "landed",
name: "Landed",
description: "Landed via Reverberate; projects an expanding slow field and gains attack range over 5 seconds.",
},
];
this.attacks.collapsingPulse = new Attack({
name: "Collapsing Pulse",
damage: 6,
range: 800,
cooldown: 0.6,
armorPenetration: 0,
delay: 0.1,
targets: ["ground"],
requiresMode: "mobile",
parentId: this.id,
parentUUID: this.uuid,
});
this.attacks.collapsingPulseLanded = new Attack({
name: "Collapsing Pulse (Landed)",
damage: 6,
range: 1200,
cooldown: 0.6,
armorPenetration: 0,
delay: 0.1,
targets: ["ground"],
requiresMode: "landed",
parentId: this.id,
parentUUID: this.uuid,
});
this.sieges.reverberate = new Siege({
name: "Reverberate",
hotkey: "F",
description:
"Lands the Gravitron. Nearby enemies' attack and movement speed are slowed. The slow radius expands over 5 seconds, while attack range increases by 1.25 each second from 8 to 12 range.",
cooldown: 0.5,
togglesMode: "landed",
parentId: this.id,
parentUUID: this.uuid,
});
}
}
export default Gravitron;