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.1.12

  • R
  • May 10, 2026
  • 5.14 MB
  • 6
  • 12.0.5
  • Retail

File Name

WHEREDNGN-v3.1.12.zip

Supported Versions

  • 12.0.5

Loot & Baloot

v3.1.12 (2026-05-10)

Full Changelog Previous Releases

  • v3.1.12: Full-addon audit fixes (SWA + Takweesh/Kawesh + BALOOT) + behavioral tests
    External full-addon audit (Codex on head 929dd13) flagged three P1/P2
    reliability gaps and one process gap.
    P1 — SWA reliability. SendSWAReq/SendSWAResp were single-shot (the
    v3.1.10 retry pattern was never applied). Two failure modes:
    1. Non-host caller's MSG_SWA_REQ drops → caller has local swaRequest
      pinned forever, UI hides SWA button, host never sees request,
      hard-stall recoverable only by /reload.
    2. Defender's deny MSG_SWA_RESP drops → defender pre-clears local
      state, host never sees deny, host's 5s timer auto-accepts the SWA.
      Fix: 250ms retry on both. Non-host LocalSWA also schedules a
      SWA_TIMEOUT_SEC+3s safety-clear timer to roll back local swaRequest
      if no host echo arrives.
      P1 — Takweesh/Kawesh used one-shot frames. New SendTakweesh /
      SendKawesh helpers with 250ms retry. LocalTakweesh, LocalKawesh, bot
      Takweesh, bot Kawesh all routed through helpers. Host receivers
      already idempotent (phase + state guards).
      P2 — Remote BALOOT button. UI.lua:2780 violated UI.lua:10 by reading
      s.hostHands (host-only); LocalBelote did the same. Remote humans
      holding K+Q of trump never saw the button until BOTH cards were
      played. Fixed both to use S.s.hand + played-card scan; strengthened
      predicate from hasK or hasQ to hasK and hasQ.
      Process — Behavioral tests (not source pins). v3.1.10's bug was
      missed because tests only verified the helper existed, not that
      callers used it. New section AZ has 25 behavioral tests with captured
      broadcast() and capturable C_Timer.After: SWA retry/idempotence,
      Takweesh/Kawesh retry + duplicate handling, non-host BALOOT in 3
      scenarios. First time Net.lua is loaded into the test harness.
      Tests: 1007/1007 (was 982, +25). Lua syntax: 26 files clean.
      Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com