@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
116 lines • 3.3 kB
JavaScript
;
/**
* Valkaru Classes - Mercenary faction classes
* Valkaru are a pro-war species that has elevated internal conflict to an art form
* As a merc faction, they have: talents, units, single building, twin hero, topbar
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.ValkaruMercOutpost = exports.ValkaruHeroUnit = exports.ValkaruMercUnit = exports.ValkaruFaction = exports.ValkaruTopbar = exports.ValkaruTalent = 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");
/**
* Valkaru-specific talent that automatically sets abilityOf to "valkaru"
*/
class ValkaruTalent extends ability_js_1.FactionTalent {
get type() {
return "ability";
}
constructor(props) {
super(props);
this.faction = "valkaru";
this.factionName = "Valkaru";
}
get abilityOf() {
return "valkaru";
}
}
exports.ValkaruTalent = ValkaruTalent;
/**
* Valkaru-specific topbar that automatically sets abilityOf to "valkaru"
*/
class ValkaruTopbar extends ability_js_1.Topbar {
get type() {
return "ability";
}
get abilityOf() {
return "valkaru";
}
constructor() {
super();
}
}
exports.ValkaruTopbar = ValkaruTopbar;
/**
* Valkaru faction class extending MercenaryFaction
*/
class ValkaruFaction extends faction_js_1.MercFaction {
get type() {
return "faction";
}
constructor() {
super();
this.faction = ValkaruFaction.factionSlug;
this.factionName = ValkaruFaction.factionName;
// Valkaru are a pro-war species that has elevated internal conflict to an art form
}
}
exports.ValkaruFaction = ValkaruFaction;
ValkaruFaction.factionSlug = "valkaru";
ValkaruFaction.factionName = "Valkaru";
/**
* Valkaru merc unit class - high-tech warriors and war beasts
*/
class ValkaruMercUnit extends unit_js_1.MercUnit {
get type() {
return "unit";
}
get unitType() {
return "merc";
}
constructor() {
super();
this.faction = "valkaru";
this.factionName = "Valkaru";
// Valkaru units are high-tech warriors and war beasts
}
}
exports.ValkaruMercUnit = ValkaruMercUnit;
/**
* Valkaru hero unit class - legendary twin warriors
*/
class ValkaruHeroUnit extends unit_js_1.HeroUnit {
get type() {
return "unit";
}
get unitType() {
return "hero";
}
constructor() {
super();
this.faction = "valkaru";
this.factionName = "Valkaru";
// Valkaru heroes are legendary twin warriors
}
}
exports.ValkaruHeroUnit = ValkaruHeroUnit;
/**
* Valkaru mercenary outpost building class
*/
class ValkaruMercOutpost extends building_js_1.SpecialBuilding {
get buildingType() {
return "merc-outpost";
}
constructor() {
super();
this.faction = "valkaru";
this.factionName = "Valkaru";
// Valkaru merc outpost with advanced military technology
}
get subtype() {
return this.buildingType;
}
}
exports.ValkaruMercOutpost = ValkaruMercOutpost;
//# sourceMappingURL=valkaru.js.map