diff options
Diffstat (limited to 'building_guide/rooms.md')
| -rw-r--r-- | building_guide/rooms.md | 57 |
1 files changed, 47 insertions, 10 deletions
diff --git a/building_guide/rooms.md b/building_guide/rooms.md index 7641c75..731b064 100644 --- a/building_guide/rooms.md +++ b/building_guide/rooms.md @@ -220,22 +220,59 @@ Mobs stop wandering while in combat. Dead mobs respawn at their home room. ### Casino Tables -Rooms may host one or more casino tables. Players join by typing `play <game>`; -the table ID is an internal room-local identifier and does not need to be typed. +Rooms may host one or more multiplayer casino tables. Players join by typing +`play <game>`; the table ID is an internal room-local identifier and does not +need to be typed. Blackjack is the multiplayer table game; slots run as +single-player machines (see below), and older rooms that declare slots under +`casino_tables` are migrated to machines automatically. + +`max_players`, `betting_ticks`, `min_bet`, and `max_bet` use defaults when omitted. +Game-specific rule configuration is nested alongside the table definition. + +Blackjack tables support sequential player turns and configurable house rules: ```yaml casino_tables: - - id: slots - game: slots - max_players: 8 + - id: blackjack + game: blackjack + max_players: 6 betting_ticks: 20 min_bet: 1 max_bet: 1000 -``` - -`max_players`, `betting_ticks`, `min_bet`, and `max_bet` use defaults when omitted. -Game-specific rule configuration will be added alongside the table definition as -each game is implemented. + blackjack: + decks: 8 + shuffle_at: 0.25 + blackjack_payout: 1.5 + dealer_hit_soft_17: false + max_split_hands: 4 + resplit_aces: false + double_after_split: true + double_split_blackjack: true + insurance_payout: 2 + surrender: false + action_ticks: 20 + split_unlike_ten_values: true +``` + +Blackjack supports `hit`, `stand`, `double`, `split`, `insurance`, and +`surrender`. A player blackjack against a dealer blackjack pushes. When the +dealer's up card is an ace, an insurance window opens before anyone plays: +each bettor may type `insurance` to buy cover for half their base bet, and +any other action declines. Once every bettor has decided (or the window times +out), a dealer blackjack settles the round immediately with insurance paying +its configured profit multiplier; otherwise play begins. Split hands can be +configured independently for re-splitting aces and doubling, and split aces +receive one card each with no further actions beyond a configured re-split. + +At a blackjack table, `bet` uses the configured minimum wager; `bet min`, +`bet max`, and `bet <amount>` select the wager explicitly. + +Blackjack card art is loaded from `data/cards.yaml`. Each of the 52 rank/suit +keys may define Unicode art for sizes 5, 7, and 9. Missing art uses the +generated renderer. Players can choose `option card_size 1`, `5`, `7`, or `9`; +size 1 uses Unicode playing-card symbols. ASCII mode always uses generated +5x5 cards. `option card_style light` adds a white card background; `dark` is +the default style. Single-player machines use `casino_machines` and are separate from multiplayer tables: |
