diff options
| author | historia <[not public]> | 2026-09-30 16:16:17 -0400 |
|---|---|---|
| committer | historia <[not public]> | 2026-09-30 16:16:17 -0400 |
| commit | a4c09c2d38d1f3bc1d3ad4bdb0234bdea7c37e73 (patch) | |
| tree | 00c9567e620f331a59dd44f1f1fa779ecd94a845 /internal/casino/roulette.go | |
| parent | 724079f8de1ae69965c6267dca3d7fc3cc86afa2 (diff) | |
| download | thehouseoficarus-a4c09c2d38d1f3bc1d3ad4bdb0234bdea7c37e73.tar.gz | |
feat: additional craps variants added, standardizard casino command hints
Diffstat (limited to 'internal/casino/roulette.go')
| -rw-r--r-- | internal/casino/roulette.go | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/internal/casino/roulette.go b/internal/casino/roulette.go index b4dcdf0..2453fed 100644 --- a/internal/casino/roulette.go +++ b/internal/casino/roulette.go @@ -490,11 +490,19 @@ func (t *rouletteTable) view() *RouletteSnapshot { return s } func (t *rouletteTable) menuEvent(name string) Event { - e := t.betMenuEvent(name, []MenuCommand{ - {Command: "bet <amount> on <target>", Desc: "Place one wager per spin (help roulette)"}, - {Command: "bet / rebet", Desc: "Repeat your previous wager"}, - {Command: "table / sitout / stop", Desc: "View layout / sit out / leave after this spin"}, - }) + commands := []MenuCommand{} + p := t.players.get(name) + if t.phase != phasePlaying && p != nil && !p.HasBet { + commands = append(commands, MenuCommand{Command: "bet <amount> on <target>", Desc: "Place one wager; targets: help roulette"}) + if p.lastBet > 0 { + commands = append(commands, MenuCommand{Command: "bet / rebet", Desc: "Repeat your previous wager"}) + } + } + if p != nil { + commands = append(commands, MenuCommand{Command: "sitout / stop", Desc: "Sit out / leave when your wager settles"}) + } + commands = append(commands, MenuCommand{Command: "table", Desc: "View the layout"}) + e := t.betMenuEvent(name, commands) e.Snapshot = t.view() return e } @@ -701,8 +709,10 @@ func (t *rouletteTable) status(name string) []Event { if text := t.seatStatusLocked(name); text != "" { message += "\n" + text } - e := t.private(name, message) - e.Snapshot = t.view() + e := t.menuEvent(name) + e.Message = message + e.Menu.Heading = message + e.Menu.ShowBalance = false events := []Event{e} if t.phase == phaseWaiting && t.lastResult != nil { last := t.private(name, "Last spin:") |
