promotional bannermobile promotional banner

Loot & Baloot

Loot & Baloot — Play Saudi Baloot (بلوت) inside World of Warcraft. A four-player trick-taking card game over the party addon channel. Host with friends or play solo against bots, with full Hokm / Sun rules, melds, escalations, and SWA claims.

File Details

v3.2.9

  • R
  • May 15, 2026
  • 5.16 MB
  • 8
  • 12.0.5
  • Retail

File Name

WHEREDNGN-v3.2.9.zip

Supported Versions

  • 12.0.5

Loot & Baloot

v3.2.9 (2026-05-15)

Full Changelog Previous Releases

  • docs(CHANGELOG): add v3.2.9 release notes
    v3.2.9 entry covers:
    • Host-only stale visual state during 4-human bidding/contract
      flow. Bid-phase analog of v3.2.8's play-phase fix; same root
      cause (SendAddonMessage no-loopback + dispatcher Refresh
      bypassed for host-direct mutation paths).
    • Three sites fixed in N._HostStepBid:
      • action == "next" — mid-bid turn advance.
      • action == "contract" — contract finalization.
      • action == "round2" — round-2 bid kickoff.
    • No turn logic, networking, timers, scoring, bot decisions,
      protocol, saved-variable, .toc, .pkgmeta, .github, or
      packaging changes.
      Deferred: audit findings #4/#5 (N.LocalPlay / N.LocalBid
      non-host optimistic refresh). Pending playtest of whether the
      4th-play-of-trick 2.2s lag is user-visible.
      Verification: harness 1301/0 (+3 BP source-pins from v3.2.8
      baseline of 1298/0), H1=11/0, H7=9/0. Pre-fix BP.1-3 all FAIL
      at 1298/3 (wire-proves all three Net.lua hunks are the cause).
      Committed locally only — no push, no tag, no release until
      Codex reviews.
      Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com
  • fix(Net.lua): host bid/contract/round-2 local-refresh (bid-phase v3.2.8 analog)
    Companion to v3.2.8's _HostStepPlay host-turn visual refresh fix.
    Same root cause, bid phase instead of play phase: in 4-human
    games the host advances S.s.turn via S.ApplyTurn + broadcasts
    MSG_TURN via N.SendTurn, but C_ChatInfo.SendAddonMessage doesn't
    loopback to the sender, so the host's own MSG_TURN handler never
    fires and HandleMessage's dispatcher Refresh at Net.lua:1280 is
    bypassed for host-direct mutation paths.
    Three sites in N._HostStepBid all had the same shape and all
    shipped the bug:
    action == "next" (mid-bid turn advance):
    S.ApplyTurn + N.SendTurn + N.MaybeRunBot + return.
    Host UI's bid-glow stales on prior bidder when next bidder
    is host itself.
    action == "contract" (contract finalization):
    Various branches end with N.MaybeRunBot (post-bid Bel
    dispatch). Host UI's post-contract affordances
    (Bel/Triple/Four buttons, bid-card highlight clear,
    phase banner) don't redraw until next message arrives.
    Preempt and overcall sub-branches already returned above
    with their own Refresh or phase-driven UI flow; unaffected.
    action == "round2" (round-2 bid kickoff after all-pass redeal):
    S.ApplyTurn + N.SendTurn + N.MaybeRunBot + branch end.
    Same shape as action == "next".
    Fix: add if B.UI and B.UI.Refresh then B.UI.Refresh() end at
    end of each elseif branch (3 insertions), mirroring v3.2.8's
    defensive pattern. Plus a docblock at the top of _HostStepBid
    explaining the root cause and pointing back to v3.2.8 for
    context.
    Single-site root cause: _HostStepBid is called from _OnBid
    (wire path, dispatcher-covered), LocalBid (host UI click,
    uncovered), MaybeRunBot bot-bid (direct call, uncovered), and
    _HostTurnTimeout AFK (fallback Refresh at Net.lua:5489
    already covers it). Fixing inside _HostStepBid covers all
    direct callers.
    Tests: new BP section in tests/test_state_bot.lua source-pins
    the three v3.2.9 refresh markers. Pre-fix BP.1/BP.2/BP.3 all
    FAIL (verified via stash push: 1298 passed, 3 failed); post-fix
    1301/0. H1/H7 smokes clean (11/0 + 9/0).
    Findings #4 (LocalPlay non-host) and #5 (LocalBid non-host)
    from the multi-human audit are MED severity and deferred to a
    separate slice pending playtest verification of whether the
    WoW UI animator masks the 2.2s 4th-play visual lag in #4.
    Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com