We probably need a new class StatCheck, which will be given to all GameObjects as an optional statChecks: StatCheck[] member. Stat checks will implement all checks (e.g. dice rolls). They could look somewhat like this:
export class StatCheck {
declare targetName: GameObjectName;
declare key: NumericProperty<TModifiedGameObject> | NumericProperty<TModifiedGameObject>[];
declare operator: 'lt' | 'lte' | 'eq' | 'gt' | 'gte';
declare nDice: number;
declare nPips: number;
}
We probably need a new class
StatCheck, which will be given to allGameObjects as an optionalstatChecks: StatCheck[]member. Stat checks will implement all checks (e.g. dice rolls). They could look somewhat like this: