UNPKG

@zerospacegg/iolin

Version:

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

104 lines 3.06 kB
/** * Marran Mercenary Faction Classes - Gold Standard Architecture * Class definitions for the alien defensive sniper faction */ import { FactionTalent, Topbar } from "../../engine/ability.js"; import { Building } from "../../engine/building.js"; import { MercFaction } from "../../engine/faction.js"; import { Unit } from "../../engine/unit.js"; /** * Marran-specific talent that automatically sets abilityOf to "marran" */ export class MarranTalent extends FactionTalent { constructor(props) { super(props); this.uuid = ""; this.name = ""; this.factionName = "Marran"; } get abilityOf() { return "marran"; } } /** * Marran Topbar class with faction-specific settings */ export class MarranTopbar extends Topbar { constructor(props) { super(props); this.description = ""; } get abilityOf() { return "marran"; } get faction() { return "marran"; } get factionName() { return "Marran"; } get subtype() { return "topbar"; } } /** * Marran faction class extending Faction - Gold Standard */ export class MarranFaction extends MercFaction { constructor() { super(); this.faction = MarranFaction.factionSlug; this.factionName = MarranFaction.factionName; // Marran are alien master snipers with defensive philosophy } } MarranFaction.factionSlug = "marran"; MarranFaction.factionName = "Marran"; /** * Base Marran merc unit class - alien defensive specialists - Gold Standard */ export class MarranMercUnit extends Unit { constructor() { super(); // Readonly properties that all Marran units share this.unitType = "merc"; // Common Marran unit properties - emphasis on shields and precision this.armorType = "medium"; this.speed = 450; // Default balanced speed this.faction = "marran"; this.factionName = "Marran"; } } /** * Marran hero unit class - legendary defensive commanders - Gold Standard */ export class MarranHeroUnit extends Unit { constructor() { super(); // Readonly properties that all Marran heroes share this.unitType = "hero"; // Common Marran hero properties - superior defensive capabilities this.armorType = "heavy"; this.speed = 500; // Heroes are faster this.tier = "T2"; // Heroes start at T2 this.faction = "marran"; this.factionName = "Marran"; } } /** * Marran outpost building class - alien defensive installations - Gold Standard */ export class MarranMercOutpost extends Building { constructor() { super(); // Readonly properties this.buildingType = "merc-outpost"; // Common Marran building properties - mobile fortress concept this.hp = 1200; this.armor = 1; this.speed = 250; // Mobile outpost capability this.faction = "marran"; this.factionName = "Marran"; } } //# sourceMappingURL=marran-classes.js.map