@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
89 lines • 4.42 kB
JavaScript
"use strict";
/**
* Valkaru Mercenary Faction
* Pro-war species that has elevated internal conflict to an art form
*
* Mercenary faction structure:
* - Two talents (Merc Cooldown, Heavy Plating)
* - Five units (Beast, Flame Walker, Hound, Shock Trooper, Tow Bot)
* - One building (Valkaru Merc Outpost)
* - One twin hero (Torq & Mondar)
* - One beast summoning topbar
*/
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Mondar = exports.Valkaru = exports.summonValkaruBeast = void 0;
const valkaru_js_1 = require("../../defaults/valkaru.cjs");
const mondar_js_1 = __importDefault(require("./valkaru/hero/mondar.cjs"));
exports.Mondar = mondar_js_1.default;
// Import Valkaru twin heroes
// Import Valkaru units
// Import Valkaru buildings
// Talents will be created using Grell-style factory pattern in constructor
class SummonValkaruBeastTopbar extends valkaru_js_1.ValkaruTopbar {
constructor() {
super();
this.description = "Summons a valkaru beast";
this.name = "Valkaru Beast";
this.uuid = "3e35de25-a772-4bae-9118-cbaa610d676c";
this.topbarType = "special";
this.slot = 5;
this.energyCost = 20;
}
}
// Create Valkaru faction topbars
exports.summonValkaruBeast = new SummonValkaruBeastTopbar();
// Create concrete Valkaru faction class
class Valkaru extends valkaru_js_1.ValkaruFaction {
constructor() {
super();
this.uuid = "9a3f7e2b-8d5c-4f1a-9e6b-7c4d8f2a5b3e";
this.name = "Valkaru";
// Mercenary faction settings
this.mercHeroesAllowed = true;
// Set talents using Grell-style factory pattern
this.talents.mercCooldown = new valkaru_js_1.ValkaruTalent({
uuid: "1CC179BC-99A3-4925-B8BB-A376D8BF02F8",
name: "Merc Cooldown",
level: 2,
description: "+100% faster mercenary charges",
});
this.talents.heavyPlating = new valkaru_js_1.ValkaruTalent({
uuid: "13492853-757E-4A53-B4A1-8CB7F805F271",
name: "Heavy Plating",
level: 4,
description: "All units +1 Armor & +25% HP",
});
this.talents.valkaruRage = new valkaru_js_1.ValkaruTalent({
uuid: "4d5e6f7a-8b9c-0d1e-2f3a-4b5c6d7e8f9a",
name: "Valkaru Rage",
level: 6,
description: "When friendly unit dies within range 20: Valkaru units gain 15% attack speed. Valkaru beast gains pulverize (500 damage on attack-based energy cooldown)",
});
// Set topbars
this.topbars.summonValkaruBeast = exports.summonValkaruBeast;
// Set heroes - Torq & Mondar spawn as inseparable twin duo (PKL treats as single combined hero)
this.heroes = ["mercenary/valkaru/hero/torq"];
// Set units
this.units = [
"mercenary/valkaru/unit/valkaru-beast", // Massive bio-enhanced war beast
"mercenary/valkaru/unit/valkaru-flame-walker", // Fire-based assault trooper
"mercenary/valkaru/unit/valkaru-hound", // Fast scout and harassment specialist
"mercenary/valkaru/unit/valkaru-shock-trooper", // Elite heavy infantry with electrical weapons
"mercenary/valkaru/unit/valkaru-tow-bot", // Utility and support mechanical unit
];
// Set outpost buildings
this.buildings = ["mercenary/valkaru/building/valkaru-merc-outpost"];
this.description = `
Pro-war mercenary species that has elevated internal conflict to an art form. The Valkaru split into perpetually warring sides to test their strength, producing legendary warriors like the twin brothers Torq and Mondar who spawn together as an inseparable warrior duo. With their electrifying hammer passed between them, switching roles mid-battle between devastating melee and precision ranged combat. Their advanced military technology, accelerated construction, and bio-enhanced war beasts make them formidable mercenaries who view every conflict as an opportunity to grow stronger through combat.
`;
}
}
exports.Valkaru = Valkaru;
// Static property for source path
Valkaru.src = "src/zerospace/mercenary/valkaru.ts";
// Export the faction as default
exports.default = Valkaru;
//# sourceMappingURL=valkaru.js.map