Skip to content

Nameplates: recognise Rogue Shiv as an Enrage dispel (fixes #1299) - #1705

Open
Laxxzz wants to merge 1 commit into
EllesmereGaming:mainfrom
Laxxzz:fix/nameplates-shiv-enrage-dispel
Open

Nameplates: recognise Rogue Shiv as an Enrage dispel (fixes #1299)#1705
Laxxzz wants to merge 1 commit into
EllesmereGaming:mainfrom
Laxxzz:fix/nameplates-shiv-enrage-dispel

Conversation

@Laxxzz

@Laxxzz Laxxzz commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

What does this PR do?

Rogues now get the enemy-nameplate dispel indicator on removable Enrage effects.
Previously a Rogue saw no dispel glow on an Enrage, and with "Show All Enemy Buffs"
off the buff was filtered out of the nameplate entirely, because the addon did not
consider Shiv an Enrage removal.

Shiv (5938) carries a Dispel (Enrage) effect but was absent from
OFFENSIVE_DISPEL_SPELLS, so canDispelEnrage stayed false for every Rogue. One
table entry.

Note on the third field: it is left nil rather than "ROGUE". A non-nil third
field with no fourth routes the lookup to the pet spellbook (what Devour Magic
needs), so "ROGUE" would search the pet bank and never resolve. The player-bank
lookup is already class-safe, since no other class knows 5938 - the same shape
Soothe, Purge and Spellsteal use.

Both consumers read this table through ns.GetOffensiveDispelTypes, so the
capability-based aura path and the aura-container purge glow are fixed together.

Separately, and deliberately not changed here: the table's header comment documents
field 3 as requiredClass or nil, which does not describe the pet-bank behavior.
That mismatch is what led the issue reporter to suggest "ROGUE". Might be worth a
comment fix in a separate pass.

Fixes #1299

How was it tested?

Live 12.1 client, deployed over the installed build. Verified on a Rogue with Shiv
that a removable Enrage on an enemy now shows on the nameplate and carries the
configured dispel glow, with Dispel Glow on and Show All Enemy Buffs off. Confirmed
working in game before opening this PR.

Screenshots

Before:
image

After:
image

Checklist

  • New settings default OFF - N/A, no new setting
  • Zero cost while disabled - N/A, one entry in an existing table; no new events,
    hooks, frames or allocations
  • Cheap while enabled - the table is walked only on the existing
    SPELLS_CHANGED / UNIT_PET / TRAIT_CONFIG_UPDATED rebuild
  • No writes onto Blizzard-owned frames - N/A, no frame interaction
  • Tested in-game on live; no version gates or pre-Midnight APIs added

The enemy-nameplate dispel indicator did not treat a Rogue's Shiv as an
Enrage removal, so a Rogue got no dispel glow on a removable Enrage and
the buff was filtered out when "Show All Enemy Buffs" was off.

Shiv (5938) carries a Dispel (Enrage) effect but was missing from
OFFENSIVE_DISPEL_SPELLS, leaving canDispelEnrage false for every Rogue.

The third field is left nil rather than "ROGUE". A non-nil third field
without a fourth routes the lookup to the PET spellbook, which is what
Devour Magic needs and what Shiv must not have; "ROGUE" would search the
pet bank and never resolve. The player-bank lookup is already class-safe,
since no other class knows 5938 - the same shape Soothe, Purge and
Spellsteal use.

Both consumers read this one table through ns.GetOffensiveDispelTypes,
so the capability-based aura path and the aura-container purge glow are
fixed together.

Fixes EllesmereGaming#1299

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug] Nameplates: Rogue Shiv is missing from Enrage-dispel detection

1 participant