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:
+28
-2
@@ -194,8 +194,6 @@ DC.ClassNumToLName = {
|
||||
[21] = LC[DC.CLASS_HERO],
|
||||
}
|
||||
|
||||
DC.ClassLNameToNum = D:tReverse(DC.ClassNumToLName);
|
||||
|
||||
DC.ClassNumToUName = {
|
||||
[11] = DC.CLASS_DRUID,
|
||||
[12] = DC.CLASS_HUNTER,
|
||||
@@ -210,6 +208,34 @@ DC.ClassNumToUName = {
|
||||
[21] = DC.CLASS_HERO,
|
||||
}
|
||||
|
||||
-- CoA: append every RAID_CLASS_COLORS entry not already mapped above (idx 22+).
|
||||
-- Iterate CLASS_SORT_ORDER for stable ordering across sessions; fall back to
|
||||
-- pairs() only if CLASS_SORT_ORDER is unavailable. Append-only preserves the
|
||||
-- numeric keys baked into DecursiveDB skip/priority lists from older configs.
|
||||
do
|
||||
local existing = {}
|
||||
for _, v in pairs(DC.ClassNumToUName) do existing[v] = true end
|
||||
|
||||
local order = _G.CLASS_SORT_ORDER
|
||||
if not order then
|
||||
order = {}
|
||||
for class in pairs(_G.RAID_CLASS_COLORS or {}) do
|
||||
order[#order + 1] = class
|
||||
end
|
||||
end
|
||||
|
||||
local idx = 22
|
||||
for _, class in ipairs(order) do
|
||||
if not existing[class] then
|
||||
DC.ClassNumToLName[idx] = LC[class] or class
|
||||
DC.ClassNumToUName[idx] = class
|
||||
existing[class] = true
|
||||
idx = idx + 1
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
DC.ClassLNameToNum = D:tReverse(DC.ClassNumToLName);
|
||||
DC.ClassUNameToNum = D:tReverse(DC.ClassNumToUName);
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user