@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
49 lines • 1.23 kB
JavaScript
/**
* Modifier - Game modifier classes for boons and mutators
* Boons are positive modifiers, mutators are negative/neutral rule changes
*/
import { Entity } from "./entity.js";
/**
* Base Game Modifier class - extends Entity with modifier-specific properties
* Usage: new Boon({ name: "Air Supremacy", description: "Air units deal +50% damage" })
*/
export class GameModifier extends Entity {
constructor(props) {
super();
if (props) {
Object.assign(this, props);
}
}
// Modifier defaults
get type() {
return "modifier";
}
get subtype() {
return this.modifierType;
}
}
/**
* Boon - Positive game modifier that provides advantages
* Examples: Air Supremacy, Goldrush, Extra Supply
*/
export class Boon extends GameModifier {
get modifierType() {
return "boon";
}
constructor(props) {
super(props);
}
}
/**
* Mutator - Game rule modifier that changes core mechanics
* Examples: Sudden Death, Depletion, Lockdown
*/
export class Mutator extends GameModifier {
get modifierType() {
return "mutator";
}
constructor(props) {
super(props);
}
}
//# sourceMappingURL=modifier.js.map