File Details
v1.0.47-bcc
- R
- Apr 13, 2026
- 2.28 MB
- 152
- 2.5.5
- Classic TBC
File Name
Reckoning-v1.0.47-bcc.zip
Supported Versions
- 2.5.5
Reckoning
v1.0.47 (2026-04-13)
Full Changelog Previous Releases
- Fix arena match end detection and win/loss result (#136)
- Fix arena match end detection and win/loss result
- HandleBattlefieldUpdate now runs arena detection before the BG-only
early-return guard, calling GetBattlefieldWinner() while battlefield
data is still fresh during UPDATE_BATTLEFIELD_SCORE - Replace faction-based win detection (wrong for arenas) with scoreboard
team index scan matching ArenaStats: GetBattlefieldScore()[6] compared
against GetBattlefieldWinner() (0=Green, 1=Gold) - Use IsArenaSkirmish() for rated/skirmish detection, eliminating
dependence on bracket detection and ARENA_TEAM_UPDATE timing - Apply same scoreboard fix to the zone-exit pendingResult fallback
- Remove duplicate achievement 5012 (wrong category, same as 3051)
Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com
- Address Copilot review: harden arena scoreboard scan
- Guard GetBattlefieldScore() call with type check (both paths)
- Use NormalizePlayerName() on both sides of the name comparison
to handle any realm-suffix variants - Skip firing ARENA_MATCH_END if player not found in scoreboard
(scores not yet populated); next UPDATE_BATTLEFIELD_SCORE retries - Skip firing if bracket is still nil after scoreboard-derived
fallback (total entries / 2), avoiding 2v2 misclassification for
bracket-specific streak achievements - Derive bracket from GetNumBattlefieldScores() / 2 as fallback
when arenaState.bracket was not set at arena entry
Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com
- Address second Copilot review round
- Fix comment: arena winner 1=Gold team (not Yellow)
- Add GetArenaTeam() as third fallback for isRated when
IsArenaSkirmish() is unavailable and ratingDelta not yet received;
matches the hasRatedTeam pattern already in CheckArenaMatchEnd()
Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com
- Fix stale pendingMatchEnd swallowing BG winner events
Guard the arena block with not pvpState.inBattleground so a stale
pendingMatchEnd from a prior match can never cause the early return
to skip battleground winner handling. Replace the early return with
a conditional block so UPDATE_BATTLEFIELD_SCORE retries are possible
when scores aren't populated yet.
Also fix missing end from previous commit.
Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com - Fix stale Yellow→Gold comment in zone-exit fallback
Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com - Restructure arena detection: capture pendingResult early, fire immediately only for skirmishes
For rated matches, ARENA_TEAM_UPDATE fires after zone-out and provides
ratingDelta. Firing ARENA_MATCH_END immediately from UPDATE_BATTLEFIELD_SCORE
meant ratingChange was always 0 for rated matches, and clearing state
prevented CheckArenaMatchEnd from ever seeing ratingDelta.
New approach:
- Always use UPDATE_BATTLEFIELD_SCORE to reliably capture pendingResult
from the scoreboard (before battlefield data clears at zone-out) and
persist any bracket derived from score count back to arenaState - For confirmed skirmishes (IsArenaSkirmish() truthy): fire immediately
with isRated=false/ratingChange=0 — no ARENA_TEAM_UPDATE is coming - For rated matches: pendingResult and bracket are now set; zone-exit
calls CheckArenaMatchEnd() which waits for ARENA_TEAM_UPDATE so
ratingChange/newRating are accurate in the ARENA_MATCH_END payload
Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com
- Set guildTeam=false in skirmish fast-path to match CheckArenaMatchEnd
Aligns skirmish payload semantics: CheckArenaMatchEnd always emits
guildTeam=false for skirmishes; the new fast-path now does the same
so guild-team arena achievements cannot trigger from skirmishes.
Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com - Introduce matchEndFired flag to preserve inArena physical-presence invariant
Previously the skirmish fast-path set inArena=false while the player
was still physically inside the arena (post-match scoreboard). A
/reload before teleport-out would trigger UpdateInstanceState() to
see instanceType=arena + inArena=false and re-initialize bracket and
startTime as if a fresh match had started, potentially causing a
duplicate ARENA_MATCH_END on zone-out.
Fix: keep inArena tied strictly to physical presence. Add matchEndFired
flag that is set when the skirmish fast-path fires ARENA_MATCH_END.
- Zone-exit checks matchEndFired: if true, just clears inArena/flag
and skips pendingResult capture + CheckArenaMatchEnd entirely - HandleArenaTeamUpdate guards CheckArenaMatchEnd() on not matchEndFired
- Arena-start initialization (UpdateInstanceState) resets matchEndFired
- InitializeArenaTracking declares matchEndFired = false in initial state
Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com
- Guard skirmish fast-path against double-fire on repeated UPDATE_BATTLEFIELD_SCORE
UPDATE_BATTLEFIELD_SCORE fires multiple times per match end. After the
fast-path fires and resets pendingResult/bracket to nil, a second event
would re-capture both and fire ARENA_MATCH_END again. Add
not matchEndFired to the isConfirmedSkirmish gate to prevent this.
Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com
Co-authored-by: Claude Sonnet 4.6 noreply@anthropic.com - Fix Backfille for Skills of all Trades (#135)
- Fix Backfill of Skills of all Trades
- Better detection of Halaa Battle Token (#134)
- Fix Boom or Bust (#133)
Now counts the quantity of craft to progress achievment - Added Gathering Professions to collection of motes achievments (#132)
- Fix/backfill achievements (#131)
- Added additional Backfill Achievements for Reps
-Exalt more
-Aldor Ascended
-Scryer Supremacy
- Added additional Backfill Achievements for Reps
- Fix Detection of Faction for Hellfire Bandit (#130)
- Fix That Takes Class and Tracking (#129)

