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

68 lines
1.8 KiB
Lua

--GET MAX SHIELD ABSORB AND BAR FOR ABSORB
TRIGGER
function()
local buff = UnitBuff("player", "Bulwark of Order") or ""
if buff ~= "" then return true else return false end
end
DURATION
function()
local shieldAmount = select(17, UnitBuff("player", "Bulwark of Order"))
if shieldAmount > aura_env.maxShield then
aura_env.maxShield = shieldAmount
end
return shieldAmount, aura_env.maxShield, 1
end
DISPLAY
function()
local shield = select(17, UnitBuff("player", "Bulwark of Order")) or 0
return math.floor(shield / 1000) .. "k"
end
ANIMATION
function()
local function range(val, min, max, max2)
local val = 1 - (((max - val) / (max - min)) * max2)
return val
end
local endTime = select(7, UnitBuff("player", "Bulwark of Order")) * 1000
local time = GetTime() * 1000
local maxDur = select(6, UnitBuff("player", "Bulwark of Order")) * 1000
local duration = endTime - time
local c = range(duration, 0, maxDur, 1)
--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
ON SHOW
aura_env.maxShield = 0
TRIGGER
function()
local buff = UnitBuff("player", "Bulwark of Order") or ""
if buff ~= "" then return true else return false end
end
DURATION
function()
local shieldAmount = select(17, UnitBuff("player", "Bulwark of Order"))
local maxShield = UnitHealth("player") / 5
return shieldAmount, maxShield, 1
end
DISPLAY
function()
local shield = select(17, UnitBuff("player", "Bulwark of Order")) or 0
local maxShield = UnitHealth("player") / 5
local pp = (shield / maxShield) * 20
return string.format("%2.1f", pp)
end