feat(dispels): include 4 more CoA classes in raid-frame dispel filter

COA_CLASS_DISPELS was missing Sun Cleric, Primalist (WILDWALKER token),
Witchdoctor, and Tinker — so members of those classes saw no dispel
highlighting on raid frames despite being able to cleanse. Sourced
dispel types from coa-decursive's DCR_init.lua spell map (Sanctify,
Soothing Touch, Cleansing Idol, Nanobot Cleanser), which is verified
against gameplay rather than DBC misc_value.

Also adds inline display-name comments for MONK / PROPHET / WILDWALKER
since the in-game class names don't match the internal tokens.
This commit is contained in:
2026-05-25 11:23:42 +02:00
parent 1e2408fd0a
commit 83bbe12a87
+8 -2
View File
@@ -6,10 +6,12 @@ local playerUnits = {player = true, vehicle = true, pet = true}
-- need a manual type check. playerCoaDispels is nil until first checked, false if -- need a manual type check. playerCoaDispels is nil until first checked, false if
-- the player is not a dispelling CoA class, or a {type=true} set if they are. -- the player is not a dispelling CoA class, or a {type=true} set if they are.
local playerCoaDispels local playerCoaDispels
-- Class tokens: MONK = Templar, PROPHET = Venomancer, WILDWALKER = Primalist
-- (CoA in-game display names differ from internal class tokens).
local COA_CLASS_DISPELS = { local COA_CLASS_DISPELS = {
["CHRONOMANCER"] = { Magic = true, Curse = true, Disease = true, Poison = true }, ["CHRONOMANCER"] = { Magic = true, Curse = true, Disease = true, Poison = true },
["MONK"] = { Magic = true, Disease = true, Poison = true }, ["MONK"] = { Magic = true, Disease = true, Poison = true }, -- Templar (Rebuke)
["PROPHET"] = { Poison = true }, ["PROPHET"] = { Poison = true }, -- Venomancer (Antivenom)
["PYROMANCER"] = { Disease = true, Poison = true }, ["PYROMANCER"] = { Disease = true, Poison = true },
["RANGER"] = { Disease = true, Poison = true }, ["RANGER"] = { Disease = true, Poison = true },
["CULTIST"] = { Curse = true }, ["CULTIST"] = { Curse = true },
@@ -17,6 +19,10 @@ local COA_CLASS_DISPELS = {
["SPIRITMAGE"] = { Magic = true }, ["SPIRITMAGE"] = { Magic = true },
["STARCALLER"] = { Magic = true }, ["STARCALLER"] = { Magic = true },
["WITCHHUNTER"] = { Curse = true }, ["WITCHHUNTER"] = { Curse = true },
["SUNCLERIC"] = { Magic = true, Disease = true, Poison = true }, -- Sanctify
["WILDWALKER"] = { Disease = true, Poison = true }, -- Primalist (Soothing Touch — DBC says Magic, gameplay is Poison/Disease)
["WITCHDOCTOR"] = { Disease = true, Poison = true }, -- Cleansing Idol (AoE)
["TINKER"] = { Disease = true, Poison = true }, -- Nanobot Cleanser
} }
local function getCoaDispels() local function getCoaDispels()
if playerCoaDispels ~= nil then return playerCoaDispels end if playerCoaDispels ~= nil then return playerCoaDispels end