Repository navigation
Releases
Releases · BannZay/CombatTracking
v3.0
Highlights
- Server-accurate combat model. Combat is tracked for each pair of units, as on the server. PvP combat ends 5 s after the last hostile contact between two units, so a unit can drop combat with one enemy while staying in combat with another.
- New options panel (/ct) with General, Sounds, Units and Profiles pages. Settings from older versions are migrated automatically.
- Test mode (/ct test) shows every enabled icon with sample combat states.
- Countdown timer (optional): the icon shows the seconds left until the unit can leave combat.
Combat tracking
- Hostile contacts that count are melee, hostile spells that hit or miss, and hostile casts, including interrupts, drains, steals and failed dispels. Evades, periodic damage and healing don't refresh combat.
- Deaths end that unit's combat with everyone. Vanish and Feign Death drop only the caster's own combat. A hunter in Feign Death shows as out of combat, not as dead.
- Attacking a pet also puts its owner in combat with the attacker.
- Healing or buffing a unit in combat puts the helper in combat with that unit's opponents.
- Spells without initial aggro (Sap, Hunter's Mark, Blessing of Wisdom, Mind Soothe, ...) only count when the target is already in combat. The spell list is generated from the game data.
- Mass Dispel is handled: a finished Mass Dispel explains a timer that ran out while the unit is still in combat, and the timer continues from the Mass Dispel. In arena the time is exact.
- Leaving combat shows up right away, without waiting for the timer.
- The combat duration is measured on your realm from real fights, and you can also set it by hand (General > Combat timer).
- "?" means a unit is still in combat after its timer ran out (a contact out of combat log range), or that your client can't see it (a stealthed arena enemy, a party member far away). A unit you can't see keeps its last known state instead of looking like it left combat.
- NPC fights have no timer: the swipe stays full.
- By default only players are tracked, since the addon is meant for PvP. You can change this in the options.
Icons, sounds and options
- Units are tracked by GUID, so target, focus and arena icons of the same unit share one state.
- Each unit has its own settings: enabled, sound, and an anchor frame (any frame name; the icon moves with it), plus a position reset.
- Sounds use LibSharedMedia and can be set separately for entering combat, leaving combat and your own leaving combat.
- More display options: icon, scale, dimmed opacity (0 hides dimmed icons), unit names, inverted look, and hiding party icons in raids.
- The leave-combat sound plays once per unit, even when the unit has two icons. No sound plays when a unit dies, when a unit changes (new target, other party member), or when a unit comes back into range.
- /ct lock unlocks the icons. While unlocked, you can drag them, right-click to disable one, and Ctrl+right-click to mute one.
- /ct reset resets the current profile.
Fixes
- Fixed the "show text" option typo.
- Reset no longer duplicates textures.
- The Gladius hook no longer stacks, and the cast bar no longer drifts.
- Positions are saved relative to their anchor frames.
- Sounds no longer play twice from back-to-back UNIT_FLAGS events.
- Updates are throttled and combat log handling is faster.
- Removed unused libraries and the missing LibLogger include.
Known limitations
- Only unit tokens are tracked (player, target, focus, party1-4, arena1-5). Battlegrounds have no arena tokens, so only target and focus work there.
- The addon can't know which units a Mass Dispel hit, so a hit unit's timer only switches to the Mass Dispel once its old timer runs out (about 0.3 s later). Outside arena, a Mass Dispel from a caster without a unit token isn't seen.