UNPKG

@zerospacegg/iolin

Version:

Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)

77 lines 2.99 kB
"use strict"; /** * Arandi Mercenary Faction * Ancient interdimensional empire with mastery over time and space * * Mercenary faction structure: * - Few talents (2) * - Few units (6) * - Single building (merc outpost) * - Single hero (TriArch I'Olin) * - Multiple topbars (2) */ Object.defineProperty(exports, "__esModule", { value: true }); exports.Arandi = void 0; const arandi_js_1 = require("../../defaults/arandi.cjs"); // Create concrete Oathguard topbar class class OathguardTopbar extends arandi_js_1.ArandiTopbar { get type() { return "ability"; } constructor() { super(); this.description = "The Arandi Mothership sends four Arandi Oathguard from the Mothership to the location. The Oathguards heal allies but cannot be controlled. 45s duration."; this.name = "Call in the Oathguard"; this.energyCost = 20; this.cooldown = 45; this.slot = 6; this.uuid = "6d6570df-cff5-4ccb-a762-9b6d9ad6d29c"; } } // Create concrete Arandi faction class class Arandi extends arandi_js_1.ArandiFaction { constructor() { super(); this.name = "Arandi"; this.uuid = "05471fa8-936f-457d-882f-17d6124eb28f"; // Mercenary faction settings this.mercHeroesAllowed = true; // Set talents using Marran-style factory pattern this.talents.freeHarvester = new arandi_js_1.ArandiTalent({ uuid: "23395595-d5e8-41c3-8601-b1ce6bd86864", name: "Free Harvester", level: 2, description: "+1 Harvester. +15% Flux Income", }); this.talents.castingRange = new arandi_js_1.ArandiTalent({ uuid: "b7637344-0567-4f67-94cc-6e9270dc73bf", name: "Casting Range", level: 4, description: "+25% Casting Range & -30% Ability Cooldown", }); this.talents.mothership = new arandi_js_1.ArandiTalent({ uuid: "f8e7d6c5-b4a3-9281-7654-3210fedcba98", name: "Mothership", level: 6, description: "Mothership speed increased by 50%. Abduct cooldown reduced from 120s to 15s. Top Bar summons no longer have timed life. Unlocks Judgment and immediately spawns 2 Judgment", }); // Set topbars this.topbars.oathguard = new OathguardTopbar(); // Initialize units list this.units = [ "mercenary/arandi/unit/arandi-horned-mech", "mercenary/arandi/unit/arandi-nullseer", "mercenary/arandi/unit/arandi-oathguard", "mercenary/arandi/unit/arandi-phoenix-guard", "mercenary/arandi/unit/arandi-shade", "mercenary/arandi/unit/arandi-time-warper", "mercenary/arandi/unit/arandi-judgment", ]; } } exports.Arandi = Arandi; // Static property for source path Arandi.src = "src/zerospace/mercenary/arandi.ts"; // Export the class as default exports.default = Arandi; //# sourceMappingURL=arandi.js.map