77 lines
2.5 KiB
Lua
77 lines
2.5 KiB
Lua
--COMBAT_LOG_EVENT_UNFILTERED PLAYER_REGEN_DISABLED
|
|
function(...)
|
|
local event = select(1, ...)
|
|
if event == "COMBAT_LOG_EVENT_UNFILTERED" then
|
|
local e = select(3, ...)
|
|
if e == "SWING_DAMAGE" then
|
|
local target = select(10, ...)
|
|
if target == UnitName("player") then
|
|
local bloq = select(17, ...)
|
|
if bloq ~= nil then
|
|
local dmg = select(13, ...)
|
|
local totaldmg = dmg + bloq
|
|
local perbloq = aura_env.round((bloq / totaldmg) * 100, 2)
|
|
--print(dmg, totaldmg, perbloq, bloq)
|
|
aura_env.pbloq = (aura_env.pbloq + perbloq) / 2
|
|
aura_env.totalbloq = aura_env.totalbloq + bloq
|
|
end
|
|
end
|
|
end
|
|
if e == "SPELL_DAMAGE" or e == "SPELL_PERIODIC_DAMAGE" then
|
|
local target = select(10, ...)
|
|
if target == UnitName("player") then
|
|
local bloq = select(21, ...)
|
|
if bloq ~= nil then
|
|
local dmg = select(16, ...)
|
|
local totaldmg = dmg + bloq
|
|
local perbloq = aura_env.round((bloq / totaldmg) * 100, 2)
|
|
--print(dmg, totaldmg, perbloq, bloq)
|
|
aura_env.pbloq = (aura_env.pbloq + perbloq) / 2
|
|
aura_env.totalbloq = aura_env.totalbloq + bloq
|
|
end
|
|
end
|
|
end
|
|
end
|
|
if event == "PLAYER_REGEN_DISABLED" then
|
|
aura_env.totalbloq = 0
|
|
end
|
|
end
|
|
|
|
--DISPLAY
|
|
function()
|
|
return aura_env.shorten(aura_env.totalbloq) .. "\n" .. aura_env.round(aura_env.pbloq, 2) .. "%\n" .. aura_env.round(aura_env.sbloq, 2) .. "%"
|
|
end
|
|
|
|
--INIT
|
|
aura_env.totalbloq = 0
|
|
aura_env.pbloq = 40
|
|
aura_env.sbloq = 40
|
|
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
|
|
aura_env.round = function(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
|