diff --git a/Bartender4/MultiCastBar.lua b/Bartender4/MultiCastBar.lua index 1521061..fc138b2 100644 --- a/Bartender4/MultiCastBar.lua +++ b/Bartender4/MultiCastBar.lua @@ -7,9 +7,14 @@ if not HasMultiCastActionBar then return end local classMask = UnitClassMask("player") -if not bit.contains(EnumUtil.CombineMasks(Enum.ClassMask.SHAMAN, Enum.ClassMask.HERO), classMask) then +-- CoA: the SHAMAN/HERO mask check doesn't know about CoA custom classes +-- (e.g. Witchdoctor, which also uses the totem bar). Fall back to the +-- game-created MultiCastActionBarFrame: if the engine produced it for this +-- player, we wrap it regardless of class. +if not bit.contains(EnumUtil.CombineMasks(Enum.ClassMask.SHAMAN, Enum.ClassMask.HERO), classMask) + and not MultiCastActionBarFrame then return -end +end -- fetch upvalues local L = LibStub("AceLocale-3.0"):GetLocale("Bartender4") diff --git a/Bartender4/Options/MultiCastBar.lua b/Bartender4/Options/MultiCastBar.lua index ad6ee01..889a184 100644 --- a/Bartender4/Options/MultiCastBar.lua +++ b/Bartender4/Options/MultiCastBar.lua @@ -7,7 +7,10 @@ if not HasMultiCastActionBar then return end local classMask = UnitClassMask("player") -if not bit.contains(EnumUtil.CombineMasks(Enum.ClassMask.SHAMAN, Enum.ClassMask.HERO), classMask) then +-- CoA: see MultiCastBar.lua — same gate, same fallback so the options +-- panel is registered for custom classes (e.g. Witchdoctor) too. +if not bit.contains(EnumUtil.CombineMasks(Enum.ClassMask.SHAMAN, Enum.ClassMask.HERO), classMask) + and not MultiCastActionBarFrame then return end