From fea2cc6839ec3ee17940a2dea69622dc6f4deabf Mon Sep 17 00:00:00 2001 From: historia <[not public]> Date: Wed, 16 Sep 2026 21:35:55 -0400 Subject: fix: unify crafting ingredient resolution; fix superheat alternatives, quantity gates, and dropped combine byproducts --- internal/casino/blackjack.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'internal/casino/blackjack.go') diff --git a/internal/casino/blackjack.go b/internal/casino/blackjack.go index bc038c7..39146f7 100644 --- a/internal/casino/blackjack.go +++ b/internal/casino/blackjack.go @@ -365,12 +365,15 @@ func (t *blackjackTable) splitHand(name string, p *blackjackPlayer, hand *blackj e.Blackjack = t.snapshot(false) events := []Event{e} if left.cards[0].rank == "A" { + // Split aces receive one card each; they only stay live when a + // re-split of aces is allowed and the new card is itself an ace. left.stood = !(t.Rules.AllowsResplitAces() && left.cards[1].rank == "A") right.stood = !(t.Rules.AllowsResplitAces() && right.cards[1].rank == "A") - events = append(events, t.finishHand()...) - } else { - events = append(events, t.prompt()...) } + // Route through finishHand, not a raw prompt: a split draw can already + // total 21 (e.g. K,K splits into A+K), and prompting a complete hand + // offered hit/double on an unplayable 21. + events = append(events, t.finishHand()...) return events } -- cgit v1.2.3