Skip to content

casino: betting-screen re-buy affordance for a broke seat (blackjack, roulette)#90

Merged
BCook98 merged 1 commit into
mainfrom
casino-betting-screen-rebuy
Jul 4, 2026
Merged

casino: betting-screen re-buy affordance for a broke seat (blackjack, roulette)#90
BCook98 merged 1 commit into
mainfrom
casino-betting-screen-rebuy

Conversation

@BCook98

@BCook98 BCook98 commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

Why

A player whose balance fell below the minimum stake could get soft-locked at the betting screen with no way to trigger the platform broke-relief re-buy (reported live on blackjack). The auto-rebuy only fires post-hand/post-settle, and the bet action silently no-ops when broke. Because credits are account-wide, a seat can arrive broke — walked over from another casino game, or after a rebuy that momentarily hit the daily limit.

Changes

  • blackjack: when broke (bal < betTiers[0]) the betting bar shows BROKE - press R to re-buy credits, and R triggers the buyback. (TestBrokeSeatRebuysOnRInBetting)
  • roulette: same class of gap — can't place a chip below the 5 minimum, and the re-buy only fired post-Settle. Adds a broke prompt + a B key (R is already "ready") that calls Buyback. (TestRebuyAtBettingScreen)

pokies and scratchies are unchanged — verified they already recover a broke seat from their normal action (a failed spin / ticket-buy auto-triggers the re-buy with visible feedback), so adding a redundant prompt would be wrong.

Companion

Complements the platform fix (shellcade#213) that makes Buyback wait for an in-flight checkpoint instead of refusing — which was stranding the post-hand auto-rebuy exactly when a busting hand crossed the checkpoint threshold.

All four game modules build/vet/test clean. ASCII-only load-bearing glyphs; no wasm/artifacts committed.

… roulette)

A player whose balance dropped below the minimum stake could get soft-locked at
the betting screen with no way to trigger the platform broke-relief re-buy: the
auto-rebuy only fires post-hand/post-settle, and the bet action silently no-ops
when broke. Since credits are account-wide, a seat can arrive broke (walked over
from another casino game, or a rebuy that momentarily hit the daily limit).

- blackjack: when broke (bal < betTiers[0]) the betting bar shows
  "BROKE - press R to re-buy credits" and R triggers the buyback. Test added.
- roulette: same class of gap (can't place a chip below the 5 min, re-buy only
  post-Settle). Adds a broke prompt + B key (R is "ready") that calls Buyback,
  with a betting-screen test.

pokies and scratchies already recover a broke seat from their normal action
(a failed spin / ticket-buy auto-triggers the re-buy), so they are unchanged.

Complements the platform fix that makes Buyback wait for an in-flight checkpoint
instead of refusing (which was stranding the post-hand auto-rebuy).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W7oJQSTva5xgbAZomdV5Jj
@github-actions

github-actions Bot commented Jul 4, 2026

Copy link
Copy Markdown

Smoke screens

Deterministic scripted screens for f573a9495b5ad7897014c600bc29e287770327f2 (what is this?)

games/alan/roulette — 12 screens

01-table.seat0
01-table.seat0

01-table.seat1
01-table.seat1

02-bets.seat0
02-bets.seat0

02-bets.seat1
02-bets.seat1

03-spinning.seat0
03-spinning.seat0

03-spinning.seat1
03-spinning.seat1

04-landed.seat0
04-landed.seat0

04-landed.seat1
04-landed.seat1

05-flashing.seat0
05-flashing.seat0

05-flashing.seat1
05-flashing.seat1

06-result.seat0
06-result.seat0

06-result.seat1
06-result.seat1

games/bcook/blackjack — 16 screens

01-bet.seat0
01-bet.seat0

01-bet.seat1
01-bet.seat1

02-backing.seat0
02-backing.seat0

02-backing.seat1
02-backing.seat1

03-sidebet.seat0
03-sidebet.seat0

03-sidebet.seat1
03-sidebet.seat1

04-dealt.seat0
04-dealt.seat0

04-dealt.seat1
04-dealt.seat1

05-split.seat0
05-split.seat0

05-split.seat1
05-split.seat1

06-payout.seat0
06-payout.seat0

06-payout.seat1
06-payout.seat1

07-ready.seat0
07-ready.seat0

07-ready.seat1
07-ready.seat1

08-next.seat0
08-next.seat0

08-next.seat1
08-next.seat1

@BCook98 BCook98 merged commit 67d6d5b into main Jul 4, 2026
3 checks passed
@BCook98 BCook98 deleted the casino-betting-screen-rebuy branch July 4, 2026 01:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant