File Details
1.7-release
- R
- Apr 3, 2026
- 696.71 KB
- 31
- 12.0.1
- Retail
File Name
CombatAnalytics-1.7-release.zip
Supported Versions
- 12.0.1
tag df32bc22eeb1bc81c43bb7679e4bdd71875f3639 1.7-release
Author: Lazar Dilov <ldilov@yahoo.com>
Date: Fri Apr 3 04:28:00 2026 +0300
Release big refactors
commit cfaf224db26719937a6005bc549fb5318e55a799
Author: Lazar Dilov <ldilov@yahoo.com>
Date: Fri Apr 3 04:27:14 2026 +0300
Refactor Build screen and heuristics
commit cfaf224db26719937a6005bc549fb5318e55a799
Author: Lazar Dilov <ldilov@yahoo.com>
Date: Fri Apr 3 04:27:14 2026 +0300
Refactor Build screen and heuristics
commit 3f2bb8c6b94fb653804232895ec73f368fdef8cd
Author: Lazar Dilov <ldilov@yahoo.com>
Date: Fri Apr 3 03:44:08 2026 +0300
fix: DamageMeter session matching fails for arena (combined sessions)
Root cause: C_DamageMeter uses DamageMeterCombineSessionType.Arena to
create a single combined session for the entire arena match during the
prep/loading phase — BEFORE PLAYER_REGEN_DISABLED fires. When
MarkSessionStart captures the baseline, the arena DM session ID is
already at or below the baseline, so FindSessionsForImport skips it.
Changes:
- Capture DM baseline early in HandlePlayerJoinedPvpMatch (before prep
phase creates the combined arena DM session)
- Reset activeSessionBaselineId after FinalizeSession so the next Solo
Shuffle round can match the same combined DM session
- Add fallback 2: include DM session at baseline-1 for cases where the
combined session was created just before the baseline
- Add fallback 3: take the latest available DM session regardless of
baseline when all other candidates are exhausted (removes the
lastSeenSessionId guard that could reject valid sessions)
- Enhanced startup diagnostics with CVar state and DM session count
- User-facing warning when damageMeterEnabled CVar is OFF
commit 48260532f2d4fe4a881af2a2b9c2b9b2fb01c474
Author: Lazar Dilov <ldilov@yahoo.com>
Date: Fri Apr 3 00:11:21 2026 +0300
fix: add damage meter diagnostics and user-facing import failure warnings
DamageMeterService:
- Log C_DamageMeter availability, CVar state, and session count at startup
- Show chat warning if damageMeterEnabled CVar is OFF (most common cause
of zero damage across all session types)
- Add detailed pre-import trace logging: available session count, baseline,
snapshot state, restriction state, combat lockdown flag
- Add unavailability trace when IsAvailable returns false
SummaryView:
- Show orange warning banner below caption when damage import fails
- Message varies by failure type:
- failed_damage_meter_unavailable/failed_no_candidate: "Enable Damage Meter"
- failed_no_meaningful_data: "Verify built-in Damage Meter is enabled"
- Banner hidden when import succeeds or session has damage
commit 21f754b5cdc0ceea0d76fc5a9c795db2e1c8fe3b
Author: Lazar Dilov <ldilov@yahoo.com>
Date: Thu Apr 2 23:55:14 2026 +0300
feat: add 6 Midnight API enhancements for improved data collection
1. C_Spell auto-classification: IsSpellCrowdControl, IsExternalDefensive,
IsSpellImportant, IsSelfBuff — enriches spell aggregates with
authoritative Blizzard classification, supplementing manual seed data.
2. castBarID tracking: Non-secret cast sequence counter from 12.0.0+
captured in UNIT_SPELLCAST events and timeline. Enables enemy cast
sequence analysis even when spellID is secret in PvP.
3. C_RestrictedActions state awareness: New ADDON_RESTRICTION_STATE_CHANGED
event handler tracks when PvP/combat secrets are active. Stored on
session.restrictionState for import strategy branching.
4. Enemy CC tracking: C_LossOfControl.GetActiveLossOfControlDataByUnit
now queried for arena1-5 opponents during HandleLossOfControlAdded.
CC events exported to session.enemyCCEvents at finalization.
5. Periodic DR snapshots: Every 5s during arena sessions, captures full
diminishing returns state for all arena opponents via
ArenaRoundTracker:GetDiminishState. Exported to session.drSnapshots.
6. Opponent talent builds: C_Traits.GenerateInspectImportString captured
during HandleInspectReady for arena opponents, stored as
slot.talentImportString alongside existing PvP talent data.
commit e9d7892f17e9c22167348606119e96bd66de2758
Author: Lazar Dilov <ldilov@yahoo.com>
Date: Thu Apr 2 23:20:28 2026 +0300
fix: add visual stat bars and diamond chart to single-build overview
The Build Comparator only showed visual graphics (stat bars, diamond chart,
heatmap) in comparison mode (2+ builds). Since buildId is computed from
talent selections (not gear), capturing with different gear doesn't create
a second build — leaving users stuck on the text-only overview.
Now the single-build overview renders:
- Visual stat bars (blue horizontal bars for each secondary stat)
- 4-axis stat diamond chart (Crit/Haste/Mastery/Vers)
- Item level row below the diamond
The Bar B row (orange) is conditionally hidden when only one build is
present, avoiding confusing "---" placeholders.
commit 0b534073a983673633a96071f9447d901ac951d8
Author: Lazar Dilov <ldilov@yahoo.com>
Date: Thu Apr 2 23:16:13 2026 +0300
feat: fix training dummy damage tracking + redesign Build Comparator page
Training dummy damage fix:
- Restore InCombatLockdown() guard (C_DamageMeter is SecretWhenInCombat)
- Add deferred import queue for sessions finalized during combat
- Add UnitHealth delta sampling as last-resort damage fallback
- Fix undefined unitToken variable in SessionClassifier (2 instances)
- Populate TRAINING_DUMMY_CREATURE_IDS from SeedDummyCatalog
Build Comparator redesign:
- Replace scroll-list side panels with compact dropdown selectors
- Add dual horizontal stat comparison bars (Crit/Haste/Mastery/Vers)
- Add 4-axis stat diamond chart with rotated line textures
- Add win rate heatmap grid comparing both builds vs opponent specs
- Add single-build overview dashboard when only 1 build exists
- Fix frame accumulation leak in dropdown (reuse pattern)
- Fix click-outside dismiss (full-screen interceptor frame)
- Fix missing _renderStatSection crash on Refresh Stats click
commit 956a4f0b0630cd36501142191dbf8ac087acd78f
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Date: Mon Mar 30 06:33:50 2026 +0000
chore(seed): auto-update seed data 2026-03-30

