ZSGG Public Library
Galavax
Legion Hero Unit
import { LegionHeroUnit } from "../../../../defaults/legion.js";
import { Attack, Spell, Upgrade } from "../../../../engine/ability.js";
export class Galavax extends LegionHeroUnit {
override uuid: string;
static override src = "src/zerospace/faction/legion/hero/galavax.ts";
constructor() {
super();
this.hexiteCost = 150;
this.fluxCost = 150;
this.buildTime = 30;
this.buildCount = 1;
this.name = "Galavax";
this.description = "Ranged caster hero with Fireball and Sacrificial Spear abilities.";
this.internalId = "Troop_Empire_Galavax_C";
this.internalTags = [
"Attackable.Unit.Hero",
"Logic.SpawnAtOldestSpawner",
"Attackable.Biological",
"Logic.NoVeterancy",
];
this.internalSecondaryTags = ["Biological", "Infantry"];
this.internalPath = "/Game/Nova/Archetypes_Troops/Troop_Empire_Galavax.Default__Troop_Empire_Galavax_C";
this.uuid = "11ed3f29-7fce-4882-86c4-9207b2f27b56";
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/building/sacrificial-site"];
this.attacks.ionicSurge = new Attack({
name: "Ionic Surge",
damage: 22,
range: 1200,
cooldown: 1.4,
armorPenetration: 0,
delay: 0.5,
targets: ["ground", "air"],
parentId: this.id,
parentUUID: this.uuid,
});
this.spells.fireball = new Spell({
name: "Fireball",
hotkey: "D",
energyCost: 40,
energyType: "classic",
cooldown: 14,
targets: ["map"],
targetMode: "strip",
description:
"Hurl a fireball that slowly moves across battlefied and burns enemy units and structures. \nInitial hit does 90 damage, further contact deals 40 damage per second.",
parentId: this.id,
parentUUID: this.uuid,
});
this.spells.sacrificialSpearEnemy = new Spell({
name: "Sacrificial Spear (Enemy)",
hotkey: "F",
energyCost: 25,
energyType: "classic",
cooldown: 10,
targets: ["ground"],
description: "Deal 80 damage and slow an enemy unit for 5 seconds.",
parentId: this.id,
parentUUID: this.uuid,
});
this.spells.sacrificialSpearThrall = new Spell({
name: "Sacrificial Spear (Thrall)",
hotkey: "F",
energyCost: 25,
energyType: "classic",
cooldown: 10,
targets: ["ground"],
description: "Sacrifices a friedly Thrall, healing nearby units for 15 seconds.",
parentId: this.id,
parentUUID: this.uuid,
});
this.upgrades.lightningSpear = new Upgrade({
name: "Lightning Spear",
description: "Sacrificial Spear releases lightning upon impact, dealing 40 damage and slowing 4 nearby enemies.",
tier: "T2.5",
fluxCost: 125,
researchTime: 40,
parentId: this.id,
parentUUID: this.uuid,
});
this.upgrades.improvedSacrifice = new Upgrade({
name: "Improved Sacrifice",
description: "Doubles heal radius and rate of healing for Sacrificial Spear.",
tier: "T2.5",
fluxCost: 125,
researchTime: 40,
parentId: this.id,
parentUUID: this.uuid,
});
this.upgrades.burningFireball = new Upgrade({
name: "Burning Fireball",
description: "Fireball explodes when it reaches the target setting the ground on fire.",
tier: "T2.5",
fluxCost: 175,
researchTime: 55,
parentId: this.id,
parentUUID: this.uuid,
});
this.upgrades.fastFireball = new Upgrade({
name: "Fast Fireball",
description: "+75% Fireball Speed",
tier: "T2.5",
fluxCost: 175,
researchTime: 55,
parentId: this.id,
parentUUID: this.uuid,
});
}
}
export default Galavax;