TRIGGER
function()
    local buff = UnitBuff("player", "Xavaric's Magnum Opus") or 0
    if buff ~= nil then return true else return false end
end

DURATION
function()
    local max_absorb = math.floor(UnitHealthMax("player") / 4)
    local absorb = select(17, UnitBuff("player", "Xavaric's Magnum Opus")) or 0
    local percentage = math.floor((absorb / max_absorb) * 100)
    return percentage, 100, true
end

DISPLAY
function()
    local max_absorb = math.floor(UnitHealthMax("player") / 4)
    local absorb = select(17, UnitBuff("player", "Xavaric's Magnum Opus")) or 0
    return math.floor((absorb / max_absorb) * 100)
end
