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 = 30;
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.shields = 0;
this.armor = 0;
this.armorType = "hero";
this.speed = 500;
this.stunResist = 70;
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/krag-vorn"];
this.unlocks = ["faction/legion/hero/krag-vorn"];
this.spawnsWith = { id: "faction/legion/hero/krag-vorn", name: "Krag'Vorn", primary: true };
this.attacks.plagueRifle = new Attack({
name: "Plague Rifle",
damage: 12,
range: 1200,
cooldown: 1.2,
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",
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",
description: "Increases max feed count on Krag'Vorn to 30. \nFeed bonuses doubled.",
tier: "T2.5",
fluxCost: 125,
researchTime: 40,
parentId: this.id,
parentUUID: this.uuid,
});
this.upgrades.explosiveWarhead = new Upgrade({
name: "Explosive Warhead",
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 channel time.",
tier: "T3.5",
fluxCost: 175,
researchTime: 55,
parentId: this.id,
parentUUID: this.uuid,
});
this.upgrades.killerInstinct = new Upgrade({
name: "Killer Instinct",
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: "T3.5",
fluxCost: 175,
researchTime: 55,
parentId: this.id,
parentUUID: this.uuid,
});
}
}
export default Kraegar;