The previous file augmented _G.RAID_CLASS_COLORS with hand-picked
placeholder colors. On both the Voljin/CoA and Ascension classic+
clients the table is already populated by FrameXML
(SharedXML/SharedConstants.lua) with all 32 class tokens, so the
augmentation was dead code (only-set-if-nil never triggered) and the
hand-picked palette diverged from what the realm itself ships.
The path that DOES still need fixing is !ClassColors. When that addon
is loaded it injects a separate _G.CUSTOM_CLASS_COLORS populated only
with the vanilla 10, and Omen.lua:914-917 prefers CUSTOM_CLASS_COLORS
over RAID_CLASS_COLORS. So on a !ClassColors-equipped client the 22
CoA tokens silently fall through and the bar reverts to
dbBar.BarColor.
Rewritten to: when CUSTOM_CLASS_COLORS exists, copy missing entries
from RAID_CLASS_COLORS — same nil-only policy. RAID_CLASS_COLORS is
left untouched (the client is authoritative). No more divergence
between Omen and the realm palette.
Adds CoAClassColors.lua which merges 22 entries (HERO + 21 custom) into _G.RAID_CLASS_COLORS at file-load time, before Omen.lua takes its local snapshot. Vanilla 10 are left untouched. !ClassColors is also folded in if loaded.
Fixes: Omen bars rendering generic dbBar.BarColor for all CoA classes because Omen.lua:1629 looks up RAID_CLASS_COLORS[class] keyed on the file_string returned by UnitClass(), and PROPHET / MONK / FLESHWARDEN / etc. don't exist in stock Blizzard tables.