@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
264 lines • 8.99 kB
JavaScript
"use strict";
/**
* Legion Classes - Gold Standard Architecture
* Class definitions for the religious warrior faction devoted to Idal
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.LegionUltimateBuilding = exports.LegionSpecialBuilding = exports.LegionExtractorBuilding = exports.LegionTechBuilding = exports.LegionProductionBuilding = exports.LegionSupplyBuilding = exports.LegionBaseBuilding = exports.LegionUltimateUnit = exports.LegionSpecialUnit = exports.LegionHarvesterUnit = exports.LegionBuilderUnit = exports.LegionHeroUnit = exports.LegionArmyUnit = exports.LegionFaction = exports.LegionTopbar = exports.LegionTalent = void 0;
const ability_js_1 = require("../engine/ability.cjs");
const building_js_1 = require("../engine/building.cjs");
const faction_js_1 = require("../engine/faction.cjs");
const unit_js_1 = require("../engine/unit.cjs");
/**
* Legion-specific talent that automatically sets abilityOf to "legion"
*/
class LegionTalent extends ability_js_1.FactionTalent {
get type() {
return "ability";
}
constructor(props) {
super(props);
this.factionName = "Legion";
}
get abilityOf() {
return "legion";
}
}
exports.LegionTalent = LegionTalent;
LegionTalent.src = "src/zerospace/faction/legion-classes.ts";
/**
* Legion-specific topbar that automatically sets abilityOf to "legion"
*/
class LegionTopbar extends ability_js_1.Topbar {
get type() {
return "ability";
}
constructor(props) {
super(props);
this.description = "";
}
get abilityOf() {
return "legion";
}
}
exports.LegionTopbar = LegionTopbar;
LegionTopbar.src = "src/zerospace/faction/legion-classes.ts";
/**
* Legion faction class extending Faction - Gold Standard
*/
class LegionFaction extends faction_js_1.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
}
}
exports.LegionFaction = LegionFaction;
LegionFaction.src = "src/zerospace/faction/legion-classes.ts";
/**
* Base Legion army unit class - religious warriors - Gold Standard
*/
class LegionArmyUnit extends unit_js_1.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
}
}
exports.LegionArmyUnit = LegionArmyUnit;
LegionArmyUnit.src = "src/zerospace/faction/legion-classes.ts";
/**
* Legion hero unit class - legendary champions blessed by Idal - Gold Standard
*/
class LegionHeroUnit extends unit_js_1.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
}
}
exports.LegionHeroUnit = LegionHeroUnit;
LegionHeroUnit.src = "src/zerospace/faction/legion-classes.ts";
/**
* Legion builder unit class - sacred construction workers - Gold Standard
*/
class LegionBuilderUnit extends unit_js_1.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
}
}
exports.LegionBuilderUnit = LegionBuilderUnit;
LegionBuilderUnit.src = "src/zerospace/faction/legion-classes.ts";
/**
* Legion harvester unit class - resource gatherers - Gold Standard
*/
class LegionHarvesterUnit extends unit_js_1.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
}
}
exports.LegionHarvesterUnit = LegionHarvesterUnit;
LegionHarvesterUnit.src = "src/zerospace/faction/legion-classes.ts";
/**
* Legion special unit class - unique specialized units - Gold Standard
*/
class LegionSpecialUnit extends unit_js_1.SpecialUnit {
constructor() {
super();
this.faction = "legion";
this.factionName = "Legion";
// Common special unit properties
this.armorType = "medium";
this.speed = 450; // Specialized units have varied mobility
}
}
exports.LegionSpecialUnit = LegionSpecialUnit;
LegionSpecialUnit.src = "src/zerospace/faction/legion-classes.ts";
/**
* Legion ultimate unit class - most powerful units - Gold Standard
*/
class LegionUltimateUnit extends unit_js_1.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
}
}
exports.LegionUltimateUnit = LegionUltimateUnit;
LegionUltimateUnit.src = "src/zerospace/faction/legion-classes.ts";
/**
* Legion base building class - research stations - Gold Standard
*/
class LegionBaseBuilding extends building_js_1.BaseBuilding {
constructor() {
super();
this.faction = "legion";
this.factionName = "Legion";
// Common base building properties
this.hp = 2000;
this.armor = 2;
}
}
exports.LegionBaseBuilding = LegionBaseBuilding;
LegionBaseBuilding.src = "src/zerospace/faction/legion-classes.ts";
/**
* Legion supply building class - population support - Gold Standard
*/
class LegionSupplyBuilding extends building_js_1.SupplyBuilding {
constructor() {
super();
this.faction = "legion";
this.factionName = "Legion";
// Common supply building properties
this.hp = 500;
this.armor = 1;
}
}
exports.LegionSupplyBuilding = LegionSupplyBuilding;
LegionSupplyBuilding.src = "src/zerospace/faction/legion-classes.ts";
/**
* Legion production building class - unit creation - Gold Standard
*/
class LegionProductionBuilding extends building_js_1.ProductionBuilding {
constructor() {
super();
this.faction = "legion";
this.factionName = "Legion";
// Common production building properties
this.hp = 1500;
this.armor = 1;
}
}
exports.LegionProductionBuilding = LegionProductionBuilding;
LegionProductionBuilding.src = "src/zerospace/faction/legion-classes.ts";
/**
* Legion tech building class - research and upgrades - Gold Standard
*/
class LegionTechBuilding extends building_js_1.TechBuilding {
constructor() {
super();
this.faction = "legion";
this.factionName = "Legion";
// Common tech building properties
this.hp = 1200;
this.armor = 1;
}
}
exports.LegionTechBuilding = LegionTechBuilding;
LegionTechBuilding.src = "src/zerospace/faction/legion-classes.ts";
/**
* Legion extractor building class - resource extraction - Gold Standard
*/
class LegionExtractorBuilding extends building_js_1.ExtractorBuilding {
constructor() {
super();
this.faction = "legion";
this.factionName = "Legion";
// Common extractor building properties
this.hp = 1000;
this.armor = 1;
}
}
exports.LegionExtractorBuilding = LegionExtractorBuilding;
LegionExtractorBuilding.src = "src/zerospace/faction/legion-classes.ts";
/**
* Legion special building class - unique structures - Gold Standard
*/
class LegionSpecialBuilding extends building_js_1.SpecialBuilding {
constructor() {
super();
this.faction = "legion";
this.factionName = "Legion";
// Common special building properties
this.hp = 1300;
this.armor = 1;
}
}
exports.LegionSpecialBuilding = LegionSpecialBuilding;
LegionSpecialBuilding.src = "src/zerospace/faction/legion-classes.ts";
/**
* Legion ultimate building class - most powerful structures - Gold Standard
*/
class LegionUltimateBuilding extends building_js_1.UltimateBuilding {
constructor() {
super();
this.faction = "legion";
this.factionName = "Legion";
// Common ultimate building properties
this.hp = 2500;
this.armor = 2;
}
}
exports.LegionUltimateBuilding = LegionUltimateBuilding;
LegionUltimateBuilding.src = "src/zerospace/faction/legion-classes.ts";
//# sourceMappingURL=legion.js.map