Update
This commit is contained in:
@@ -1,94 +1,94 @@
|
||||
--DISPLAY
|
||||
function()
|
||||
local minhit, maxhit = 9999999, 0
|
||||
local function tohex(input)
|
||||
local output = string.format("%x", input * 255)
|
||||
return output
|
||||
end
|
||||
|
||||
local function grad(c, minhit, maxhit)
|
||||
c = (((maxhit - c) / (maxhit - minhit)) * 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
|
||||
|
||||
local function shorten(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
|
||||
|
||||
local output = "MELEE" .. "\n"
|
||||
local totaldmgdone = 0
|
||||
for k,v in ipairs(aura_env.swings) do --Get total dmg for average hit
|
||||
totaldmgdone = totaldmgdone + v
|
||||
end
|
||||
if #aura_env.swings > 0 then
|
||||
output = output .. shorten(totaldmgdone / #aura_env.swings) .. "\n\n"
|
||||
|
||||
for k,v in ipairs(aura_env.swings) do --Get min and max hit
|
||||
if v > maxhit then
|
||||
maxhit = v
|
||||
end
|
||||
if v < minhit then
|
||||
minhit = v
|
||||
end
|
||||
end
|
||||
for k,v in ipairs(aura_env.swings) do --Final format for output
|
||||
local color1, color2, color3, color4 = 0, 0, 0, 0
|
||||
color1, color2, color3, color4 = grad(v, minhit, maxhit)
|
||||
color1, color2, color3, color4 = tohex(color1), tohex(color2), tohex(color3), tohex(color4)
|
||||
color1, color2, color3, color4 = tostring(color1), tostring(color2), tostring(color3), tostring(color4)
|
||||
if color1 == "0" then color1 = "00" end
|
||||
if color2 == "0" then color2 = "00" end
|
||||
if color3 == "0" then color3 = "00" end
|
||||
local color = "|c" .. color4 .. color1 .. color2 .. color3
|
||||
output = output .. color .. shorten(v) .. "\n"
|
||||
end
|
||||
end
|
||||
return output
|
||||
end
|
||||
|
||||
--PLAYER_REGEN_DISABLED
|
||||
function()
|
||||
aura_env.swings = {}
|
||||
end
|
||||
|
||||
--COMBAT_LOG_EVENT_UNFILTERED
|
||||
function(...)
|
||||
local subEvent = select(3, ...)
|
||||
local target = select(10, ...)
|
||||
if subEvent == "SWING_DAMAGE" and target == UnitName("player") then
|
||||
local block = select(17, ...) or 0
|
||||
local var = select(13, ...) + block
|
||||
if #aura_env.swings == 10 then
|
||||
table.remove(aura_env.swings, 1)
|
||||
end
|
||||
table.insert(aura_env.swings, var)
|
||||
end
|
||||
end
|
||||
|
||||
--INIT
|
||||
aura_env.swingerino = 10
|
||||
aura_env.swings = {}
|
||||
--DISPLAY
|
||||
function()
|
||||
local minhit, maxhit = 9999999, 0
|
||||
local function tohex(input)
|
||||
local output = string.format("%x", input * 255)
|
||||
return output
|
||||
end
|
||||
|
||||
local function grad(c, minhit, maxhit)
|
||||
c = (((maxhit - c) / (maxhit - minhit)) * 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
|
||||
|
||||
local function shorten(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
|
||||
|
||||
local output = "MELEE" .. "\n"
|
||||
local totaldmgdone = 0
|
||||
for k,v in ipairs(aura_env.swings) do --Get total dmg for average hit
|
||||
totaldmgdone = totaldmgdone + v
|
||||
end
|
||||
if #aura_env.swings > 0 then
|
||||
output = output .. shorten(totaldmgdone / #aura_env.swings) .. "\n\n"
|
||||
|
||||
for k,v in ipairs(aura_env.swings) do --Get min and max hit
|
||||
if v > maxhit then
|
||||
maxhit = v
|
||||
end
|
||||
if v < minhit then
|
||||
minhit = v
|
||||
end
|
||||
end
|
||||
for k,v in ipairs(aura_env.swings) do --Final format for output
|
||||
local color1, color2, color3, color4 = 0, 0, 0, 0
|
||||
color1, color2, color3, color4 = grad(v, minhit, maxhit)
|
||||
color1, color2, color3, color4 = tohex(color1), tohex(color2), tohex(color3), tohex(color4)
|
||||
color1, color2, color3, color4 = tostring(color1), tostring(color2), tostring(color3), tostring(color4)
|
||||
if color1 == "0" then color1 = "00" end
|
||||
if color2 == "0" then color2 = "00" end
|
||||
if color3 == "0" then color3 = "00" end
|
||||
local color = "|c" .. color4 .. color1 .. color2 .. color3
|
||||
output = output .. color .. shorten(v) .. "\n"
|
||||
end
|
||||
end
|
||||
return output
|
||||
end
|
||||
|
||||
--PLAYER_REGEN_DISABLED
|
||||
function()
|
||||
aura_env.swings = {}
|
||||
end
|
||||
|
||||
--COMBAT_LOG_EVENT_UNFILTERED
|
||||
function(...)
|
||||
local subEvent = select(3, ...)
|
||||
local target = select(10, ...)
|
||||
if subEvent == "SWING_DAMAGE" and target == UnitName("player") then
|
||||
local block = select(17, ...) or 0
|
||||
local var = select(13, ...) + block
|
||||
if #aura_env.swings == 10 then
|
||||
table.remove(aura_env.swings, 1)
|
||||
end
|
||||
table.insert(aura_env.swings, var)
|
||||
end
|
||||
end
|
||||
|
||||
--INIT
|
||||
aura_env.swingerino = 10
|
||||
aura_env.swings = {}
|
||||
aura_env.pointer = 1
|
||||
Reference in New Issue
Block a user