@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
90 lines • 2.62 kB
JavaScript
;
/**
* Chakru Classes - Mercenary faction classes
* Cha'Kru Kingdom are masters of blood magic and biotechnology, worshipping the mythic Leviathan
* As a merc faction, they have: few talents, few units, temple buildings, no hero, multiple topbars
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.ChakruTemple = exports.ChakruMercUnit = exports.ChakruFaction = exports.ChakruTopbar = exports.ChakruTalent = 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");
/**
* Chakru-specific talent that automatically sets abilityOf to "chakru"
*/
class ChakruTalent extends ability_js_1.FactionTalent {
get type() {
return "ability";
}
constructor(props) {
super(props);
this.faction = "chakru";
this.factionName = "Cha'Kru Kingdom";
}
get abilityOf() {
return "chakru";
}
}
exports.ChakruTalent = ChakruTalent;
/**
* Chakru-specific topbar that automatically sets abilityOf to "chakru"
*/
class ChakruTopbar extends ability_js_1.Topbar {
get type() {
return "ability";
}
get abilityOf() {
return "chakru";
}
get faction() {
return "chakru";
}
get factionName() {
return "Cha'Kru Kingdom";
}
constructor(props) {
super(props);
this.description = "";
}
}
exports.ChakruTopbar = ChakruTopbar;
/**
* Chakru faction class extending MercenaryFaction
*/
class ChakruFaction extends faction_js_1.MercFaction {
constructor() {
super();
// Set faction properties
this.faction = "chakru";
this.factionName = "Cha'Kru Kingdom";
// Chakru are masters of blood magic and biotechnology
}
}
exports.ChakruFaction = ChakruFaction;
/**
* Chakru merc unit class - blood magic warriors and colossal crabs
*/
class ChakruMercUnit extends unit_js_1.MercUnit {
constructor() {
super();
this.faction = "chakru";
this.factionName = "Cha'Kru Kingdom";
}
}
exports.ChakruMercUnit = ChakruMercUnit;
/**
* Chakru temple building class - sacred temples drawing power from earth and water
*/
class ChakruTemple extends building_js_1.SpecialBuilding {
constructor() {
super();
this.faction = "chakru";
this.factionName = "Cha'Kru Kingdom";
}
get buildingType() {
return "merc-outpost";
}
}
exports.ChakruTemple = ChakruTemple;
//# sourceMappingURL=chakru.js.map