From f51424c90dbce7191a31b6e675818c985f0f4539 Mon Sep 17 00:00:00 2001 From: historia <[not public]> Date: Fri, 31 Jul 2026 17:44:10 -0400 Subject: feat: casino framework and basic slot machine --- internal/game/cmd_stop.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'internal/game/cmd_stop.go') diff --git a/internal/game/cmd_stop.go b/internal/game/cmd_stop.go index d1b8faa..5c347e6 100644 --- a/internal/game/cmd_stop.go +++ b/internal/game/cmd_stop.go @@ -6,6 +6,18 @@ import ( func (g *Game) executeStop(sess *net.Session, args []string, rawInput string) { p := sess.Player + if table, playing := g.Casino.Participation(p.Name); playing { + if table != nil { + g.emitCasinoEvents(g.Casino.Leave(table.RoomID, table.Config.ID, p.Name)) + } else if machine, ok := g.Casino.MachineFor(p.Name); ok { + if events, stopped := g.Casino.StopMachineAutoBet(machine.RoomID, machine.Config.ID, p.Name); stopped { + g.emitCasinoEvents(events) + return + } + g.emitCasinoEvents(g.Casino.LeaveMachine(machine.RoomID, machine.Config.ID, p.Name)) + } + return + } ss, _ := g.safespot.Get(p.Name) if p.Action == nil && p.BackgroundAction == nil && g.Combat.Get(p.Name) == nil && p.MoveTicks == 0 && len(p.WalkSequence) == 0 && !ss.Active { sess.WriteLine("You're not doing anything.") -- cgit v1.2.3