💀 DotTrackerMinMax
See what your damage-over-time effects will do to an enemy, before they finish ticking.
Features ·
Requirement ·
Options ·
Commands ·
How it works ·
Installation ·
Changelog
DotTrackerMinMax predicts the total remaining DoT damage on every enemy and shows the
enemy's remaining health after all DoTs have expired, right on its nameplate.
Made for
WoW Classic Era. It tracks your own DoTs and, optionally, the DoTs of other players
(all classes), added together into one prediction.
✨ Features
- 🔢 Remaining health after all DoTs, shown above the nameplate (red when negative = overkill)
- 💀 Skull icon when the DoTs alone will kill the enemy
- 🟣 Damage bar on the health bar showing the damage still to come: made of the single ticks, each in the color of its debuff, with a glass effect
- ⏱️ Time to death directly on the skull when the DoTs are lethal
- 👥 DoTs of other players are tracked and summed up (22 Classic DoTs, 8 classes)
- 🎯 "Only enemies I attacked" filter
- 🎚️ Sliders for position and size of the text and skull, plus a test button
- 💾 Every feature can be switched on or off, and all settings are saved
📌 Requirement: enemy nameplates
Enemy nameplates with health bars must be enabled, otherwise the display on the enemies cannot be shown.
DotTrackerMinMax draws its information on the
enemy nameplates (the health bar floating above each enemy).
To enable them:
- Press the default key
V to toggle enemy nameplates, or
- enable enemy nameplates in the game's Interface options (the wording can differ slightly between client versions).
If nameplates are off, the addon prints
one hint in the chat the first time it tracks a DoT, naming your actual key binding.
Fallback: if your current target has no visible nameplate, the number is shown in the lower middle
of your screen instead, with all elements: the remaining health, the skull, the time to death and a small health
bar with the damage bar (color, tick lines and glass effect).
Enemies are only shown while their nameplate is visible (nameplates have a limited range).
Other nameplate addons (for example Plater or ThreatPlates) may change the health bar. The text and skull
are attached to the nameplate itself, but the damage segment on the health bar works with the standard
nameplate health bar and may not show with replacement nameplates.
👀 What you see
| Element |
Meaning |
| Number above the nameplate |
The enemy's remaining health after all DoTs have expired. |
| 🔴 Red negative number |
The DoTs deal more damage than the enemy has health left. The number is the overkill, so you can judge how much healing the enemy could receive and still die. |
| 💀 Skull icon |
The DoTs alone are enough to kill the enemy. |
| 🟣 Damage bar on the health bar |
The part of the health bar the remaining DoT damage will take away. See the color table below. |
| Colored ticks in the bar |
The bar is made of the ticks still to come, in the order they land (the next tick is at the right end). Every tick has the color of its debuff, so you can see which DoT does how much. A thin line separates the ticks. |
| ⏱️ Red number on the skull |
Seconds until the DoTs kill the enemy, for example 6 (only when they are lethal). The color can be changed on the Colors tab (default red). |
Debuff colors (default values, each one can be changed on the
Debuffs tab):
| Class |
Debuff colors |
| Warlock |
Corruption purple, Curse of Agony magenta, Immolate orange, Siphon Life green |
| Warrior |
Rend red, Deep Wounds dark red |
| Rogue |
Garrote yellow, Rupture salmon, Deadly Poison lime |
| Hunter |
Serpent Sting green, Immolation Trap light orange |
| Druid |
Rake amber, Rip pink, Moonfire blue, Pounce Bleed brown |
| Priest |
Shadow Word: Pain violet, Devouring Plague dark purple, Holy Fire pale yellow |
| Mage |
Fireball orange-red, Pyroblast red-orange, Flamestrike gold |
| Shaman |
Flame Shock cyan |
The prediction updates live as ticks land, as the enemy's health changes, and when a DoT is refreshed by recasting it.
⚙️ Options
Open the options window by
clicking the minimap button (skull icon) or by typing
/dt.
The window can be dragged and closed with ESC. All settings are saved between sessions.
The settings are sorted into
tabs:
| Tab |
Content |
| Display |
Text above the enemy (remaining HP, current life) and the skull (with the time to death). |
| Bar |
The damage bar on the health bars: on the nameplates, on the target frame, simple mode, lines between the ticks, glass effect. |
| Colors |
The color fields of the simple mode bar, the lines between the ticks and the time to death, and the "Reset colors" button. |
| Debuffs |
One color field per debuff: the color of its ticks in the damage bar. |
| Layout |
The sliders for position and size of the text and the skull. |
| Tracking |
Which DoTs count (other players, crits) and which enemies are shown. |
The buttons
Test (fake DoTs) and
Reset all settings at the bottom are visible on every tab.
The tables below describe all options, in the order they appear in the tabs.
Checkboxes
| Option |
Description |
| Show remaining HP after all DoTs |
Shows the number above the enemy (negative values in red). |
| Also show current life (current -> after DoTs) |
The number above the enemy shows the current life and the life after all DoTs, for example 1200 -> 350. On by default. Turn it off to show only the life after the DoTs. |
| Show skull icon when DoTs are lethal |
Shows a skull above the number when the DoTs alone will kill the enemy. |
| Show DoT damage on health bar |
Draws the damage bar on the enemy's health bar. The bar fades out when it is no longer needed. The fade time is the constant BAR_FADE_SECONDS (0 = no fade) at the top of the Lua file. |
| Simple mode (one plain bar: no colors per debuff, ticks, glass, flash) |
Draws the damage bar as one plain bar in a single color (the simple mode bar color). The ticks, the debuff colors, the glass effect, the flash and the calculations behind them are skipped. Off by default. |
| Show lines between the ticks |
A thin line between the colored ticks. |
| Glass effect on the damage bar |
A gradient (lighter at the top, darker at the bottom) gives the bar depth. |
| Also show the damage bar on the target frame |
Draws the damage bar on the health bar of the game's own target frame (top left) as well. Off by default. |
| Show time to death on the skull |
Seconds until the DoTs kill the enemy, drawn on the skull, only when they are lethal. The font size follows the skull size. |
| Include expected crit damage (DoT crits) |
Adds statistically expected crit damage (based on your spell crit chance) to the prediction. Off by default. Only relevant on versions where DoTs can critically strike. Applies to your own DoTs only. |
| Track DoTs of other players (summed up) |
Also counts DoTs cast by other players on the enemy. All casters are added together into one value. On by default. |
| Track only enemies I attacked |
Only shows enemies that you or your pet have attacked (damage, miss or debuff). Off by default. |
Sliders
The sliders take effect immediately and are saved.
| Slider |
Description |
| Text/skull horizontal offset |
Moves the number and the skull left (negative) or right (positive) from the center of the nameplate. Use it if they overlap with the floating damage text. |
| Text/skull vertical offset |
Moves the number and the skull down (negative) or up (positive). |
| Text size |
Font size of the number (8 to 48). |
| Skull size |
Size of the skull icon (8 to 96, default 55). The time to death on the skull grows with it. |
The
Colors tab has three
color fields: the
simple mode bar color, the
color of the lines between the ticks
and the
time to death color. The colors of the single debuffs are on the
Debuffs tab. A click opens the game's color picker (with opacity). The change is visible immediately and saved.
Reset colors restores the default colors.
Reset all settings (click twice within 4 seconds to confirm) restores
every setting to its default: checkboxes, sliders and colors. The position of the minimap button is kept. The default debuff colors are the table
DEBUFF_COLORS at the top of the Lua file.
The
Test (fake DoTs) button at the bottom does the same as
/dt test: it adds two fake DoTs to your
current target for 30 seconds, so you can adjust the sliders and see the result right away.
The defaults are the constants
TEXT_OFFSET_X,
TEXT_OFFSET_Y,
BOLD_SIZE and
SKULL_SIZE at the top of the Lua file.
Minimap button: left-click opens the options, drag moves the button around the minimap.
⌨️ Slash commands
| Command |
Effect |
/dt |
Open or close the options window. |
/dt test |
Adds two fake DoTs to your current target so you can preview the display (they disappear after 30 seconds). |
/dt debug |
Prints the combat log events DotTrackerMinMax reacts to into the chat (toggle). Useful for bug reports. |
🧠 How it works
DotTrackerMinMax listens to the combat log for DoT ticks. When the first tick of a DoT lands, it
knows the damage per tick and calculates the number of ticks the DoT will have in total. From then on it
multiplies the remaining ticks by the tick damage, adds up all DoTs on that enemy (yours and, if enabled,
those of other players, each caster tracked separately) and subtracts the result from the enemy's current health.
For your own DoTs the real duration is read from the aura. For other players the addon uses a built-in
lookup with the base duration of the highest rank
without talents, so talents and lower ranks can make
the estimate slightly off. Rupture and Rip depend on combo points and use a middle value.
Supported DoTs
| Class |
DoTs |
| 🟣 Warlock |
Corruption, Curse of Agony, Immolate (DoT part), Siphon Life |
| 🔴 Warrior |
Rend, Deep Wounds |
| 🟡 Rogue |
Garrote, Rupture, Deadly Poison |
| 🟢 Hunter |
Serpent Sting, Immolation Trap |
| 🟠 Druid |
Rake, Rip, Moonfire, Pounce Bleed |
| ⚪ Priest |
Shadow Word: Pain, Devouring Plague, Holy Fire |
| 🔵 Mage |
Fireball, Pyroblast, Flamestrike |
| 🔷 Shaman |
Flame Shock |
⚠️ Talents and ranks that can make the estimate wrong
For other players' DoTs the addon assumes the base duration of the highest rank without talents
(your own DoTs read the real duration from the aura). The duration decides how many ticks are
still expected, so anything that changes it makes the prediction wrong for that DoT.
Talents that change the duration
| Spell |
Talent |
Effect |
Result |
| Shadow Word: Pain (Priest) |
Improved Shadow Word: Pain |
In the original Classic design: +3 / +6 seconds duration (2 ranks), i.e. +1 / +2 ticks. |
The addon assumes 18 s (6 ticks). With the talent the real duration is 21 s / 24 s, so the remaining damage is underestimated by one or two ticks. |
This is the only talent found that lengthens a DoT in Classic. Sources conflict on whether WoW Forever keeps the
duration effect, so it is
unconfirmed for Forever.
Talents that change the damage per tick (not the tick count)
These do not break the tick count. The addon measures real tick damage, so the numbers stay correct after the first tick.
Before the first tick lands, nothing is shown at all.
- Warlock: Improved Corruption (cast time), Improved Immolate, Shadow Mastery, Contagion-style damage talents.
- Warrior: Improved Rend (more damage), Deep Wounds (the DoT itself, fixed 12 s).
- Priest: Improved Devouring Plague (listed as changed in the Forever spellbook; effect not verified).
- Druid: Improved Moonfire.
- Mage: Ignite is not tracked (its damage is refreshed and stacked on each crit).
Duration depends on something other than talents
| Spell |
Why the assumed duration can be wrong |
| Rupture (Rogue), Rip (Druid) |
Duration depends on the combo points used. The addon assumes a middle value (12 s). |
| Rend, Rake, Moonfire, Fireball, Flamestrike, Holy Fire, Serpent Sting, Corruption, Curse of Agony, Immolate, Siphon Life, Shadow Word: Pain, Devouring Plague |
Lower ranks have a shorter duration than the highest rank the addon assumes. A caster with a low-rank DoT has fewer ticks than predicted, so the damage is overestimated. |
| Any DoT seen mid-way |
The addon starts counting at the first tick it sees. If you came into range after the DoT was applied, the ticks already done are unknown and the remaining damage is overestimated. |
| Curse of Agony |
Damage per tick rises over time, so a prediction based on the current tick is underestimated at the start. |
WoW Forever specific
The Forever spellbook lists new or changed spells (for example
Lacerate for Hunter and Druid, and a changed
Devouring Plague). These are not in the lookup table yet and are not tracked. Their durations could not be verified,
and neither could whether Forever changed any other talent to affect DoT duration. Check the in-game talent tooltips for
anything that mentions "duration" and report it so the table can be adjusted.
💡 Good to know
- No prediction before the first tick. The damage per tick is only known once a tick has landed.
- Curse of Agony increases its tick damage over its duration. A prediction based on the current tick can
therefore be inaccurate for it. Corruption, Immolate and Siphon Life deal even damage per tick.
- Only DoT damage is counted (yours and, if enabled, other players'). Direct spells and enemy healing
are not included. DoTs of other players are only seen within combat log range (about 50 yards).
- Disable Track DoTs of other players to count only your own DoTs.
- Mind control: an enemy that is mind controlled is friendly and is not shown. Its DoT data is kept, so the
display comes back when it turns hostile again. A mind controlled or possessed unit is not counted as your pet
for Track only enemies I attacked.
- Nameplate frames: the text, skull and bar segment are not created inside Blizzard's nameplate frames, which
avoids the Lua taint error "Can't measure restricted regions" when an enemy changes faction. If the health bar
cannot be measured, only the bar segment is skipped.
- If the game only provides health as a percentage for a target (maximum health of exactly 100),
the health bar segment is not drawn.
- Crit handling: a critical tick is never used as the basis for the prediction; the last normal tick is used.
Expected crit damage is only applied to your own DoTs.
The crit multiplier is set as a constant (
CRIT_MULTIPLIER) in the Lua file and may need adjusting
for other game versions. Crits on DoT ticks cannot happen in Classic Era, so this part is untested there.
📦 Installation
- Download the addon and unzip it.
- Copy the
DotTrackerMinMax folder into
World of Warcraft\_classic_era_\Interface\AddOns\
- Start the game (or type
/reload) and make sure DotTrackerMinMax is enabled in the AddOns list at character
selection.
The folder must contain
DotTrackerMinMax.toc and
DotTrackerMinMax.lua.
If the addon is shown as
out of date, check the "Load out of date AddOns" box in the AddOns list.
🗺️ Planned features
- <input type="checkbox" disabled style="margin: 0px 0.35em 0.25em -1.6em; vertical-align: middle;" checked> Addon info in the game menu (Escape → Options → AddOns)
- <input type="checkbox" disabled style="margin: 0px 0.35em 0.25em -1.6em; vertical-align: middle;"> More DoT effects from weapons and consumables
- <input type="checkbox" disabled style="margin: 0px 0.35em 0.25em -1.6em; vertical-align: middle;" checked> Better visual effect for DoTs: the bar is aligned with the health bar and shows color by danger, tick lines, a glass effect and the time to death
- <input type="checkbox" disabled style="margin: 0px 0.35em 0.25em -1.6em; vertical-align: middle;"> Mana absorb DoTs?
- glimming skull + skull below the enemy icon
- <input type="checkbox" disabled style="margin: 0px 0.35em 0.25em -1.6em; vertical-align: middle;" checked> Show current life -> expected life after the DoTs on top of the health bar?
- <input type="checkbox" disabled style="margin: 0px 0.35em 0.25em -1.6em; vertical-align: middle;" checked> Show all elements also on the target display (health bar with damage bar, tick lines, glass effect and time to death)
show healing over time to calculate against the damage
Known bug: Improved Shadow Word: Pain is not displayed correctly, even for your own character.
🐞 Feedback and bug reports
Please include your game version, what you did, and, if possible, the Lua error message
(enable
Display Lua Errors or use an addon like BugSack) and the output of
/dt debug.