aboutsummaryrefslogtreecommitdiff
path: root/internal/casino/cash_hunt.go
diff options
context:
space:
mode:
authorhistoria <[not public]>2026-10-06 12:57:23 -0400
committerhistoria <[not public]>2026-10-06 12:57:23 -0400
commit9666676766bf21364f4fc4d0d1d336e72f2a91b4 (patch)
tree0cade34091d7602790dc38cd44053f0b74bbadf2 /internal/casino/cash_hunt.go
parent4bc1daaf259e0c19c5fe4a12ec8bc7f6e5a735c1 (diff)
downloadthehouseoficarus-9666676766bf21364f4fc4d0d1d336e72f2a91b4.tar.gz
refactor: split casino.go, dedup helpers, remove audit docs
Diffstat (limited to 'internal/casino/cash_hunt.go')
-rw-r--r--internal/casino/cash_hunt.go7
1 files changed, 7 insertions, 0 deletions
diff --git a/internal/casino/cash_hunt.go b/internal/casino/cash_hunt.go
index a07b09a..c04d644 100644
--- a/internal/casino/cash_hunt.go
+++ b/internal/casino/cash_hunt.go
@@ -267,6 +267,13 @@ func (t *cashHuntTable) action(n, action string) []Event {
if len(f) != 1 {
return []Event{t.private(n, "Choose a square with pick N or a number from 1 to 100.")}
}
+ // A non-numeric action while a hunt is live (e.g. the stop path's
+ // leave_after token) must not fall through to the square parser.
+ if t.active {
+ if _, err := strconv.Atoi(f[0]); err != nil {
+ return []Event{t.private(n, "Finish your hunt before leaving.")}
+ }
+ }
square, err := strconv.Atoi(f[0])
if err != nil || square < 1 || square > CashHuntSquares {
return []Event{t.private(n, "Choose a square from 1 to 100.")}