@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
33 lines • 1.22 kB
TypeScript
/**
* Modifier - Game modifier classes for boons and mutators
* Boons are positive modifiers, mutators are negative/neutral rule changes
*/
import { Entity } from "./entity.js";
export type ModifierType = "boon" | "mutator";
/**
* Base Game Modifier class - extends Entity with modifier-specific properties
* Usage: new Boon({ name: "Air Supremacy", description: "Air units deal +50% damage" })
*/
export declare abstract class GameModifier<T extends GameModifier<T> = any> extends Entity {
abstract get modifierType(): ModifierType;
constructor(props?: Partial<T>);
get type(): string;
get subtype(): ModifierType;
}
/**
* Boon - Positive game modifier that provides advantages
* Examples: Air Supremacy, Goldrush, Extra Supply
*/
export declare class Boon<T extends Boon<T> = any> extends GameModifier<T> {
get modifierType(): ModifierType;
constructor(props?: Partial<T>);
}
/**
* Mutator - Game rule modifier that changes core mechanics
* Examples: Sudden Death, Depletion, Lockdown
*/
export declare class Mutator<T extends Mutator<T> = any> extends GameModifier<T> {
get modifierType(): ModifierType;
constructor(props?: Partial<T>);
}
//# sourceMappingURL=modifier.d.ts.map