commit 1de251dfc98c66b4299ca34cb4c8b8d1edc93ef5
parent b606f058cd846eb9c90128bf8119b2c10de44d55
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Mon, 18 Dec 2023 20:50:54 -0500
Fix all-in bug
Diffstat:
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/pkg/web/handlers/poker/poker.go b/pkg/web/handlers/poker/poker.go
@@ -872,15 +872,15 @@ RoundIsSettled:
// Calculate what is the max gain all-in players can make
computeAllInMaxGain(g, newlyAllInPlayers, mainPot)
- // When only one player remain alive (everyone else fold)
+ // Always refund the difference between the first-biggest bet and the second-biggest bet.
// We refund the "uncalled bet" so that it does not go in the main pot and does not get raked.
- if playerAlive == 1 {
- newArray := make([]*PokerPlayer, len(ongoing.Players))
- copy(newArray, ongoing.Players)
- sort.Slice(newArray, func(i, j int) bool { return newArray[i].GetBet() > newArray[j].GetBet() })
- firstPlayer := newArray[0]
- secondPlayer := newArray[1]
- diff := firstPlayer.GetBet() - secondPlayer.GetBet()
+ newArray := make([]*PokerPlayer, len(ongoing.Players))
+ copy(newArray, ongoing.Players)
+ sort.Slice(newArray, func(i, j int) bool { return newArray[i].GetBet() > newArray[j].GetBet() })
+ firstPlayer := newArray[0]
+ secondPlayer := newArray[1]
+ diff := firstPlayer.GetBet() - secondPlayer.GetBet()
+ if diff > 0 {
firstPlayer.refundPartialBet(db, pokerTableID, diff)
}