@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
97 lines (96 loc) • 4.39 kB
JavaScript
/**
* 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