@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
117 lines • 4.65 kB
JavaScript
/**
* Kraegar - Legion's greatest beast hunter hero
* Ranged hero with sabretooth companion and area-effect piercing abilities
*/
import { Attack, Spell, Upgrade } from "../../../../engine/ability.js";
import { LegionHeroUnit } from "../../legion-classes.js";
import Altar from "../building/altar.js";
import Armory from "../building/armory.js";
import Sabretooth from "../hero/sabretooth.js";
export class Kraegar extends 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.id];
this.unlockedBy = [Altar.id];
this.upgradedBy = [Armory.id];
// Creates sabretooth companion
this.creates = [Sabretooth.id];
this.unlocks = [Sabretooth.id];
// Tags for identification and targeting - none needed for Kraegar
// Long-range attack effective against all targets
this.attacks.attack = new 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 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 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 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 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 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 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
}
}
Kraegar.src = "src/zerospace/faction/legion/hero/kraegar.ts";
export default Kraegar;
//# sourceMappingURL=kraegar.js.map