diff --git a/Decursive/DCR_init.lua b/Decursive/DCR_init.lua index 20f48a5..98345b9 100644 --- a/Decursive/DCR_init.lua +++ b/Decursive/DCR_init.lua @@ -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 diff --git a/Decursive/Dcr_Raid.lua b/Decursive/Dcr_Raid.lua index 78f413e..ee0b481 100644 --- a/Decursive/Dcr_Raid.lua +++ b/Decursive/Dcr_Raid.lua @@ -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); diff --git a/Decursive/Decursive.toc b/Decursive/Decursive.toc index 85f48d1..86bf006 100644 --- a/Decursive/Decursive.toc +++ b/Decursive/Decursive.toc @@ -18,7 +18,7 @@ ## SavedVariables: DecursiveDB -## Version: Asc-1.0.0 (orig 2.5.1-6-gd3885c5) +## Version: Asc-1.1.0-coa (orig 2.5.1-6-gd3885c5) ## Author: Archarodim ## X-License: All Rights Reserved