UNPKG

@zerospacegg/iolin

Version:

Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)

116 lines 4.71 kB
/** * Galavax - Legion's High Priest and master of sacrificial magic * Spellcaster hero with fireball conjuration and sacrificial spear 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 SacrificialSite from "../building/sacrificial-site.js"; export class Galavax extends LegionHeroUnit { constructor() { super(); this.name = "Galavax"; this.hexiteCost = 0; this.fluxCost = 200; this.buildTime = 30; this.buildCount = 1; this.uuid = "11ed3f29-7fce-4882-86c4-9207b2f27b56"; // Spellcaster stats - divinely enhanced 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 sacrificial sites this.creates = [SacrificialSite.id]; // Tags for identification and targeting - none needed for Galavax // Magical ranged attack effective against all targets this.attacks.attack = new Attack({ name: "Attack", damage: 25, range: 1200, cooldown: 1.4, targets: ["ground", "air"], parentId: this.id, parentUUID: this.uuid, }); // Fireball spell - slow moving projectile with burn effects this.spells.fireball = new Spell({ name: "Fireball", hotkey: "D", energyCost: 40, energyType: "classic", cooldown: 14, targets: ["map"], targetMode: "strip", description: "Hurl a fireball which slowly moves across battlefield and burns enemy units and structures. 90 damage the first time it hits a unit, 20 damage per tick after.", parentId: this.id, parentUUID: this.uuid, }); // Sacrificial Spear spell - dual purpose offensive and healing this.spells.sacrificialSpear = new Spell({ name: "Sacrificial Spear", hotkey: "F", energyCost: 25, energyType: "classic", cooldown: 10, targets: ["ground"], description: "Choose one: Deals 80 damage and slows an enemy unit for 5 seconds OR Sacrifices a friendly Thrall, healing nearby units for 15 seconds.", parentId: this.id, parentUUID: this.uuid, }); // Lightning Spear upgrade - area lightning damage 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, }); // Improved Sacrifice upgrade - enhanced healing this.upgrades.improvedSacrifice = new Upgrade({ name: "Improved Sacrifice", description: "Doubles heal radius and rate of healing for Sacrificial Spear (increased base heal radius in patch).", tier: "T2.5", fluxCost: 125, researchTime: 40, parentId: this.id, parentUUID: this.uuid, }); // Burning Fireball upgrade - explosive ground fire 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, }); // Fast Fireball upgrade - increased projectile speed this.upgrades.fastFireball = new Upgrade({ name: "Fast Fireball", description: "Increases fireball speed by 75%", tier: "T2.5", fluxCost: 175, researchTime: 55, parentId: this.id, parentUUID: this.uuid, }); // Lore - High Priest embodying sacrificial magic mastery } } Galavax.src = "src/zerospace/faction/legion/hero/galavax.ts"; export default Galavax; //# sourceMappingURL=galavax.js.map