UNPKG

@zerospacegg/iolin

Version:

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

97 lines (96 loc) 4.39 kB
/** * Marran Mercenary Faction * Alien master snipers with defensive philosophy - precision over brute force * * Mercenary faction structure: * - Two talents (Wisdom, Advanced Weaponry) * - Four units (Hover Tank, Sharpshooter, Badger, Halo Tank) * - One outpost building (Merc Outpost) * - One hero (Hel) * - One topbar (Pulse Barrage) */ import { MarranFaction, MarranTalent, MarranTopbar } from "./marran-classes.js"; // Import Marran hero import hel from "./marran/hero/hel.js"; // Import Marran units import MarranBadger from "./marran/unit/marran-badger.js"; import MarranHaloTank from "./marran/unit/marran-halo-tank.js"; import MarranHoverTank from "./marran/unit/marran-hover-tank.js"; import MarranSharpshooter from "./marran/unit/marran-sharpshooter.js"; // Import Marran buildings import MarranMercOutpost from "./marran/building/marran-merc-outpost.js"; // Talents will be created using Grell-style factory pattern in constructor class PulseBarrageTopbar extends MarranTopbar { constructor() { super(); this.description = "Fire a barrage to targetted location. Enemy units take damage and are slowed. 938 total damage in 14 shots, 67 dmg each."; this.name = "Pulse Barrage"; this.description = "Fire a barrage to targetted location. Enemy units take damage and are slowed. 938 total damage in 14 shots, 67 dmg each."; this.uuid = "D98C11C6-24BC-4693-864A-426A70323BE1"; this.name = "Marran"; this.uuid = "4b2e0e85-f876-4588-9b07-f0c55e74b104"; this.topbarType = "special"; this.slot = 5; this.energyCost = 15; this.cooldown = 60; } } // Create Marran faction topbars export const pulseBarrage = new PulseBarrageTopbar(); // Create concrete Marran faction class export class Marran extends MarranFaction { constructor() { super(); this.uuid = "8f4b2e1d-9c7a-4f3e-b8d6-2a5c9e7f1b4d"; this.name = "Marran"; // Mercenary faction settings this.mercHeroesAllowed = true; // Set talents using Grell-style factory pattern this.talents.wisdom = new MarranTalent({ uuid: "d203d42c-2e1c-49ca-9d04-da36b580627d", name: "Wisdom", level: 2, description: "+50% XP Gain", }); this.talents.combatEnhancement = new MarranTalent({ uuid: "1f2e3d4c-5b6a-7980-8e7d-6c5b4a392817", name: "Combat Enhancement", level: 4, description: "+15% attack speed and 20% max HP as shields", }); this.talents.upgradeMothership = new MarranTalent({ uuid: "2a3b4c5d-6e7f-8091-2a3b-4c5d6e7f8091", name: "Upgrade Mothership", level: 6, description: "Mothership speed increased by 50%. Mothership generates shields on nearby damaged units", }); // Set topbars this.topbars.pulseBarrage = pulseBarrage; // Set hero this.heroes = [hel.id]; // Set units this.units = [ MarranHoverTank.id, // T1 fast mobile platform with shield superiority MarranSharpshooter.id, // T1 precision sniper with firing position MarranBadger.id, // T2 heavy defensive unit with anti-air MarranHaloTank.id, // T3 elite fortress with laser ability ]; // Set outpost buildings this.buildings = [MarranMercOutpost.id]; this.description = ` Alien master snipers who have perfected the art of defensive warfare through wisdom and patience. The Marran excel at long-range precision combat, shield technology, and tactical evolution through accelerated learning. Their advanced weaponry provides superior range and attack speed, while their wisdom grants enhanced experience gain. Operating with pulse barrage support, they create impenetrable defensive positions where precision overcomes brute force, making them invaluable guardians and nearly unstoppable when defending their chosen territories. `; } } // Static property for source path Marran.src = "src/zerospace/mercenary/marran.ts"; // Export the faction as default export default Marran; // Named exports for all faction contents export { // Units MarranBadger, MarranHaloTank, MarranHoverTank, // Buildings MarranMercOutpost, MarranSharpshooter, }; //# sourceMappingURL=marran.js.map