Files
wow-weakauras/WeakAuras/Projects/Necrotic Rot.lua

69 lines
1.6 KiB
Lua

TRIGGER
function()
if UnitGroupRolesAssigned("player") == "HEALER" then
if UnitDebuff("target", "Necrotic Rot") then
return true
end
end
if UnitGroupRolesAssigned("player") == "TANK" then
if UnitDebuff("player", "Necrotic Rot") then
return true
end
end
end
TRIGGER DURATION
function()
if UnitGroupRolesAssigned("player") == "HEALER" then
if UnitDebuff("target", "Necrotic Rot") then
aura_env.stacks = select(4, UnitDebuff("target", "Necrotic Rot"))
aura_env.exptime = select(7, UnitDebuff("target", "Necrotic Rot"))
aura_env.maxDur = select(6, UnitDebuff("target", "Necrotic Rot"))
end
end
if UnitGroupRolesAssigned("player") == "TANK" then
if UnitDebuff("player", "Necrotic Rot") then
aura_env.stacks = select(4, UnitDebuff("player", "Necrotic Rot"))
aura_env.exptime = select(7, UnitDebuff("player", "Necrotic Rot"))
aura_env.maxDur = select(6, UnitDebuff("player", "Necrotic Rot"))
end
end
if aura_env.stacks > 33 then
aura_env.stacks = 33
end
return 33 - aura_env.stacks, 33, 1
end
TRIGGER NAME
function()
return - (aura_env.stacks * 3)
end
DISPLAY
function()
return aura_env.stacks
end
ANIMATION COLOR
function()
local function range(val, min, max, max2)
local val = 1 - (((max - val) / (max - min)) * max2)
return val
end
local remtime = aura_env.exptime - GetTime()
local c = range(remtime, 0, aura_env.maxDur, 1)
c = 1 - c
c expected as [0, 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
INIT
aura_env.stacks = 0
aura_env.exptime = 0
aura_env.maxDur = 0