feat: add colorStr and GenerateHexColor methods to RAID_CLASS_COLORS

Enhance RAID_CLASS_COLORS entries with colorStr hex string field and
GenerateHexColor()/GenerateHexColorMarkup() methods. Many addons
(Prat, Details, oUF) use colorStr to build colored chat text and
GenerateHexColor for inline color markup.
This commit is contained in:
Kelsi 2026-03-21 10:02:34 -07:00
parent 9b2f100387
commit 3ad917bd95

View file

@ -3724,13 +3724,22 @@ void LuaEngine::registerCoreAPI() {
"function StaticPopup_Show() end\n"
"function StaticPopup_Hide() end\n"
// CreateTexture/CreateFontString are now C frame methods in the metatable
"RAID_CLASS_COLORS = {\n"
" WARRIOR={r=0.78,g=0.61,b=0.43}, PALADIN={r=0.96,g=0.55,b=0.73},\n"
" HUNTER={r=0.67,g=0.83,b=0.45}, ROGUE={r=1.0,g=0.96,b=0.41},\n"
" PRIEST={r=1.0,g=1.0,b=1.0}, DEATHKNIGHT={r=0.77,g=0.12,b=0.23},\n"
" SHAMAN={r=0.0,g=0.44,b=0.87}, MAGE={r=0.41,g=0.80,b=0.94},\n"
" WARLOCK={r=0.58,g=0.51,b=0.79}, DRUID={r=1.0,g=0.49,b=0.04},\n"
"}\n"
"do\n"
" local function cc(r,g,b)\n"
" local t = {r=r, g=g, b=b}\n"
" t.colorStr = string.format('%02x%02x%02x', math.floor(r*255), math.floor(g*255), math.floor(b*255))\n"
" function t:GenerateHexColor() return '|cff' .. self.colorStr end\n"
" function t:GenerateHexColorMarkup() return '|cff' .. self.colorStr end\n"
" return t\n"
" end\n"
" RAID_CLASS_COLORS = {\n"
" WARRIOR=cc(0.78,0.61,0.43), PALADIN=cc(0.96,0.55,0.73),\n"
" HUNTER=cc(0.67,0.83,0.45), ROGUE=cc(1.0,0.96,0.41),\n"
" PRIEST=cc(1.0,1.0,1.0), DEATHKNIGHT=cc(0.77,0.12,0.23),\n"
" SHAMAN=cc(0.0,0.44,0.87), MAGE=cc(0.41,0.80,0.94),\n"
" WARLOCK=cc(0.58,0.51,0.79), DRUID=cc(1.0,0.49,0.04),\n"
" }\n"
"end\n"
// Money formatting utility
"function GetCoinTextureString(copper)\n"
" if not copper or copper == 0 then return '0c' end\n"