-- TODO have colors in global addon object only in one place local normalBarColor = CreateColor(0.3, 0.3, 0.3); local dispelBarColor = CreateColor(1, 0.5, 0); local normalBackColor = {0.7, 0.7, 0.7}; local dispelBackColor = {0.5, 0.2, 0}; local UnitDebuff = UnitDebuff; local CompactUnitFrame_UpdateHealthColor = CompactUnitFrame_UpdateHealthColor; hooksecurefunc("CompactUnitFrame_UpdateDispellableDebuffs", function(frame) if frame and not frame:IsForbidden() and frame:GetName():match("^CompactRaidFrame%d") then -- try to find dispellable debuff if UnitDebuff(frame.displayedUnit, 1, "RAID") ~= nil then frame.optionTable.healthBarColorOverride = dispelBarColor; frame.background:SetColorTexture(unpack(dispelBackColor)); else frame.optionTable.healthBarColorOverride = normalBarColor; frame.background:SetColorTexture(unpack(normalBackColor)); end -- update color CompactUnitFrame_UpdateHealthColor(frame); end end);