@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
96 lines • 2.83 kB
JavaScript
/**
* Dread Raiders Classes - Mercenary faction classes
* Dread Raiders are ruthless space pirates and raiders who strike fear across the galaxy
* As a merc faction, they have: few talents, few units, outpost 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 { HeroUnit, MercUnit } from "../engine/unit.js";
/**
* Dread Raiders-specific talent that automatically sets abilityOf to "dread-raiders"
*/
export class DreadRaidersTalent extends FactionTalent {
get type() {
return "ability";
}
constructor(props) {
super(props);
this.faction = "dread";
this.factionName = "Dread Raiders";
}
get abilityOf() {
return "dread";
}
}
/**
* Dread Raiders-specific topbar that automatically sets abilityOf to "dread-raiders"
*/
export class DreadRaidersTopbar extends Topbar {
get type() {
return "ability";
}
get abilityOf() {
return "dread";
}
constructor() {
super();
}
}
/**
* Dread Raiders faction class extending MercenaryFaction
*/
export class DreadRaidersFaction extends MercFaction {
constructor() {
super();
// Set faction properties
this.faction = "dread";
this.factionName = "Dread Raiders";
// Dread Raiders are ruthless space pirates and raiders
}
}
/**
* Dread Raiders merc unit class - pirates, raiders, and scavengers
*/
export class DreadRaidersMercUnit extends MercUnit {
constructor() {
super();
this.faction = "dread";
this.factionName = "Dread Raiders";
// Dread Raiders units are hardened pirates and raiders
}
}
/**
* Dread Raiders hero unit class - enigmatic leaders with Robin Hood philosophy
*/
export class DreadRaidersHeroUnit extends HeroUnit {
constructor() {
super();
this.faction = "dread";
this.factionName = "Dread Raiders";
// Dread Raiders heroes are enigmatic leaders fighting corporate oppression
}
}
/**
* Dread Raiders outpost building class - pirate bases and raider camps
*/
export class DreadRaidersOutpost extends SpecialBuilding {
constructor() {
super();
this.faction = "dread";
this.factionName = "Dread Raiders";
// Dread Raiders outposts are fortified pirate bases
}
get buildingType() {
return "merc-outpost";
}
}
/**
* Alias for DreadRaidersOutpost to match expected naming convention
*/
export const DreadRaidersBuilding = DreadRaidersOutpost;
/**
* Alias for DreadRaidersMercUnit to match expected naming convention
*/
export const DreadRaidersUnit = DreadRaidersMercUnit;
//# sourceMappingURL=dread.js.map