ZSGG Public Library
Xol Harvester
Xol Co-Op T0 Harvester Unit
import { XolHarvesterUnit } from "../../../../../defaults/xol.js";
import { Spell } from "../../../../../engine/ability.js";
export class CoopXolHarvester extends XolHarvesterUnit {
static override src = "src/zerospace/coop/commander/anrubic/unit/coop-anrubic-xol-harvester.ts";
override get variantOf(): string {
return "faction/xol/unit/xol-harvester";
}
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 = "H";
this.uuid = "2245f529-2daf-4d0a-99b1-7ce08a7aebed";
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.Medium",
];
this.internalSecondaryTags = ["Air"];
this.description = "Harvests Flux. Harvesters respawn 60 seconds after being destroyed.";
this.hp = 400;
this.shields = 0;
this.armor = 0;
this.domain = "air";
this.speed = 400;
this.supply = 0;
//this.maxOwned = 4; //TODO I think 4 refers to an old patch. This data in theory should be wrong in pvp
this.maxOwned = 3;
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 CoopXolHarvester;