@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
62 lines • 2.25 kB
JavaScript
"use strict";
/**
* Legion Laborer - Legion's resource harvesting unit
* Harvests flux with healing abilities, essential for Legion economy
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.LegionLaborer = void 0;
const legion_js_1 = require("../../../../defaults/legion.cjs");
const ability_js_1 = require("../../../../engine/ability.cjs");
class LegionLaborer extends legion_js_1.LegionHarvesterUnit {
constructor() {
super();
// Auto-generated fixes from dev data comparison
this.hexiteCost = 75;
this.fluxCost = 0;
this.buildTime = 25;
this.buildCount = 1;
this.gathersFlux = 0.7;
this.gathersRichFlux = 1.4;
this.name = "Laborer";
this.tier = "T0";
this.uuid = "8a5b5790-9747-4639-8596-398bf4f64c38";
this.internalId = "Troop_Legion_Harvester_C";
this.internalPath = "/Game/Nova/Archetypes_Troops/Troop_Legion_Harvester.Default__Troop_Legion_Harvester_C";
this.internalTags = [
"Attackable.Unit.Troop",
"Unit.IgnoreAllArmySelect",
"Unit.AutoControlGroup.Ignore",
"Attackable.ArmorType.Medium",
"Attackable.Biological",
"Attackable.Unit.Scavenger",
"Unit.Builder",
];
this.internalSecondaryTags = ["Vehicle"];
// Basic stats
this.hp = 150;
this.shields = 0;
this.armor = 0;
this.armorType = "light";
this.speed = 450;
this.supply = 0;
this.maxOwned = 15;
this.turnSpeed = 3000;
this.healthRegen = 4;
// Production requirements
this.createdBy = ["faction/legion/building/garrison-tower"];
this.unlockedBy = ["faction/legion/building/garrison-tower"];
// Healing ability
this.heals.heal = new ability_js_1.Heal({
name: "Heal",
healing: 10,
range: 100,
cooldown: 0.5,
parentId: this.id,
parentUUID: this.uuid,
});
}
}
exports.LegionLaborer = LegionLaborer;
LegionLaborer.src = "src/zerospace/faction/legion/unit/legion-laborer.ts";
exports.default = LegionLaborer;
//# sourceMappingURL=legion-laborer.js.map