UNPKG

@zerospacegg/iolin

Version:

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

245 lines 7.76 kB
/** * Legion Classes - Gold Standard Architecture * Class definitions for the religious warrior faction devoted to Idal */ import { FactionTalent, Topbar } from "../engine/ability.js"; import { BaseBuilding, ExtractorBuilding, ProductionBuilding, SpecialBuilding, SupplyBuilding, TechBuilding, UltimateBuilding, } from "../engine/building.js"; import { MainFaction } from "../engine/faction.js"; import { ArmyUnit, BuilderUnit, HarvesterUnit, HeroUnit, SpecialUnit, UltimateUnit } from "../engine/unit.js"; /** * Legion-specific talent that automatically sets abilityOf to "legion" */ export class LegionTalent extends FactionTalent { get type() { return "ability"; } constructor(props) { super(props); this.factionName = "Legion"; } get abilityOf() { return "legion"; } } LegionTalent.src = "src/zerospace/faction/legion-classes.ts"; /** * Legion-specific topbar that automatically sets abilityOf to "legion" */ export class LegionTopbar extends Topbar { get type() { return "ability"; } constructor(props) { super(props); this.description = ""; } get abilityOf() { return "legion"; } } LegionTopbar.src = "src/zerospace/faction/legion-classes.ts"; /** * Legion faction class extending Faction - Gold Standard */ export class LegionFaction extends MainFaction { get type() { return "faction"; } constructor() { super(); this.uuid = "legion-faction-uuid"; this.faction = "legion"; this.factionName = "Legion"; // Legion faction lore - religious warriors devoted to Idal } } LegionFaction.src = "src/zerospace/faction/legion-classes.ts"; /** * Base Legion army unit class - religious warriors - Gold Standard */ export class LegionArmyUnit extends ArmyUnit { constructor() { super(); this.faction = "legion"; this.factionName = "Legion"; // Common Legion unit properties - enhanced by divine blessing this.armorType = "light"; this.speed = 500; // Enhanced by religious fervor } } LegionArmyUnit.src = "src/zerospace/faction/legion-classes.ts"; /** * Legion hero unit class - legendary champions blessed by Idal - Gold Standard */ export class LegionHeroUnit extends HeroUnit { constructor() { super(); this.faction = "legion"; this.factionName = "Legion"; // Common Legion hero properties - divinely enhanced champions this.armorType = "medium"; this.speed = 500; // Heroes move with divine purpose this.supply = 0; // Heroes don't consume supply this.stunResist = 50; // Divine protection against disruption this.energy = 100; // Standard hero energy pool } } LegionHeroUnit.src = "src/zerospace/faction/legion-classes.ts"; /** * Legion builder unit class - sacred construction workers - Gold Standard */ export class LegionBuilderUnit extends BuilderUnit { constructor() { super(); this.faction = "legion"; this.factionName = "Legion"; // Common builder properties this.armorType = "light"; this.speed = 400; // Steady construction pace this.tier = "T1"; // Basic tier } } LegionBuilderUnit.src = "src/zerospace/faction/legion-classes.ts"; /** * Legion harvester unit class - resource gatherers - Gold Standard */ export class LegionHarvesterUnit extends HarvesterUnit { constructor() { super(); this.faction = "legion"; this.factionName = "Legion"; // Common harvester properties this.armorType = "light"; this.speed = 450; // Efficient resource gathering this.tier = "T1"; // Basic tier } } LegionHarvesterUnit.src = "src/zerospace/faction/legion-classes.ts"; /** * Legion special unit class - unique specialized units - Gold Standard */ export class LegionSpecialUnit extends SpecialUnit { constructor() { super(); this.faction = "legion"; this.factionName = "Legion"; // Common special unit properties this.armorType = "medium"; this.speed = 450; // Specialized units have varied mobility } } LegionSpecialUnit.src = "src/zerospace/faction/legion-classes.ts"; /** * Legion ultimate unit class - most powerful units - Gold Standard */ export class LegionUltimateUnit extends UltimateUnit { constructor() { super(); this.faction = "legion"; this.factionName = "Legion"; // Common ultimate unit properties this.armorType = "heavy"; this.speed = 350; // Ultimate units are slower but powerful this.tier = "T3"; // Ultimate units are high tier } } LegionUltimateUnit.src = "src/zerospace/faction/legion-classes.ts"; /** * Legion base building class - research stations - Gold Standard */ export class LegionBaseBuilding extends BaseBuilding { constructor() { super(); this.faction = "legion"; this.factionName = "Legion"; // Common base building properties this.hp = 2000; this.armor = 2; } } LegionBaseBuilding.src = "src/zerospace/faction/legion-classes.ts"; /** * Legion supply building class - population support - Gold Standard */ export class LegionSupplyBuilding extends SupplyBuilding { constructor() { super(); this.faction = "legion"; this.factionName = "Legion"; // Common supply building properties this.hp = 500; this.armor = 1; } } LegionSupplyBuilding.src = "src/zerospace/faction/legion-classes.ts"; /** * Legion production building class - unit creation - Gold Standard */ export class LegionProductionBuilding extends ProductionBuilding { constructor() { super(); this.faction = "legion"; this.factionName = "Legion"; // Common production building properties this.hp = 1500; this.armor = 1; } } LegionProductionBuilding.src = "src/zerospace/faction/legion-classes.ts"; /** * Legion tech building class - research and upgrades - Gold Standard */ export class LegionTechBuilding extends TechBuilding { constructor() { super(); this.faction = "legion"; this.factionName = "Legion"; // Common tech building properties this.hp = 1200; this.armor = 1; } } LegionTechBuilding.src = "src/zerospace/faction/legion-classes.ts"; /** * Legion extractor building class - resource extraction - Gold Standard */ export class LegionExtractorBuilding extends ExtractorBuilding { constructor() { super(); this.faction = "legion"; this.factionName = "Legion"; // Common extractor building properties this.hp = 1000; this.armor = 1; } } LegionExtractorBuilding.src = "src/zerospace/faction/legion-classes.ts"; /** * Legion special building class - unique structures - Gold Standard */ export class LegionSpecialBuilding extends SpecialBuilding { constructor() { super(); this.faction = "legion"; this.factionName = "Legion"; // Common special building properties this.hp = 1300; this.armor = 1; } } LegionSpecialBuilding.src = "src/zerospace/faction/legion-classes.ts"; /** * Legion ultimate building class - most powerful structures - Gold Standard */ export class LegionUltimateBuilding extends UltimateBuilding { constructor() { super(); this.faction = "legion"; this.factionName = "Legion"; // Common ultimate building properties this.hp = 2500; this.armor = 2; } } LegionUltimateBuilding.src = "src/zerospace/faction/legion-classes.ts"; //# sourceMappingURL=legion.js.map