Files
wow-weakauras/Complete Projects/BFA/Null Barrier.lua
2024-08-24 22:43:07 +02:00

67 lines
1.7 KiB
Lua

--UNIT_COMBAT:player UNIT_AURA:player
function(e, ...)
if e == "UNIT_AURA" then
if aura_env.CUnitBuff("Null Barrier") then
aura_env.amount = select(16, aura_env.CUnitBuff("Null Barrier"))
local expTime = math.floor((select(6, aura_env.CUnitBuff("Null Barrier")) * 100))
local ctime = math.floor((GetTime() * 100))
if ctime + 1000 == expTime then aura_env.lastTime = GetTime(); aura_env.maxamount = select(16, aura_env.CUnitBuff("Null Barrier")) end
end
return true
elseif e == "UNIT_COMBAT" then
if aura_env.CUnitBuff("Null Barrier") then
aura_env.amount = select(16, aura_env.CUnitBuff("Null Barrier"))
end
return true
end
end
--DURATION
function()
if aura_env.CUnitBuff("Null Barrier") then
aura_env.region:SetInverse(false)
aura_env.region:Color(0.5, 0, 0.5, 1)
return aura_env.amount, aura_env.maxamount, 1
else
aura_env.region:SetInverse(true)
aura_env.region:Color(0.5, 0.5, 0.5, 1)
return 15, aura_env.lastTime + 15
end
end
--INIT
aura_env.maxamount = 0
aura_env.amount = 0
aura_env.lastTime = GetTime()
aura_env.CUnitBuff = function(spell)
for i = 1, 40 do
local name = UnitBuff("player", i)
if name then
if name == spell then
return UnitBuff("player", i)
end
else
break
end
end
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