ZeroSpace.gg

Mera

Protectorate Hero Unit

import { ProtectorateHeroUnit } from "../../../../defaults/protectorate.js"; import { Attack, Spell, WeaponSwitch } from "../../../../engine/ability.js"; export class Mera extends ProtectorateHeroUnit { override uuid: string; static override src = "src/zerospace/faction/protectorate/hero/mera.ts"; constructor() { super(); this.hexiteCost = 220; this.fluxCost = 0; this.buildTime = 5; this.name = "Mera"; this.internalId = "Troop_MPHero_Mera_C"; this.internalPath = "/Game/Nova/Archetypes_Heroes/Troop_MPHero_Mera.Default__Troop_MPHero_Mera_C"; this.internalTags = [ "Attackable.Unit.Hero", "Logic.SpawnAtOldestSpawner", "Attackable.Biological", "Logic.NoVeterancy", ]; this.internalSecondaryTags = ["Infantry"]; this.uuid = "d729732c-6042-4155-8963-11fe8b06e132"; this.description = "Hero that can switch between melee and raned weapons. \nCan dash through enemies and create an armor field around her."; this.hp = 175; this.shields = 175; this.speed = 500; this.vision = 1800; this.turnSpeed = 6000; this.healthRegen = 6; this.pushability = 0.1; this.modes = [ { slug: "sword", name: "Sword", description: "Uses Vakira as a melee weapon." }, { slug: "gun", name: "Gun", description: "Uses a Pulse Pistol as a ranged weapon." }, ]; this.attacks.valora = new Attack({ name: "Vakira", damage: 23, cooldown: 1.2, armorPenetration: 0, delay: 0.27, range: 200, targets: ["ground"], requiresMode: "sword", parentId: this.id, parentUUID: this.uuid, }); this.attacks.pulsePistol = new Attack({ name: "Pulse Pistol", damage: 24, cooldown: 1.5, range: 1200, targets: ["air", "ground"], requiresMode: "gun", parentId: this.id, parentUUID: this.uuid, }); this.weaponSwitches.weaponSwitch = new WeaponSwitch({ name: "Weapon Switch", description: "Mera switches between a Sword and a Blaster.", hotkey: "V", cooldown: 10, switchBetween: ["sword", "gun"], }); this.spells.kineticDash = new Spell({ name: "Kinetic Dash", hotkey: "Z", cooldown: 13, description: "Dash forward, dealing 25 damage to enemies in path. \n+1 armor per enemy hit and +50% movement speed for 3 seconds.", parentId: this.id, parentUUID: this.uuid, }); this.spells.protectiveBarrier = new Spell({ name: "Protective Barrier", hotkey: "W", cooldown: 40, description: "Deploy a field around Mera that grants nearby friendly units and structures +3 Armor. \nLasts 16 seconds.", duration: 16, parentId: this.id, parentUUID: this.uuid, }); } } export default Mera;