aboutsummaryrefslogtreecommitdiff
path: root/dev_guide/pai_gow.md
diff options
context:
space:
mode:
Diffstat (limited to 'dev_guide/pai_gow.md')
-rw-r--r--dev_guide/pai_gow.md29
1 files changed, 24 insertions, 5 deletions
diff --git a/dev_guide/pai_gow.md b/dev_guide/pai_gow.md
index 9d26871..dd4cd7d 100644
--- a/dev_guide/pai_gow.md
+++ b/dev_guide/pai_gow.md
@@ -8,11 +8,30 @@ settlement and the Joker art.
## Hand evaluation
The Joker is partially wild: an ace, or any missing card completing a
-straight, flush or straight flush. Five aces beats a royal flush. A2345
-is the second-highest straight (and straight flush), below TJQKA but above
-9TJQK. Low hands recognize only pairs and high cards. Suits do not break
-ties. Copies lose to the dealer. The high hand must strictly outrank the
-low hand.
+straight, flush or straight flush. Five aces beats a royal flush. A2345 is
+the second-highest straight (and straight flush), below TJQKA but above
+9TJQK, by default. `PaiGowConfig.A2345High()` reads the optional
+`a2345_second_highest` field (default true); the evaluator is threaded
+through the `...Rules` variants (`pgEvaluateRules`, `pgHouseRules`,
+`pgFortuneRules`, `pgBestRules`, `pgDealerPushRules`,
+`pgMainResultRules`, `pgPushAceClassRules`) so a table can demote the wheel
+to the lowest straight without changing the default wrappers the tests use.
+Low hands recognize only pairs and high cards. Suits do not break ties.
+Copies lose to the dealer. The high hand must strictly outrank the low hand.
+
+## Betting flow
+
+Side bets (`fortune`, and `pushace` on Face Up) are placed first; the main
+wager commits the round. The main bet deals immediately when every active
+(connected) player has one, and a lone bettor is dealt at once, so a single
+seat never waits on a timer. With two or more active players the shared
+betting window (`betting_ticks`) opens and `finishBettingLocked` deals when
+it expires if any main wager is live, refunding side bets on seats that
+never placed one. `unbet main|fortune|pushace|all` returns an undealt stake
+through `PayCredits`, and `leave` before the deal refunds the departing
+seat and re-checks `allBetLocked` so the remaining bettors can be dealt.
+The Push Ace High cap (half the main wager) is enforced when the main wager
+lands, because side bets are already down by then.
## House way