coa: register dispel spells for 21 CoA custom classes

Three gaps closed for CoA custom-class players:

1. DCR_init.lua C_Player:IsCustomClass() branches were stubs printing
   "CoA is not currently supported". Filled both branches (SpellsToUse +
   Spells dictionary) with 11 dispel spell IDs covering 10 CoA classes
   (Chronomancer, Cultist, Templar, Venomancer, Pyromancer, Ranger,
   Bloodmage, Runemaster, Starcaller, Witch Hunter). The other 11 CoA
   classes have no dedicated player-cast dispel in coa-db.

2. Dcr_Raid.lua ClassNumTo{LName,UName} were hardcoded to indices
   11..21 (vanilla 10 + HERO). Append every additional CLASS_SORT_ORDER
   token starting at 22 — append-only so existing DecursiveDB skip /
   priority numeric keys stay valid. CoA-class units in raids now get
   priority/skip lookups instead of silent nil-guarded no-ops.

3. Bumped toc Version to Asc-1.1.0-coa.

Spell IDs sourced from coa-db (mind_of_ascension_talent + class_spell)
filtered to effect_id=38 (DISPEL) with misc_value in {1,2,3,4} (Magic,
Curse, Disease, Poison).

PopulateListFrame XML buttons (Dcr_lists.xml) for the 21 CoA classes
deferred — needs UI rework (frame is already near-full at 11 buttons).
Skip/priority lists still work without these populate-by-class
shortcuts.
This commit is contained in:
2026-05-10 05:31:59 +02:00
parent 28f87cf432
commit 32324ff732
3 changed files with 56 additions and 6 deletions
+27 -3
View File
@@ -498,8 +498,20 @@ function D:OnInitialize() -- Called on ADDON_LOADED -- {{{
Pet = false,
}
elseif C_Player:IsCustomClass() then
-- CoA custom-class dispels (mapped to Decursive affliction types)
DC.SpellsToUse[DS["COA_CONTINUUM_RESTORATION"]] = { Types = {DC.MAGIC}, IsBest = 0, Pet = false, } -- Chronomancer
DC.SpellsToUse[DS["COA_DEVOUR_CURSE"]] = { Types = {DC.CURSE}, IsBest = 0, Pet = false, } -- Cultist
DC.SpellsToUse[DS["COA_REBUKE"]] = { Types = {DC.MAGIC, DC.DISEASE, DC.POISON}, IsBest = 1, Pet = false, } -- Templar
DC.SpellsToUse[DS["COA_ANTIVENOM"]] = { Types = {DC.CURSE}, IsBest = 0, Pet = false, } -- Venomancer (baseline)
DC.SpellsToUse[DS["COA_BLIGHT_ANTIDOTE"]] = { Types = {DC.CURSE}, IsBest = 1, Pet = false, } -- Venomancer (MoA)
DC.SpellsToUse[DS["COA_BURN_IMPURITIES"]] = { Types = {DC.DISEASE, DC.POISON}, IsBest = 0, Pet = false, } -- Pyromancer
DC.SpellsToUse[DS["COA_SURVIVAL_POTION"]] = { Types = {DC.DISEASE, DC.POISON}, IsBest = 0, Pet = false, } -- Ranger
DC.SpellsToUse[DS["COA_HEMAL_EXCISION"]] = { Types = {DC.CURSE}, IsBest = 0, Pet = false, } -- Bloodmage
DC.SpellsToUse[DS["COA_WARDING_RUNE"]] = { Types = {DC.MAGIC}, IsBest = 0, Pet = false, } -- Runemaster
DC.SpellsToUse[DS["COA_PRAYER_OF_ELUNE"]] = { Types = {DC.MAGIC}, IsBest = 0, Pet = false, } -- Starcaller
DC.SpellsToUse[DS["COA_WITCHBLOOD_TONIC"]] = { Types = {DC.CURSE}, IsBest = 0, Pet = false, } -- Witch Hunter
end
-- }}}
@@ -1146,8 +1158,20 @@ function D:GetSpellsTranslations(FromDIAG)
for k,v in pairs(defaultSpells) do Spells[k] = v end
elseif C_Player:IsCustomClass() then -- CoA
Spells = {}
print("CoA is not currently supported. Spell IDs need to be set up")
local customSpells = {
["COA_CONTINUUM_RESTORATION"] = { 801271, }, -- Chronomancer (Magic)
["COA_DEVOUR_CURSE"] = { 800402, }, -- Cultist (Curse)
["COA_REBUKE"] = { 525051, }, -- Templar/Monk (Magic, Disease, Poison)
["COA_ANTIVENOM"] = { 800905, }, -- Venomancer/Prophet (Curse)
["COA_BLIGHT_ANTIDOTE"] = { 520153, }, -- Venomancer/Prophet MoA (Curse)
["COA_BURN_IMPURITIES"] = { 520149, }, -- Pyromancer (Disease, Poison)
["COA_SURVIVAL_POTION"] = { 802839, }, -- Ranger (Disease, Poison)
["COA_HEMAL_EXCISION"] = { 803681, }, -- Bloodmage/SonOfArugal (Curse)
["COA_WARDING_RUNE"] = { 804232, }, -- Runemaster/SpiritMage (Magic)
["COA_PRAYER_OF_ELUNE"] = { 801987, }, -- Starcaller (Magic)
["COA_WITCHBLOOD_TONIC"] = { 802278, }, -- WitchHunter (Curse)
}
for k,v in pairs(customSpells) do Spells[k] = v end
else
self:Debug("Player class type cannot be determined or is not set up. Aborting Spell Table setup")
end