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