@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
90 lines • 3.92 kB
JavaScript
"use strict";
/**
* Mondar - Twin warrior who starts with the precision gun (ranged air/ground support)
* Spawns together with Torq, switches roles when hammer is received
* Part of the legendary Valkaru twin hero duo that embodies coordinated destruction
*/
Object.defineProperty(exports, "__esModule", { value: true });
const valkaru_js_1 = require("../../../../defaults/valkaru.cjs");
const ability_js_1 = require("../../../../engine/ability.cjs");
class Mondar extends valkaru_js_1.ValkaruHeroUnit {
constructor() {
super();
// Auto-generated fixes from dev data comparison
this.hexiteCost = 220;
this.fluxCost = 0;
// speed is set later in the mutable properties section
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",
];
this.internalSecondaryTags = ["Infantry"];
this.hexiteCost = 0;
this.fluxCost = 0;
this.buildCount = 1;
this.rebuildable = true;
this.rebuildTime = 60;
this.name = "Mondar";
this.hotkey = "";
this.uuid = "e8c1002e-8d5f-49d2-9e38-5f9a44059f3b";
// Mutable properties (can be modified by upgrades)
this.shortName = "Mondar";
this.hp = 280;
this.shields = 0;
this.armorType = "medium";
this.speed = 600;
this.supply = 5; // Half of the original 10 supply (shared with Torq)
this.vision = 1800;
this.turnSpeed = 6000;
this.pushability = 0.1;
// Relationships
this.createdBy = ["mercenary/valkaru/building/valkaru-merc-outpost"];
this.unlockedBy = ["mercenary/valkaru/building/valkaru-merc-outpost"];
// Precision Gun attack - starts with this (replaced with AoE shock trooper attack)
this.attacks.precisionGun = new ability_js_1.Attack({
name: "Precision Gun",
damage: 25,
cooldown: 2.0,
cooldownBetweenShots: 2.0,
armorPenetration: 0,
delay: 0.8, // projectile travel time - allows dodging
range: 1000,
targets: ["ground"],
splash: { multiplier: 0.5, range: 200 }, // AoE damage
description: "Shock trooper area of effect attack at target location. Can be dodged by moving units. Deals significant AoE damage where projectile lands.",
parentId: this.id,
parentUUID: this.uuid,
});
// Electrifying Hammer attack - gets this when hammer is caught from Torq
this.attacks.electrifyingHammer = new ability_js_1.Attack({
name: "Electrifying Hammer",
damage: 10,
cooldown: 1.2,
range: 150,
targets: ["ground"],
description: "Devastating melee strikes with mystical hammer that channels chain lightning between multiple enemies",
parentId: this.id,
parentUUID: this.uuid,
});
// Hammer Catch ability - receives hammer from Torq (passive/reactive ability)
this.spells.hammerCatch = new ability_js_1.Spell({
name: "Hammer Catch",
hotkey: "",
energyCost: 0,
cooldown: 0,
range: 0,
targets: [],
description: "Automatically catches the electrifying hammer when thrown by Torq, gaining enhanced melee combat capabilities and increased attack speed",
parentId: this.id,
parentUUID: this.uuid,
});
}
}
// Static property for source path
Mondar.src = "src/zerospace/mercenary/valkaru/hero/mondar.ts";
exports.default = Mondar;
//# sourceMappingURL=mondar.js.map