ZSGG Public Library
Kraegar
Legion Hero Unit
import { LegionHeroUnit } from "../../../../defaults/legion.js";
import { Attack, Spell, Upgrade } from "../../../../engine/ability.js";
export class Kraegar extends LegionHeroUnit {
override uuid: string;
static override src = "src/zerospace/faction/legion/hero/kraegar.ts";
constructor() {
super();
this.hexiteCost = 150;
this.fluxCost = 150;
this.buildTime = 45;
this.buildCount = 1;
this.name = "Kraegar";
this.description =
"Ranged hero with Peircing Shot and Speedburst abilities. \nSpawns with his pet Krag'vorn, which gains power by consuming the carcasses of fallen allies.";
this.internalId = "Troop_Empire_Kraegar_C";
this.internalTags = [
"Attackable.Unit.Hero",
"Logic.SpawnAtOldestSpawner",
"Attackable.Biological",
"Logic.NoVeterancy",
];
this.internalSecondaryTags = ["Biological", "Infantry"];
this.internalPath = "/Game/Nova/Archetypes_Troops/Troop_Empire_Kraegar.Default__Troop_Empire_Kraegar_C";
this.uuid = "a1f8dbec-3be6-48ad-bf4c-cb14182239da";
this.hp = 260;
this.startingEnergy = 50;
this.energyRegen = 2.5;
this.shields = 0;
this.armor = 0;
this.armorType = "hero";
this.speed = 500;
this.supply = 10; // paired hero: the pair costs 10 together, and the export puts it all here
this.stunResist = 40;
this.energy = 100;
this.vision = 1800;
this.turnSpeed = 6000;
this.pushability = 0.1;
this.createdBy = ["faction/legion/building/altar"];
this.unlockedBy = ["faction/legion/building/altar"];
this.upgradedBy = ["faction/legion/building/armory"];
this.creates = ["faction/legion/hero/kragvorn"];
this.unlocks = ["faction/legion/hero/kragvorn"];
this.spawnsWith = { id: "faction/legion/hero/kragvorn", name: "Krag'vorn", primary: true };
this.attacks.plaguebringer = new Attack({
internalId: "Default__Leg_Rexxar_Rifle_C",
name: "Plaguebringer",
damage: 15,
range: 1200,
cooldown: 1.3,
armorPenetration: 0,
delay: 0.01,
targets: ["ground", "air"],
parentId: this.id,
parentUUID: this.uuid,
});
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 line.",
parentId: this.id,
parentUUID: this.uuid,
});
this.spells.speedburst = new Spell({
name: "Speedburst",
hotkey: "R",
energyCost: 15,
energyType: "classic",
cooldown: 20,
targets: ["self"],
description: "Kraegar and Krag'vorn gain increased movement speed for 10 seconds.",
parentId: this.id,
parentUUID: this.uuid,
});
this.upgrades.speedburstUpgrade = new Upgrade({
name: "Speedburst Upgrade",
unlockedBy: ["faction/legion/building/armory"],
tier: "T1",
position: "A",
description: "Speedburst applies buff to all friendly units around Kraegar.",
fluxCost: 125,
researchTime: 40,
parentId: this.id,
parentUUID: this.uuid,
});
this.upgrades.moreFeed = new Upgrade({
name: "More Feed",
unlockedBy: ["faction/legion/building/armory"],
description: "Increases max feed count on Krag'vorn to 20. \nFeed bonuses doubled.",
tier: "T1",
position: "B",
fluxCost: 125,
researchTime: 40,
parentId: this.id,
parentUUID: this.uuid,
});
this.upgrades.explosiveWarhead = new Upgrade({
name: "Explosive Warhead",
unlockedBy: ["faction/legion/building/terror-tower"],
description:
"The piercing shot explodes at the end dealing 250 damage, and an additional 150 damage over 5 seconds. Handling such heavy ammo increases cooldown, and raises channel time to 1.6s.",
tier: "T2",
position: "A",
fluxCost: 175,
researchTime: 75,
parentId: this.id,
parentUUID: this.uuid,
});
this.upgrades.killerInstinct = new Upgrade({
name: "Killer Instinct",
unlockedBy: ["faction/legion/building/terror-tower"],
description:
"Each enemy hit with Piercing shots boosts Kraegar and Krag'vorn's attack speed by 40% and movement speed by 10%. \nLasts 6 seconds",
tier: "T2",
position: "B",
fluxCost: 175,
researchTime: 75,
parentId: this.id,
parentUUID: this.uuid,
});
}
}
export default Kraegar;