@@ -6,13 +6,12 @@ if not lib then return end
66
77local Retail = WOW_PROJECT_ID == WOW_PROJECT_MAINLINE
88local Classic = WOW_PROJECT_ID == WOW_PROJECT_CLASSIC
9- local Cata = WOW_PROJECT_ID == WOW_PROJECT_CATACLYSM_CLASSIC
9+ local Mists = WOW_PROJECT_ID == WOW_PROJECT_MISTS_CLASSIC
1010
1111local next = next
1212local wipe = wipe
1313local CopyTable = CopyTable
1414local CreateFrame = CreateFrame
15- local GetTalentInfo = GetTalentInfo
1615local IsPlayerSpell = IsPlayerSpell
1716local IsSpellKnownOrOverridesKnown = IsSpellKnownOrOverridesKnown
1817
@@ -1276,11 +1275,6 @@ do
12761275 end
12771276 end
12781277
1279- local function CheckTalentClassic (tabIndex , talentIndex )
1280- local _ , _ , _ , _ , rank = GetTalentInfo (tabIndex , talentIndex )
1281- return (rank and rank > 0 ) or nil
1282- end
1283-
12841278 local function UpdateDispels (_ , event , arg1 )
12851279 if event == ' CHARACTER_POINTS_CHANGED' and (not arg1 or arg1 > 0 ) then
12861280 return -- Not interested in gained points from leveling
12921286 if event == ' UNIT_PET' then
12931287 DispelList .Magic = CheckPetSpells ()
12941288 elseif myClass == ' DRUID' then
1295- local cure = Retail and CheckSpell (88423 ) -- Nature's Cure Spell
1289+ local cure = CheckSpell (88423 ) -- Nature's Cure Spell
12961290 local corruption = CheckSpell (2782 ) -- Remove Corruption (retail), Remove Curse (classic)
1297- DispelList .Magic = cure or ( Cata and corruption and CheckTalentClassic ( 3 , 15 )) -- Nature's Cure Talent
1291+ DispelList .Magic = cure
12981292 DispelList .Poison = cure or (not Classic and corruption ) or CheckSpell (2893 ) or CheckSpell (8946 ) -- Abolish Poison / Cure Poison
12991293 DispelList .Curse = cure or corruption
13001294 elseif myClass == ' MAGE' then
@@ -1303,30 +1297,29 @@ do
13031297 DispelList .Magic = greater
13041298 elseif myClass == ' MONK' then
13051299 local mwDetox = CheckSpell (115450 ) -- Detox (Mistweaver)
1306- local detox = mwDetox or CheckSpell (218164 ) -- Detox (Brewmaster or Windwalker)
1307- DispelList .Magic = mwDetox
1300+ local detox = ( not Retail and mwDetox ) or ( Retail and CheckSpell (218164 ) ) -- Detox (Brewmaster or Windwalker)
1301+ DispelList .Magic = mwDetox and ( not Mists or CheckSpell ( 115451 ))
13081302 DispelList .Disease = detox
13091303 DispelList .Poison = detox
13101304 elseif myClass == ' PALADIN' then
13111305 local cleanse = CheckSpell (4987 ) -- Cleanse
13121306 local purify = CheckSpell (1152 ) -- Purify
13131307 local toxins = cleanse or purify or CheckSpell (213644 ) -- Cleanse Toxins
1314- DispelList .Magic = cleanse and (not Cata or CheckTalentClassic ( 1 , 7 )) -- Sacred Cleansing
1308+ DispelList .Magic = cleanse and (not Mists or CheckSpell ( 53551 )) -- Sacred Cleansing
13151309 DispelList .Poison = toxins
13161310 DispelList .Disease = toxins
13171311 elseif myClass == ' PRIEST' then
13181312 local dispel = CheckSpell (527 ) -- Dispel Magic
13191313 DispelList .Magic = dispel or CheckSpell (32375 )
13201314 DispelList .Disease = Retail and (IsPlayerSpell (390632 ) or CheckSpell (213634 )) or not Retail and (CheckSpell (552 ) or CheckSpell (528 )) -- Purify Disease / Abolish Disease / Cure Disease
13211315 elseif myClass == ' SHAMAN' then
1322- local purify = Retail and CheckSpell (77130 ) -- Purify Spirit
1323- local cleanse = purify or CheckSpell (51886 ) -- Cleanse Spirit (Retail/Cata)
1324- local improvedCleanse = Cata and cleanse and CheckTalentClassic (3 , 14 ) -- Improved Cleanse Spirit
1325- local toxins = Retail and CheckSpell (383013 ) or CheckSpell (526 ) -- Poison Cleansing Totem (Retail), Cure Toxins (Classic)
1316+ local purify = CheckSpell (77130 ) -- Purify Spirit
1317+ local cleanse = purify or CheckSpell (51886 ) -- Cleanse Spirit (Retail/Mists)
1318+ local toxins = (Retail and CheckSpell (383013 )) or (Classic and CheckSpell (526 )) -- Poison Cleansing Totem (Retail), Cure Poison (Classic)
13261319 local cureDisease = Classic and CheckSpell (2870 ) -- Cure Disease
13271320 local diseaseTotem = Classic and CheckSpell (8170 ) -- Disease Cleansing Totem
13281321
1329- DispelList .Magic = purify or improvedCleanse
1322+ DispelList .Magic = purify
13301323 DispelList .Curse = cleanse
13311324 DispelList .Poison = toxins
13321325 DispelList .Disease = cureDisease or diseaseTotem
@@ -1361,11 +1354,11 @@ do
13611354 frame :RegisterEvent (' LEARNED_SPELL_IN_TAB' )
13621355 frame :RegisterEvent (' SPELLS_CHANGED' )
13631356
1364- if Retail or Cata then
1357+ if Retail or Mists then
13651358 frame :RegisterEvent (' PLAYER_TALENT_UPDATE' )
13661359 end
13671360
13681361 if myClass == ' WARLOCK' then
13691362 frame :RegisterUnitEvent (' UNIT_PET' , ' player' )
13701363 end
1371- end
1364+ end
0 commit comments