ZSGG Public Library
Xol Harvester
Xol T0 Harvester Unit
import { XolHarvesterUnit } from "../../../../defaults/xol.js";
import { Spell } from "../../../../engine/ability.js";
// Stats from dev unit_data.json. The Xol worker — a flying scavenger with no weapon. Dev armor
// type is "Harvester" (not an iolin ArmorType enum value) → mapped to "light"; noted in
// help-needed-from-ruby.md. Dev lists an "Overclock" ability.
export class XolHarvester extends XolHarvesterUnit {
override uuid: string;
static override src = "src/zerospace/faction/xol/unit/xol-harvester.ts";
constructor() {
super();
this.hexiteCost = 175;
this.fluxCost = 0;
this.buildTime = 30;
this.gathersFlux = 1;
this.gathersRichFlux = 2;
this.name = "Xol Harvester";
this.tier = "T0";
this.hotkey = "";
this.uuid = "e8491c7c-2e40-4149-8940-cfe9323a025d";
this.internalId = "Troop_Xol_Harvester_C";
this.internalPath = "/Game/Nova/Archetypes_Troops/Troop_Xol_Harvester.Default__Troop_Xol_Harvester_C";
this.internalTags = [
"Attackable.Unit.Troop",
"Attackable.FlyingUnit",
"Attackable.Unit.Scavenger",
"Unit.AutoControlGroup.Ignore",
"Unit.IgnoreAllArmySelect",
"Attackable.ArmorType.Harvester",
];
this.internalSecondaryTags = ["Air"];
this.description = "Harvests Flux. Harvesters respawn 60 seconds after being destroyed.";
this.hp = 400;
this.shields = 0;
this.armor = 0;
this.armorType = "light";
this.domain = "air";
this.speed = 400;
this.supply = 0;
this.maxOwned = 5;
this.rebuildable = true;
this.rebuildTime = 60;
this.turnSpeed = 5000;
this.vision = 1800;
this.pushability = 1;
this.spells.overclock = new Spell({
name: "Overclock",
hotkey: "G",
cooldown: 60,
duration: 5,
targets: ["friendly:ground", "friendly:air"],
targetMode: "around-self",
description: "Gives nearby units the Overclock buff, granting +35% damage and movement speed for 5 seconds.",
parentId: this.id,
parentUUID: this.uuid,
});
}
}
export default XolHarvester;