Files
wow-weakauras/Complete Projects/Legion/Rejuv.lua
2024-08-24 22:43:07 +02:00

67 lines
2.3 KiB
Lua

--UPDATE_MOUSEOVER_UNIT
function()
return true
end
--DISPLAY
function()
if UnitBuff("mouseover", "Rejuvenation (Germination)") then
local caster = select(8, UnitBuff("mouseover", "Rejuvenation (Germination)"))
if caster == "player" then
local amount = select(17, UnitBuff("mouseover", "Rejuvenation (Germination)"))
local exp = select(7, UnitBuff("mouseover", "Rejuvenation (Germination)"))
local dur = select(6, UnitBuff("mouseover", "Rejuvenation (Germination)"))
local remDur = exp - GetTime()
return aura_env.hexgrad(dur - remDur, 0, dur) .. aura_env.shorten(amount) .. "\124r"
end
end
end
--INIT
aura_env.hexgrad = function(val, min, max)
local function tohex(input)
local output = string.format("%x", input * 255)
return output
end
local function grad(c, min, max)
c = (((max - c) / (max - min)) * 1)
if c > 0.5 then
c = 1 - (2 * (c - 0.5))
return c, 1, 0, 1
else
c = c * 2
return 1, c, 0, 1
end
end
local color1, color2, color3, color4 = 0, 0, 0, 0
color1, color2, color3, color4 = grad(val, min, max)
color1, color2, color3, color4 = tohex(color1), tohex(color2), tohex(color3), tohex(color4)
color1, color2, color3, color4 = tostring(color1), tostring(color2), tostring(color3), tostring(color4)
if string.len(color1) == 1 then color1 = "0" .. color1 end
if string.len(color2) == 1 then color2 = "0" .. color2 end
if string.len(color3) == 1 then color3 = "0" .. color3 end
if string.len(color4) == 1 then color4 = "0" .. color4 end
local color = "\124c" .. color4 .. color1 .. color2 .. color3
return color
end
aura_env.shorten = function(val)
local function round(var, n)
if (n) then
var = math.floor((var * 10 ^ n) + 0.5) / (10 ^ n)
else
var = math.floor(var + 0.5)
end
return var
end
local n = 2
if val < 1e3 then
return round(val, n)
elseif val > 1e3 and val < 1e6 then
return round(val / 1e3, n) .. "k"
elseif val > 1e6 and val < 1e9 then
return round(val / 1e6, n) .. "M"
elseif val > 1e9 then
return round(val / 1e9, n) .. "G"
end
end