@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
91 lines • 3.91 kB
JavaScript
"use strict";
/**
* Torq - Twin warrior who starts with the electrifying hammer (melee + chain lightning)
* Spawns together with Mondar, switches roles when hammer is thrown
* 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 Torq extends valkaru_js_1.ValkaruHeroUnit {
constructor() {
super();
this.hexiteCost = 220;
this.fluxCost = 0;
this.internalId = "Troop_MPHero_Torq_C";
this.internalPath = "/Game/Nova/Archetypes_Heroes/Troop_MPHero_Torq.Default__Troop_MPHero_Torq_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 = "Torq";
this.hotkey = "";
this.uuid = "e6c09532-7487-4fd6-b3d4-ec99d92caee5";
// Mutable properties (can be modified by upgrades)
this.shortName = "Torq";
this.hp = 280;
this.shields = 0;
this.armor = 0;
this.armorType = "medium";
this.speed = 600;
this.vision = 1800;
this.turnSpeed = 6000;
this.supply = 5; // Half of the original 10 supply (shared with Mondar)
this.pushability = 0.1;
// Relationships
this.createdBy = ["mercenary/valkaru/building/valkaru-merc-outpost"];
this.unlockedBy = ["mercenary/valkaru/building/valkaru-merc-outpost"];
// Electrifying Hammer attack - starts with this (melee + chain lightning)
this.attacks.electrifyingHammer = new ability_js_1.Attack({
name: "Electrifying Hammer",
damage: 10,
cooldown: 1.2,
cooldownBetweenShots: 1.2,
range: 150,
targets: ["ground"],
armorPenetration: 0,
delay: 0.12,
description: "Devastating melee strikes with mystical hammer that channels chain lightning between multiple enemies",
parentId: this.id,
parentUUID: this.uuid,
});
// Precision Gun attack - gets this when hammer is thrown away (replaced with AoE shock trooper attack)
this.attacks.precisionGun = new ability_js_1.Attack({
name: "Precision Gun",
damage: 25,
cooldown: 2.0,
range: 1000,
targets: ["ground"],
delay: 0.8, // projectile travel time - allows dodging
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,
});
// Hammer Throw spell - signature ability that switches roles with Mondar
this.spells.hammerThrow = new ability_js_1.Spell({
name: "Hammer Throw",
hotkey: "Q",
energyCost: 0,
cooldown: 6,
range: 1500,
damage: 60,
targets: ["ground"],
description: "Throw the electrifying hammer to Mondar. The hammer damages enemies for 60 damage on its path, and each hit increases the hammer wielder's attack speed by up to 10%",
parentId: this.id,
parentUUID: this.uuid,
});
}
}
// Static property for source path
Torq.src = "src/zerospace/mercenary/valkaru/hero/torq.ts";
exports.default = Torq;
//# sourceMappingURL=torq.js.map