@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
53 lines • 2.21 kB
JavaScript
/**
* Protectorate Harvester - Advanced resource harvester with integrated medical support
* Dual-purpose unit combining resource gathering with healing capabilities
*/
import { ProtectorateHarvesterUnit } from "../../../../defaults/protectorate.js";
import { Heal } from "../../../../engine/ability.js";
export class ProtHarvester extends ProtectorateHarvesterUnit {
constructor() {
super();
// Auto-generated fixes from dev data comparison
this.hexiteCost = 200;
this.fluxCost = 0;
this.buildTime = 10;
this.name = "Protectorate Harvester";
this.tier = "T0";
this.uuid = "9344860c-09c9-40e0-903b-f143d5a23ac9";
// Internal game engine data
this.internalId = "Troop_Prot_Harvester_C";
this.internalPath = "/Game/Nova/Archetypes_Troops/Troop_Prot_Harvester.Default__Troop_Prot_Harvester_C";
this.internalTags = [
"Attackable.Unit.Troop",
"Attackable.Unit.Scavenger",
"Unit.IgnoreAllArmySelect",
"Unit.AutoControlGroup.Ignore",
"Attackable.ArmorType.Medium",
];
this.internalSecondaryTags = ["Vehicle"];
this.unlockedBy = ["faction/protectorate/building/operating-tower"];
this.description = "Harvests flux. Has Healing Wave ability. Harvesters respawn 60s after being destroyed.";
this.hp = 400;
this.turnSpeed = 2000;
this.pushability = 0.45;
this.heals.healingWave = new Heal({
name: "Healing Wave",
description: "heals 150 in a 400 range area",
hotkey: "L",
cooldown: 60.0,
cooldownAtBuild: true,
range: 400,
targets: ["friendly:ground", "friendly:air"],
targetMode: "around-self",
healing: 150,
parentId: this.id,
parentUUID: this.uuid,
});
// Unit relationships
this.createdBy = ["faction/protectorate/building/operating-tower"];
}
}
// Static property for source path
ProtHarvester.src = "src/zerospace/faction/protectorate/unit/prot-harvester.ts";
export default ProtHarvester;
//# sourceMappingURL=prot-harvester.js.map