Files
coa-omen/README-CoA.md
T

4.4 KiB

coa-omen

CoA-patched fork of Omen3 3.0.9 (the version Ascension's Bronzebeard realm ships in Interface/AddOns/Omen/). Adds class-color entries for the 21 Ascension custom classes plus the HERO archetype, so the threat-meter bars render in a class-tinted color instead of falling back to the generic neutral fill.

What we changed

File Type Why
CoAClassColors.lua new Merges 22 CoA file_string entries into _G.RAID_CLASS_COLORS (and _G.CUSTOM_CLASS_COLORS if !ClassColors is loaded). Vanilla 10 are left untouched.
Omen.toc edit Loads CoAClassColors.lua before Omen.lua. Version bumped to 3.0.9-coa1.
.gitattributes new * -text — preserves upstream CRLF so future merges from Curse stay tidy.

Omen.lua itself is unchanged. The bug we're fixing is in Omen.lua:1629

(dbBar.UseClassColors and (RAID_CLASS_COLORS[class] or (class == "PET" and dbBar.PetBarColor))) or

— where class is the second return of UnitClass(unit), i.e. the ChrClasses.dbc file_string. For CoA classes that's PROPHET / MONK / FLESHWARDEN / etc., none of which exist in stock RAID_CLASS_COLORS, so the lookup is nil, the and/or chain collapses, and every CoA-class bar gets dbBar.BarColor regardless of UseClassColors. We just populate the table — no Omen logic changes needed.

Class color table

The 22 added file-strings are below. The CoA names on the right are the in-game display names (slugs at db.exil.es/class/<slug>); the file-strings on the left are what UnitClass() actually returns.

file_string CoA class Hex
HERO (all-class) #FFD100
BARBARIAN Barbarian #C1666B
WITCHDOCTOR Witch Doctor #80C7B1
DEMONHUNTER Felsworn #A330C9
WITCHHUNTER Witch Hunter #B8B0A0
STORMBRINGER Stormbringer #4ED9FF
FLESHWARDEN Knight of Xoroth #5C2E73
GUARDIAN Guardian #4A9D59
MONK Templar #00FFBA
SONOFARUGAL Bloodmage #AA1F1F
RANGER Ranger #5E8C3A
CHRONOMANCER Chronomancer #D68A3A
NECROMANCER Necromancer #4D7A5A
PYROMANCER Pyromancer #FF6A00
CULTIST Cultist #7A40B8
STARCALLER Starcaller #79C8D6
SUNCLERIC Sun Cleric #F2C14E
TINKER Tinker #C47C4F
PROPHET Venomancer #B8D246
REAPER Reaper #6E3A8A
WILDWALKER Primalist #8B6F47
SPIRITMAGE Runemaster #6FB6E0

The colors are sensible thematic defaults, not extracted from the client. To override them for one player, drop a !ClassColors config in (the addon is already an OptionalDep of Omen). To override globally in this fork, edit CoAClassColors.lua.

Deploying

rsync -a --delete --exclude=.git --exclude='README*.md' \
    /home/sub/repos/coa/coa-omen/ \
    /srv/add01/wow-ascension/Interface/AddOns/Omen/

Then in-game: /reload (or full client restart). Confirm with the Bartender4-style version check — open Omen options, the title bar should read Omen3 3.0.9-coa1.

Verifying in-game

/run print(RAID_CLASS_COLORS["PROPHET"] and RAID_CLASS_COLORS["PROPHET"].colorStr or "missing")

Should print ff followed by the hex of #B8D246 (i.e. ffb8d246). Repeat for any custom class. If a key prints missing, either CoAClassColors.lua didn't load (check the addon list) or the file-string was different from what's in the table.

To dump every class color the client knows about:

/run for k,v in pairs(RAID_CLASS_COLORS) do print(k, v.colorStr) end

Merging upstream

Stock upstream Omen has a * text=auto .gitattributes that normalises CRLF; we override with * -text so future merges don't produce noise diffs.

git remote add upstream https://github.com/Nevcairiel/Omen.git
git fetch upstream
git merge --no-ff upstream/master

…then resolve Omen.toc (preserve our ## CoA patches ## block at the bottom) and commit.

Repo