Files
wow-weakauras/Complete Projects/BFA/Block Ratio.lua

64 lines
1.6 KiB
Lua

--COMBAT_LOG_EVENT_UNFILTERED
function(...)
local se = select(3, ...)
if se == "SWING_DAMAGE" then
local dest = select(10, ...)
if dest == UnitName("player") then
aura_env.nummelee = aura_env.nummelee + 1
local bloq = select(17, ...)
if bloq then
aura_env.numbloq = aura_env.numbloq + 1
local amount = select(13, ...)
local total = amount + bloq
local pbloq = bloq / total * 100
aura_env.bloqs[#aura_env.bloqs + 1] = pbloq
local count = 1
for k,v in ipairs(aura_env.bloqs) do
aura_env.pbloq = aura_env.pbloq + v
count = count + 1
end
aura_env.pbloq = aura_env.pbloq / count
return true
end
end
elseif se == "SPELL_DAMAGE" then
local dest = select(10, ...)
if dest == UnitName("player") then
aura_env.nummelee = aura_env.nummelee + 1
local bloq = select(20, ...)
if bloq then
aura_env.numbloq = aura_env.numbloq + 1
local amount = select(16, ...)
local total = amount + bloq
local pbloq = bloq / total * 100
aura_env.bloqs[#aura_env.bloqs + 1] = pbloq
local count = 1
for k,v in ipairs(aura_env.bloqs) do
aura_env.pbloq = aura_env.pbloq + v
count = count + 1
end
aura_env.pbloq = aura_env.pbloq / count
return true
end
end
end
end
--DISPLAY
function()
return aura_env.round(aura_env.pbloq, 2) .. "\n" .. aura_env.round((aura_env.numbloq / aura_env.nummelee) * 100, 2)
end
--INIT
aura_env.bloqs = {}
aura_env.numbloq = 0
aura_env.nummelee = 0
aura_env.pbloq = 0
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