aboutsummaryrefslogtreecommitdiff
path: root/internal/casino/cash_hunt.go
diff options
context:
space:
mode:
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.")}