DISPLAY
function()
    local max_absorb = math.floor(UnitHealthMax("player") / 5)
    local absorb = select(17, UnitBuff("player", "Soul Leech")) or 0
    return math.floor((absorb / max_absorb) * 100)
end

TRIGGER
function()
    local buff = UnitBuff("player", "Soul Leech") or 0
    if buff ~= nil then return true else return false end
end

DURATION_TRIGGER
function()
    local max_absorb = math.floor(UnitHealthMax("player") / 5)
    local absorb = select(17, UnitBuff("player", "Soul Leech")) or 0
    local percentage = math.floor((absorb / max_absorb) * 100)
    return percentage, 100, true
end