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

87 lines
2.3 KiB
Lua

--COMBAT_LOG_EVENT_UNFILTERED
function(e, ...)
local se = select(2, ...)
if se == "SPELL_AURA_APPLIED" then
local caster, target, buff = select(5, ...), select(9, ...), select(13, ...)
if caster == UnitName("player") and target == UnitName("player") and buff == "Bulwark of Flame" then
WeakAuras.ScanEvents("FUCKAGE_BEGIN")
C_Timer.After(3, function() WeakAuras.ScanEvents("FUCKAGE_STOP") end)
end
end
end
--FUCKAGE_BEGIN FUCKAGE_STOP
function(e)
if e == "FUCKAGE_BEGIN" then
aura_env.fuckage = 1
if UnitBuff("player", "Bulwark of Flame") then
local absorb = select(17, UnitBuff("player", "Bulwark of Flame"))
absorb = tonumber(absorb)
aura_env.maxAbsorb = absorb
end
elseif e == "FUCKAGE_STOP" then
aura_env.fuckage = 0
end
end
--EVERY FRAME TRIGGER
function()
if aura_env.fuckage == 1 then
return true
else
return false
end
end
--EVERY FRAME DURATION
function()
if aura_env.fuckage == 1 then
if UnitBuff("player", "Bulwark of Flame") then
local absorb = select(17, UnitBuff("player", "Bulwark of Flame"))
absorb = tonumber(absorb)
if absorb > aura_env.maxAbsorb then
aura_env.maxAbsorb = absorb
end
aura_env.absorb = absorb
return absorb, aura_env.maxAbsorb, 1
end
else
return 0, 0, 0
end
end
--NAME INFO
function()
return aura_env.shorten(aura_env.maxAbsorb)
end
--STACKS
function()
return aura_env.shorten(aura_env.absorb)
end
--INIT
aura_env.maxAbsorb = 0
aura_env.fuckage = 0
aura_env.absorb = 0
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