AffinityLoot

A complete loot-point (DKP-style) manager for your guild — track attendance, award points, bid on raid loot, and keep everyone in sync, all in-game.

File Details

AffinityLoot.zip

  • R
  • Jul 9, 2026
  • 116.86 KB
  • 12
  • 5.5.4
  • MoP Classic

File Name

AffinityLoot.zip

Supported Versions

  • 5.5.4

2.6.24

Stale copies can no longer overwrite a live raid's attendee list

  • Fixed a bug where a raid could show fewer attendees than attendance points handed out (e.g. 13 attendees, 26 points). Every routine delta share re-sends the sender's copy of every open raid so renames/ends propagate — but deltas are processed regardless of the version gate, so a guildmate holding a stale copy of the raid (they missed a few shares) would overwrite the live attendee list guild-wide with their old snapshot the moment they made any change. Members who had already earned their attendance point vanished from the attendee list, while the points (correctly) stayed.
  • Raid records now carry a last-modified stamp that every local edit refreshes (add/remove member, bench, rename, notes, team, instance, End Raid). The sync merge only adopts an incoming raid snapshot when it is at least as fresh as the copy you hold — a stale copy can never win. "Ended" remains a one-way latch: once any copy saw the raid end, it's ended everywhere. The stamp rides both full and delta payloads as a trailing field older clients simply ignore; an unstamped (old-client) copy never overwrites a stamped one. Rollout note: raid leaders/officers should update to 2.6.24+ — clients on older versions can still end a raid everywhere, but their other open-raid edits (members/bench/rename/notes) no longer propagate onto up-to-date copies.
  • Self-heal for already-damaged raids: an attendance log entry is proof the character was in the raid when the point was handed out, so on login (and after every sync merge) any character holding an attendance entry for a raid is restored to that raid's attendee list if a stale overwrite had dropped them. Purely derived from synced data, so every member's copy converges on the same repaired list (you'll see a one-line chat notice if anything was restored).

2.6.23

Delta sync — routine shares send only recent history

  • Auto-shares and debounced broadcasts now send a delta: the full (small) roster plus only the history rows (log / raids / loot) newer than your last share, minus a generous 48-hour overlap window that the receiver's dedupe absorbs. On a mature dataset this cuts routine sync traffic by orders of magnitude; a season of history no longer rides along with every loot bid.
  • Deltas are purely additive on the receiving side: rows are union-merged exactly like a full share, and balances are adjusted by only the newly-inserted point changes — so a delta can never clobber or regress anything, and is processed regardless of the usual version gate.
  • Full shares still happen exactly where they matter: the first share ever (no watermark yet), the manual "Share to Guild", every "End Raid" (so each finished raid re-anchors the guild on a complete dataset), and after any operation a delta cannot express — loot edit/undo bid replays, raid deletion, dated wipes, imports, and "Sync Guild" reading a changed balance out of a guild note all flag "next share must be full".
  • Offline members can't be left with silent gaps. Every delta carries the sender's watermark; a receiver that missed intermediate shares detects the gap and automatically requests a full copy (cooldown-limited, one transfer per burst). Conversely, "Get Points From..." and catch-up requests now carry your data version, so the other side answers with a small delta instead of the whole dataset whenever that's enough.
  • Deltas travel in a new message frame that older addon versions ignore entirely, so mixed-version guilds keep working: old clients simply keep exchanging full payloads.

2.6.22

Auto-share bursts are coalesced

  • Each auto-share sends the full dataset, so a burst of raid actions (attendance + several loot bids within a few seconds) used to send the whole payload once per action. Auto-share now waits ~2 seconds and sends one share containing all of the burst's changes — same near-real-time convergence for guildmates, a fraction of the traffic and merge work on their end.

2.6.21

Auto-share defaults on for Administrators + automatic catch-up after being offline

  • Auto-share now defaults ON for addon Administrators (anyone on the Manage Access admin list). Until you explicitly toggle the "Auto-share to the guild on raid/loot changes" checkbox, admins get it on and everyone else gets it off; once toggled, your explicit choice wins. (In "open setup" — no admins configured yet — it stays off for everyone so a fresh install never broadcasts automatically.)
  • Offline catch-up handshake. Guild broadcasts only reach members who are online at that moment, so if points changed while you were offline you used to come back holding stale data and had to manually "Get Points From...". Now: when you log in, your client broadcasts its data as before; any guildmate holding a newer version replies with a tiny version offer, and your client automatically requests their copy — so you converge within seconds of logging in, no manual request needed. Both sides are cooldown-limited (30s) so a guild full of up-to-date members produces exactly one transfer, and older addon versions simply ignore the new message type.

2.6.20

Attendance can no longer double-award through sync

  • Fixed a bug where a character could gain 2 points instead of 1 from attendance (e.g. 3 → 5). The award itself was always +1, but the guild-sync union merge could let a duplicate copy of the same attendance log entry in (the entry's dedupe key includes fields a loot edit/undo replay rewrites, and the client also echoes your own guild broadcasts back to you) — and points are rebuilt by summing the merged log, so the duplicate paid out a second point.
  • Three-part fix:
    • The addon now ignores its own echoed guild broadcasts entirely.
    • The sync merge now enforces the attendance invariant directly: at most ONE attendance entry per character per raid is ever accepted, no matter how the copies diverged (also covers two officers pressing Attendance at the same time before their clients sync).
    • self-heal on login removes any duplicated attendance entries already in your data and pulls the inflated balances back down (you'll see a one-line chat notice if anything was corrected). The sync receive path runs the same heal, so every member's copy converges.