UNPKG

@zerospacegg/iolin

Version:

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

49 lines 1.23 kB
/** * 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