From 13db3e50cb6e29eedbf25416e5284bf08b0adefb Mon Sep 17 00:00:00 2001 From: historia <[not public]> Date: Thu, 24 Sep 2026 20:06:41 -0400 Subject: feat: casino table ux: aliases, rebet hints, deadline notifications, spectator mode --- internal/game/cmd_stop.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'internal/game/cmd_stop.go') diff --git a/internal/game/cmd_stop.go b/internal/game/cmd_stop.go index 4b287ce..2f2a7ee 100644 --- a/internal/game/cmd_stop.go +++ b/internal/game/cmd_stop.go @@ -10,7 +10,17 @@ func (g *Game) executeStop(sess *net.Session, args []string, rawInput string) { // queue; cancel a pending quit countdown explicitly. g.cancelRest(p.Name) if _, playing := g.Casino.Participation(p.Name); playing { - g.leaveCasinoGames(p) + if table, _ := g.Casino.Participation(p.Name); table != nil { + // Normal leave refuses committed wagers. Only an explicit stop + // queues a departure; movement/quit retain their existing policy. + events := g.Casino.Leave(table.RoomID, table.Config.ID, p.Name) + if _, stillSeated := g.Casino.Participation(p.Name); stillSeated { + events = g.Casino.Action(table.RoomID, table.Config.ID, p.Name, "leave_after") + } + g.emitCasinoEvents(events) + } else { + g.leaveCasinoGames(p) + } return } ss, _ := g.safespot.Get(p.Name) -- cgit v1.2.3