@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
124 lines • 5.17 kB
JavaScript
"use strict";
/**
* Kraegar - Legion's greatest beast hunter hero
* Ranged hero with sabretooth companion and area-effect piercing abilities
*/
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Kraegar = void 0;
const ability_js_1 = require("../../../../engine/ability.cjs");
const legion_classes_js_1 = require("../../legion-classes.cjs");
const altar_js_1 = __importDefault(require("../building/altar.cjs"));
const armory_js_1 = __importDefault(require("../building/armory.cjs"));
const sabretooth_js_1 = __importDefault(require("../hero/sabretooth.cjs"));
class Kraegar extends legion_classes_js_1.LegionHeroUnit {
constructor() {
super();
this.name = "Kraegar";
this.hexiteCost = 200;
this.fluxCost = 200;
this.buildTime = 30;
this.buildCount = 1;
this.uuid = "a1f8dbec-3be6-48ad-bf4c-cb14182239da";
// Beast hunter stats - enhanced vision and precision
this.hp = 300;
this.shields = 0;
this.armor = 0;
this.armorType = "medium";
this.speed = 500; // Divine purpose
this.supply = 10; // Heroes consume supply
this.stunResist = 50; // Divine protection
this.energy = 100; // Standard hero energy
// Costs
// Relationships
this.createdBy = [altar_js_1.default.id];
this.unlockedBy = [altar_js_1.default.id];
this.upgradedBy = [armory_js_1.default.id];
// Creates sabretooth companion
this.creates = [sabretooth_js_1.default.id];
this.unlocks = [sabretooth_js_1.default.id];
// Tags for identification and targeting - none needed for Kraegar
// Long-range attack effective against all targets
this.attacks.attack = new ability_js_1.Attack({
name: "Attack",
damage: 20,
range: 1200,
cooldown: 1.2,
targets: ["ground", "air"],
parentId: this.id,
parentUUID: this.uuid,
});
// Piercing Shot spell - linear area damage
this.spells.piercingShot = new ability_js_1.Spell({
name: "Piercing Shot",
hotkey: "E",
energyCost: 30,
energyType: "classic",
cooldown: 8,
targets: ["map"],
targetMode: "strip",
description: "Deals 60 damage in a linear area",
parentId: this.id,
parentUUID: this.uuid,
});
// Speedburst spell - movement speed boost for hunter and companion
this.spells.speedburst = new ability_js_1.Spell({
name: "Speedburst",
hotkey: "R",
energyCost: 15,
energyType: "classic",
cooldown: 20,
targets: ["self"],
description: "Kraegar and Sabretooth gain increased movement speed for 10s",
parentId: this.id,
parentUUID: this.uuid,
});
// Speedburst Upgrade - area effect for all allies
this.upgrades.speedburstUpgrade = new ability_js_1.Upgrade({
name: "Speedburst Upgrade",
description: "Speedburst applies buff to all friendly units around Kraegar (+25% MS for friendlies, still 50% for Kraegar/Sabretooth)",
tier: "T2.5",
fluxCost: 125,
researchTime: 40,
parentId: this.id,
parentUUID: this.uuid,
});
// More Feed upgrade - enhances sabretooth companion
this.upgrades.moreFeed = new ability_js_1.Upgrade({
name: "More Feed",
description: "Increases max feed count on Sabretooth to 30. Feed bonuses doubled.",
tier: "T2.5",
fluxCost: 125,
researchTime: 40,
parentId: this.id,
parentUUID: this.uuid,
});
// Explosive Warhead upgrade - adds explosion to piercing shot
this.upgrades.explosiveWarhead = new ability_js_1.Upgrade({
name: "Explosive Warhead",
description: "The piercing shot explodes at the end dealing 300 damage in area. Handling such heavy ammo increases cooldown and channel time",
tier: "T3.5",
fluxCost: 175,
researchTime: 55,
parentId: this.id,
parentUUID: this.uuid,
});
// Killer Instinct upgrade - combat bonuses on hit
this.upgrades.killerInstinct = new ability_js_1.Upgrade({
name: "Killer Instinct",
description: "Each enemy hit with Piercing shots boosts Kraegar and Sabretooth's attack speed by 35% and movement speed by 10%, Lasts 6 seconds",
tier: "T3.5",
fluxCost: 175,
researchTime: 55,
parentId: this.id,
parentUUID: this.uuid,
});
// Lore - legendary beast hunter with sacred companion bond
}
}
exports.Kraegar = Kraegar;
Kraegar.src = "src/zerospace/faction/legion/hero/kraegar.ts";
exports.default = Kraegar;
//# sourceMappingURL=kraegar.js.map