UNPKG

@zerospacegg/iolin

Version:

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

66 lines 2.57 kB
/** * Mera - Protectorate Hero * Weapon-switching warrior with sword and pulse rifle combat modes */ import { Attack, Spell, WeaponSwitch } from "../../../../engine/ability.js"; import { ProtectorateHeroUnit } from "../../protectorate-classes.js"; export class Mera extends ProtectorateHeroUnit { constructor() { super(); this.name = "Mera"; this.uuid = "d729732c-6042-4155-8963-11fe8b06e132"; this.description = "Melee hero that gets stronger with each attack (lasts 10s). Can Dash through enemies gaining armor, or create a Shield bubble increasing armor."; // Mutable properties (can be modified by upgrades) this.hp = 175; this.speed = 500; // Sword Attack - Melee weapon mode this.attacks.swordAttack = new Attack({ name: "Sword Attack", damage: 23, cooldown: 1.2, range: 150, targets: ["ground"], parentId: this.id, parentUUID: this.uuid, }); // Pulse Rifle - Ranged weapon mode this.attacks.pulseRifle = new Attack({ name: "Pulse Rifle", damage: 24, cooldown: 1.15, range: 1200, targets: ["air", "ground"], parentId: this.id, parentUUID: this.uuid, }); // Weapon Switch - Toggle between sword and rifle this.weaponSwitches.weaponSwitch = new WeaponSwitch({ name: "Weapon Switch", description: "Mera switches between a Sword and a Blaster. Gains +30% attack speed for 5s.", hotkey: "E", cooldown: 10, switchBetween: ["Sword Attack", "Pulse Rifle"], }); // Dash - Mobility ability this.spells.dash = new Spell({ name: "Dash", hotkey: "Q", cooldown: 13, description: "Dash while dealing 40 damage to enemy units and gaining +1 armor for each hit. 10s duration.", parentId: this.id, parentUUID: this.uuid, }); // Protective Barrier - Defensive ability this.spells.protectiveBarrier = new Spell({ name: "Protective Barrier", hotkey: "W", cooldown: 40, description: "All friendly units and structures under the barrier have +3 armor. Lasts 20s.", parentId: this.id, parentUUID: this.uuid, }); } } Mera.src = "src/zerospace/faction/protectorate/hero/mera.ts"; export default Mera; //# sourceMappingURL=mera.js.map