promotional bannermobile promotional banner

Enemy List

A list of enemies, their target and the aggro on them as well as a unit grid for the raid.

File Details

EnemyList 1.8.110.zip

  • R
  • Apr 25, 2026
  • 146.26 KB
  • 9
  • 2.5.5
  • Classic TBC

File Name

EnemyList 1.8.110.zip

Supported Versions

  • 2.5.5

[1.8.110]

Added

  • Second-on-threat bar — One extra bar directly under your threat bar on each enemy row showing whoever is 2nd on the full threat list for that mob (sorted by group UnitDetailedThreatSituation percentages). Name left, percent right; color by risk (green / yellow / red). Uses the same vertical size as runner-up bars (see Appearance → runner-up height).
  • EnemyList.GetSecondOnThreatInfo(unit) — Returns { name, pct, isTanking } for the second-ranked threat holder, or nil if there is no 2nd entry. Uses the same roster cache as threat-rank logic (~0.12s per mob GUID).
  • Option: Bar for 2nd on threat (under yours) (showSecondOnThreatBar, default on). Toggle in Appearance, between threat bar height and runner-up bars.
  • Test mode / layout preview — Fake rows can show sample 2nd-on-threat data via secondOnDemo on preview threat info.

Changed

  • Row height calculation (effectiveRowHeight) accounts for the optional second bar when enabled.
  • Config UI build (CONFIG_UI_BUILD) bumped to 84 so the options panel rebuilds after an add-on update.

[1.8.109]

Added

  • Threat list rankEnemyList.GetThreatAnalysis now enriches results with threatListRank, threatListMemberCount, and isSecondOnThreat (player is exactly 2nd in the sorted group roster, and not tanking), using a shared sorted threat roster with short TTL caching.
  • Options (opt-in, default off):
    • List: 2nd on threat in aggressives column (listShowSecondInAggroSection) — puts qualifying mobs in the aggressives column.
    • Nameplates: Second on threat: distinct border color (nameplateThreatSecondStyle) — cyan-style border when you are 2nd on threat and the nameplate threat overlay is enabled.

Changed

  • Threat roster queries refactored to a single cached sorted roster per mob GUID, reused for rank, “2nd” detection, and (in 1.8.110) the second-on-threat bar.

[1.8.108]

Fixed

  • Nameplate list mirror — Removed duplicate squashBarSubtreeForMirror definition; deferred squash after Show / SetShown now runs on the correct unit frame(s) via getUnitFrameList, not the bar’s parent.
  • Whole nameplate blinking — High-frequency OnUpdate no longer runs full subtree + region “squash” every tick. Light reapply (hide bars + alpha) runs on a ~0.06s cadence; full squash runs on a separate ~0.18s maintenance pass to catch redrawn textures without fighting the client.

Changed

  • Squash roots aligned with partHide (ClassPowerBar, CastBar, secondaryPowerBar, etc.).

[1.8.107] and earlier (nameplate mirror / threat work)

Fixed (summary)

  • Stock HP / cast flicker on mirrored nameplates: hooks on sub-bars (Show, SetAlpha, SetShown) plus subtree squash to catch textures that bypass a single SetAlpha on a StatusBar.
  • Main list / layout flicker: coalesced refresh, fade-OOC tick stability, applyMainLayoutSize when size unchanged, deferred nameplate mirror refresh.

Added (summary)

  • Nameplate list mirror — Optional full enemy-list row on the nameplate (with insets, SetIgnoreParentAlpha, threat z-order, cast hysteresis, ToT off on mirror rows, etc.).
  • Nameplate threat overlay — Optional colored border by threat role and percentage.

For full file-by-file history, use your version control log alongside this file.