@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
87 lines • 3.35 kB
JavaScript
/**
* Mera - Protectorate Hero
* Weapon-switching warrior with sword and pulse rifle combat modes
*/
import { ProtectorateHeroUnit } from "../../../../defaults/protectorate.js";
import { Attack, Spell, WeaponSwitch } from "../../../../engine/ability.js";
export class Mera extends ProtectorateHeroUnit {
constructor() {
super();
// Auto-generated fixes from dev data comparison
this.hexiteCost = 220;
this.fluxCost = 0;
this.buildTime = 45;
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 =
"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;
this.vision = 1800;
this.turnSpeed = 6000;
this.healthRegen = 6;
this.pushability = 0.1;
// Sword Attack - Melee weapon mode
this.attacks.swordAttack = new Attack({
name: "Sword Attack",
damage: 23,
cooldown: 1.2,
cooldownBetweenShots: 1.2,
armorPenetration: 0,
delay: 0.27,
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