diff options
| author | historia <[not public]> | 2026-09-15 14:18:14 -0400 |
|---|---|---|
| committer | historia <[not public]> | 2026-09-15 14:18:14 -0400 |
| commit | 396c3facb8287b9a34076cae8f3d7b300d366d99 (patch) | |
| tree | 941f280d051fac474fa68ca08318a8d16adc8d0f /building_guide/rooms.md | |
| parent | b3568f03e4103dd46db2ccc680fbab0a6454d604 (diff) | |
| download | thehouseoficarus-396c3facb8287b9a34076cae8f3d7b300d366d99.tar.gz | |
fix: atomic saves, casino RNG/config isolation, tick lifecycle
Diffstat (limited to 'building_guide/rooms.md')
| -rw-r--r-- | building_guide/rooms.md | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/building_guide/rooms.md b/building_guide/rooms.md index 4da4284..4eaa843 100644 --- a/building_guide/rooms.md +++ b/building_guide/rooms.md @@ -322,6 +322,29 @@ casino_machines: payout: 0.97 ``` +#### Casino configuration validation + +Room create/update requests validate casino definitions before writing; startup +validation reports invalid definitions, and game lookup refuses invalid room +casino configurations. Raw file editing is not a validated save endpoint. + +- IDs must be nonempty, have no surrounding whitespace, and be unique across + the room's tables and machines (including legacy slots table entries). +- Supported table games are `blackjack` and `baccarat`; machines use `slots` + with the optional variant `huff_and_even_more_puff`. +- Omitted/zero numeric values keep their existing defaults. Negative bets, + timers, seat counts, split counts, decks, and payouts are rejected. +- An explicit `max_bet` must be at least `min_bet`; zero still means no cap. +- `decks` is capped at 64 to bound shoe allocation. An explicit `shuffle_at` + must be greater than zero and less than one. +- Payouts and shuffle fractions must be finite (no NaN/infinity). Slots `payout` + is an RTP fraction greater than zero and at most one; zero defaults to 0.97. +- Unknown casino fields are rejected by the room create/update API. + +Existing instantiated games retain their rules until restart; editing a room +does not hot-reconfigure a live table or machine. Use explicit, modest wager +limits: validation does not yet make currency arithmetic overflow-safe. + ### Objects — interactive fixtures Simple placement: |
