aboutsummaryrefslogtreecommitdiff
path: root/internal/game/cmd_bank.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/game/cmd_bank.go')
-rw-r--r--internal/game/cmd_bank.go7
1 files changed, 5 insertions, 2 deletions
diff --git a/internal/game/cmd_bank.go b/internal/game/cmd_bank.go
index 468b173..0bfc2a3 100644
--- a/internal/game/cmd_bank.go
+++ b/internal/game/cmd_bank.go
@@ -236,8 +236,11 @@ func (g *Game) doBankWithdraw(sess *net.Session, input string) {
entries = append(entries, entryRef{slot: i, pos: len(entries) + 1, name: itemName, id: bs.ItemID, qty: bs.Quantity})
}
- idx, err := parseChoiceIndex(input)
- if err == nil && idx > 0 && idx <= len(entries) {
+ // Only a pure number selects a bank slot by position: parseChoiceIndex
+ // accepts a leading integer and ignores trailing text, so "withdraw 2
+ // chips" would otherwise withdraw display entry #2 instead of the named
+ // item.
+ if idx, err := strconv.Atoi(strings.TrimSpace(input)); err == nil && idx > 0 && idx <= len(entries) {
e := entries[idx-1]
g.withdrawBankItem(sess, p, e.slot)
return