promotional bannermobile promotional banner

Epic Damage Meter

A lightweight, non-bloated World of Warcraft damage meter designed for accurate real-time tracking and minimal to non existent performance impact.

File Details

EpicDamageMeter v.2.5.8

  • R
  • Jun 24, 2026
  • 465.55 KB
  • 377
  • 12.0.7+14
  • Classic TBC + 4

File Name

EpicDamageMeter.zip

Supported Versions

  • 12.0.7
  • 12.0.5
  • 12.0.1
  • 5.5.4
  • 5.5.3
  • 4.4.2
  • 4.4.1
  • 3.80.1
  • 3.80.0
  • 3.4.5
  • 3.4.4
  • 2.5.5
  • 2.5.4
  • 1.15.8
  • 1.15.7

picDamageMeter - Changelog
============================

Version 2.5.8
-------------
Fix: Create New Profile did nothing on Classic (report: Furion)

THE BUG
- Settings > Profiles > "Create New Profile": typing a name and
  clicking Create did nothing on Classic, TBC, Wrath, MoP and
  Classic Era.
- Cause: the button called db:CreateProfile(), but that method
  only exists on Retail (it's part of our custom Retail profile
  system). On every other flavor the addon uses stock AceDB-3.0,
  which has no CreateProfile — so the `if db.CreateProfile`
  guard was false and the click silently did nothing.

THE FIX
- The button now falls back to AceDB's SetProfile(name) on those
  clients, which creates the profile on first use (and switches
  to it). Retail keeps using its CreateProfile().
- Added a duplicate-name guard for both backends and a localized
  "Profile already exists" message.

Version 2.5.7
-------------
Retail: Spell Tooltips in the Breakdown Window

THE GAP
- On Retail (Midnight), spells in the player breakdown had NO
  tooltip and NO click reaction at all — hovering a spell like
  "Schwarzer Pfeil" showed nothing. That's because the Retail
  spell list is fed by C_DamageMeter, and only CLEU-sourced
  spells (Classic) had tooltip/detail wiring.

THE FIX
- Retail spells now show a tooltip on hover with everything the
  Blizzard API exposes: Total, DPS/HPS, Share %, Overkill, and
  the Avoidable / Deadly flags. When CLEU cast tracking has data
  (PvE), it also shows Casts and damage-per-cast.
- Captured the extra C_DamageMeter fields (overkillAmount,
  isAvoidable, isDeadly) that were previously thrown away.
- SecretValue-safe: tainted amounts in PvP are abbreviated via
  the Blizzard formatter instead of erroring.

FULL BREAKDOWN ON RETAIL (PvE)
- Our CLEU parser already runs alongside C_DamageMeter in PvE, so
  it has the normal/crit split and min–max that the Blizzard API
  lacks. The Retail spell tooltip now ENRICHES itself with that
  data when available: Hits, Crits (%), Normal avg + range, Crit
  avg + range — the same depth as Classic.
- Totals/DPS/share stay sourced from C_DamageMeter so the tooltip
  still matches the bars exactly; only the extra breakdown lines
  come from CLEU.
- Clicking a Retail spell now opens the full detail panel too,
  whenever that CLEU data exists for the spell.

NOTE
- In PvP (CLEU restricted) only the API fields show — no crit
  split — which is expected. Everything degrades gracefully.

Version 2.5.6
-------------
Details-style Per-Spell Breakdown

- Adopted Details!'s per-spell data model: each ability now tracks
  NORMAL and CRIT hits separately (count, total, min, max each),
  on top of the existing totals.
- The spell tooltip in the breakdown window (click a player bar,
  then hover a spell) now shows, Details-style:
    * Casts and damage-per-cast
    * Normal Hits: count / average, and min–max range
    * Critical Hits: count / average, and min–max range
  This makes it obvious how hard your crits hit vs your normal
  hits, and how much each cast is really worth.
- The spell DETAIL panel (click a spell in the breakdown) now
  shows the same expanded grid: Casts, Per Cast, Normal Avg, Crit
  Avg, Normal Range, Crit Range, Average and Max Hit. Healing
  spells get a matching grid (Casts, Per Cast, Average, Overheal,
  Overheal %, Effective %). The stat slots are relabeled per
  damage/healing so each mode reads correctly.
- Data is recorded on the CLEU path (Classic, TBC, Wrath, MoP,
  Classic Era). On Retail the Blizzard meter supplies its own
  per-spell detail; the breakdown lines simply don't show there.
- DoT ticks are bucketed as normal hits (they can't crit), so the
  v2.5.4 crit-rate fix stays consistent.

Version 2.5.5
-------------
Classic: Keep Data on Reload + Font Size Fix (report: Smuglerz)

KEEP DATA ON RELOAD / RELOG
- Segment history was only persisted on Retail — on Classic, TBC,
  Wrath, MoP and Classic Era a /reload or relog wiped every
  segment. Now ALL flavors save fight history to SavedVariables
  and restore it on login/reload.
- New PLAYER_LOGOUT handler does a full flush (including the
  current fight) right before SavedVariables are written, so a
  mid-raid reload keeps everything that's on screen — not just
  completed boss fights.
- Also saved after each combat / boss so nothing is lost even if
  the logout flush is missed.
- New setting Settings > Combat > "Keep Data on Reload" (default
  on) — both Save and Load respect it, so you can turn the whole
  thing off if you prefer a clean slate each session.

CLASSIC/SoD FONT SIZE FIX
- On Classic (notably SoD), bar fonts ignored the user's size
  (e.g. 16pt) after a reload until a settings slider was nudged.
- Cause: early in login the font system isn't ready, and
  SetFont() can silently fail — no error, and GetFont() still
  reports the old font, so our "did it work?" check passed while
  the size hadn't actually changed.
- Fix 1: SafeSetFont now verifies the APPLIED size matches the
  requested one and falls back to the built-in font (which applies
  reliably even early) at the correct size if not.
- Fix 2: Classic re-applies settings shortly after login so the
  chosen font + size stick on the first paint, no slider nudge
  needed.

Version 2.5.4
-------------
Accurate Crit Rate for DoT Spells (user report: FurionStormrage)

THE BUG
- On TBC, Fireball (and similar hybrids) deal a direct hit PLUS a
  small DoT that ticks over time. DoT ticks CANNOT crit. We were
  counting those ticks in the crit-rate denominator, so Fireball's
  crit rate always read far too low — the dot ticks polluted it.

THE FIX
- The CLEU parser now flags SPELL_PERIODIC_DAMAGE as periodic and
  records a separate damageTicks counter on each ability.
- Crit rate is now computed over DIRECT hits only
  (damageHits - damageTicks). The DoT damage is still counted in
  the spell's total — only the crit-rate math changed.
- The spell breakdown now shows the dot ticks separately:
    * Bar subtext: "11 hits · 5 crits (45%) · 19 dot"
    * Ability tooltip / stats: a "DoT Ticks" line, and Hits shows
      the direct count (with "+N dot" where relevant).
- Affects the CLEU/database path (Classic, TBC, Wrath, MoP). On
  Retail, C_DamageMeter supplies its own per-spell crit stats.
- Old saved data without the tick counter behaves exactly as
  before (ticks default to 0).

Version 2.5.3
-------------
More Visual Polish: Class BG, Zebra Rows, Pulse, Empty State

CLASS-COLORED BAR BACKGROUND
- The existing "Class Color BG" option now renders a brighter,
  cleaner class tint behind the bar track (was a very dark flat
  0.15 mix). Centralized so both render paths look identical.

ZEBRA STRIPING
- Alternating rows get a slightly lifted background so long lists
  are easier to read (the eye follows each row). Settings > Bars >
  "Zebra Stripes" (default on).

TOP-RANK PULSE
- The #1 gold edge accent now gently pulses (alpha bounce). Makes
  the leader feel alive without being noisy. Settings > Bars >
  "Pulse Top Rank" (default on); independent of the accent itself.

EMPTY STATE
- When there's no combat data yet (fresh login, after a reset, or
  an empty segment) the window shows a subtle logo + "Waiting for
  combat..." instead of a blank box. Settings > Bars > "Empty
  State Hint" (default on).

- All four share centralized helpers (ApplyBarBackground,
  ApplyTopRank, ShowEmptyState) so the database and C_DamageMeter
  render paths stay perfectly in sync.