ZSGG Public Library
Mondar
Valkaru Hero Unit
import { ValkaruHeroUnit } from "../../../../defaults/valkaru.js";
import { Attack, Spell } from "../../../../engine/ability.js";
class Mondar extends ValkaruHeroUnit {
override uuid: string;
static override src = "src/zerospace/mercenary/valkaru/hero/mondar.ts";
constructor() {
super();
this.hexiteCost = 220;
this.fluxCost = 0;
this.internalId = "Troop_MPHero_Mondar_C";
this.internalPath = "/Game/Nova/Archetypes_Heroes/Troop_MPHero_Mondar.Default__Troop_MPHero_Mondar_C";
this.internalTags = [
"Attackable.Unit.Hero",
"Logic.SpawnAtOldestSpawner",
"Attackable.Biological",
"Logic.NoVeterancy",
"Local.Valkaru",
];
this.internalSecondaryTags = ["Infantry"];
this.buildCount = 1;
this.rebuildable = true;
this.rebuildTime = 60;
this.name = "Mondar";
this.description = "Mondar and Torq can pass each other their hammer, and become enraged when the other dies.";
this.buildTime = 5;
this.hotkey = "";
this.uuid = "e8c1002e-8d5f-49d2-9e38-5f9a44059f3b";
this.shortName = "Mondar";
this.hp = 280;
this.shields = 0;
this.armorType = "hero";
this.speed = 600;
this.stunResist = 60;
this.supply = 5; // paired hero: spawns with its partner, 5 each
this.vision = 1800;
this.turnSpeed = 6000;
this.pushability = 0.1;
this.spawnsWith = { id: "mercenary/valkaru/hero/torq", name: "Torq", primary: true };
// Mondar is the brother holding the hammer, so he carries the melee attack and the throw.
// Torq holds the gun. Throwing the hammer swaps which of them has which.
this.attacks.brothersFury = new Attack({
internalId: "Default__Weapon_MondarTorq_Melee_C",
name: "Brother's Fury",
damage: 12,
cooldown: 1.2,
range: 150,
targets: ["ground"],
delay: 0.12,
chain: { additionalTargets: 3, falloff: 1 / 3 },
parentId: this.id,
parentUUID: this.uuid,
});
this.spells.hammerThrow = new Spell({
name: "Hammer Throw",
cooldown: 4.9,
targets: ["ground"],
description:
"Throw the hammer to the other hero. Hammer damages enemy units on its path for 20 damage. \nEach hit increases the attack speed of the hero with the hammer by 8% (up to 80%). Lasts 5 seconds.",
parentId: this.id,
parentUUID: this.uuid,
});
// Hammer Catch is the receiving half of Hammer Throw and isn't a separate ability in game.
// this.spells.hammerCatch = new Spell({ ... });
}
}
export default Mondar;