aboutsummaryrefslogtreecommitdiff
path: root/building_guide/rooms.md
diff options
context:
space:
mode:
Diffstat (limited to 'building_guide/rooms.md')
-rw-r--r--building_guide/rooms.md16
1 files changed, 11 insertions, 5 deletions
diff --git a/building_guide/rooms.md b/building_guide/rooms.md
index c70b379..719c09e 100644
--- a/building_guide/rooms.md
+++ b/building_guide/rooms.md
@@ -357,11 +357,17 @@ 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`.
-- Only one table/machine per game is addressable: a room is addressed by game
- name (`play blackjack`), so a second entry for the same game, or the same
- machine variant (including a legacy slots table alongside a slots machine),
- is rejected as unreachable content.
+ with the optional variant `huff_and_even_more_puff`. A machine variant is
+ registered in Go (`slotVariants` in `internal/casino/registry.go`); naming an
+ unregistered variant is a validation error.
+- A multiplayer table is addressed by its game name (`play blackjack`), so a
+ room may host only one table per game; a legacy slots table still collides
+ with a slots machine.
+- A machine is addressed by its `variant` when one is declared, so a room may
+ host several variants of one game, each reached by its own variant name. A
+ bare game name addresses a machine only when it is the sole machine of that
+ game (or declares no variant). Two variant-less machines of one game, or two
+ machines sharing a variant, are rejected as unreachable duplicates.
- 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`. An omitted or zero