UNPKG

@zerospacegg/iolin

Version:

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

82 lines 2.2 kB
/** * 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 */ import { FactionTalent, Topbar } from "../engine/ability.js"; import { SpecialBuilding } from "../engine/building.js"; import { MercFaction } from "../engine/faction.js"; import { MercUnit } from "../engine/unit.js"; /** * Chakru-specific talent that automatically sets abilityOf to "chakru" */ export class ChakruTalent extends FactionTalent { get type() { return "ability"; } constructor(props) { super(props); this.faction = "chakru"; this.factionName = "Cha'Kru Kingdom"; } get abilityOf() { return "chakru"; } } /** * Chakru-specific topbar that automatically sets abilityOf to "chakru" */ export class ChakruTopbar extends 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 = ""; } } /** * Chakru faction class extending MercenaryFaction */ export class ChakruFaction extends MercFaction { constructor() { super(); // Set faction properties this.faction = "chakru"; this.factionName = "Cha'Kru Kingdom"; // Chakru are masters of blood magic and biotechnology } } /** * Chakru merc unit class - blood magic warriors and colossal crabs */ export class ChakruMercUnit extends MercUnit { constructor() { super(); this.faction = "chakru"; this.factionName = "Cha'Kru Kingdom"; } } /** * Chakru temple building class - sacred temples drawing power from earth and water */ export class ChakruTemple extends SpecialBuilding { constructor() { super(); this.faction = "chakru"; this.factionName = "Cha'Kru Kingdom"; } get buildingType() { return "merc-outpost"; } } //# sourceMappingURL=chakru.js.map