@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
93 lines • 2.62 kB
JavaScript
/**
* Arandi Classes - Mercenary faction classes
* Arandi are an ancient interdimensional empire with mastery over time and space
* As a merc faction, they have: few talents, few units, single building, single hero, single topbar
*/
import { FactionTalent, Topbar } from "../engine/ability.js";
import { MercenaryOutpostBuilding, SpecialBuilding } from "../engine/building.js";
import { MercFaction } from "../engine/faction.js";
import { HeroUnit, MercUnit } from "../engine/unit.js";
/**
* Arandi-specific talent that automatically sets abilityOf to "arandi"
*/
export class ArandiTalent extends FactionTalent {
get type() {
return "ability";
}
get abilityOf() {
return "arandi";
}
constructor(props) {
super(props);
this.faction = "arandi";
this.factionName = "Arandi";
}
}
/**
* Arandi-specific topbar that automatically sets abilityOf to "arandi"
*/
export class ArandiTopbar extends Topbar {
get abilityOf() {
return "arandi";
}
constructor() {
super();
}
}
/**
* Arandi faction class extending MercenaryFaction
*/
export class ArandiFaction extends MercFaction {
constructor() {
super();
// Set faction properties
this.faction = "arandi";
this.factionName = "Arandi";
// Arandi are an ancient interdimensional empire
}
}
/**
* Arandi merc unit class - interdimensional warriors with temporal abilities
*/
export class ArandiMercUnit extends MercUnit {
constructor() {
super();
this.faction = "arandi";
this.factionName = "Arandi";
// Arandi units are mercenary units with advanced technology
}
}
/**
* Arandi hero unit class - TriArch leaders with cosmic powers
*/
export class ArandiHeroUnit extends HeroUnit {
constructor() {
super();
this.faction = "arandi";
this.factionName = "Arandi";
// Arandi heroes are TriArch leaders with interdimensional mastery
}
}
/**
* Arandi special building class - merc outpost
*/
export class ArandiSpecialBuilding extends SpecialBuilding {
constructor() {
super();
this.faction = "arandi";
this.factionName = "Arandi";
// Arandi special buildings are merc outposts
}
}
/**
* Arandi mercenary outpost building class
*/
export class ArandiMercOutpost extends MercenaryOutpostBuilding {
constructor() {
super();
this.faction = "arandi";
this.factionName = "Arandi";
// Arandi merc outpost with interdimensional technology
}
}
//# sourceMappingURL=arandi.js.map