110 lines
4.2 KiB
Lua
110 lines
4.2 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
|
|
local bloq = select(17, ...)
|
|
if bloq then
|
|
aura_env.dmgbloq = aura_env.dmgbloq + bloq
|
|
aura_env.numbloq = aura_env.numbloq + 1
|
|
aura_env.region.blocks:SetText(aura_env.numbloq)
|
|
aura_env.region.damag:SetText(aura_env.color(aura_env.dmgbloq) .. aura_env.shorten(aura_env.dmgbloq))
|
|
end
|
|
end
|
|
elseif se == "SPELL_DAMAGE" then
|
|
local dest = select(10, ...)
|
|
if dest == UnitName("player") then
|
|
local bloq = select(20, ...)
|
|
if bloq then
|
|
aura_env.dmgbloq = aura_env.dmgbloq + bloq
|
|
aura_env.numbloq = aura_env.numbloq + 1
|
|
aura_env.region.blocks:SetText(aura_env.numbloq)
|
|
aura_env.region.damag:SetText(aura_env.color(aura_env.dmgbloq) .. aura_env.shorten(aura_env.dmgbloq))
|
|
end
|
|
end
|
|
elseif se == "SPELL_AURA_APPLIED" then
|
|
local dest = select(6, ...)
|
|
if dest == UnitName("player") then
|
|
local name = select(14, ...)
|
|
if name == "Shield Block" or name == "Last Stand" then
|
|
aura_env.numbloq = 0
|
|
aura_env.dmgbloq = 0
|
|
aura_env.region.blocks:SetText(aura_env.numbloq)
|
|
aura_env.region.damag:SetText(aura_env.color(aura_env.dmgbloq) .. aura_env.shorten(aura_env.dmgbloq))
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
--INIT
|
|
aura_env.numbloq = 0
|
|
aura_env.dmgbloq = 0
|
|
aura_env.color = function(damag)
|
|
local damagcolor = "|cFFFFFFFF"
|
|
if damag <= 0.25 * UnitHealth("player") then damagcolor = "|cFFFF0000"
|
|
elseif damag > 0.25 * UnitHealth("player") and damag <= 0.5 * UnitHealth("player") then damagcolor = "|cFFFF8000"
|
|
elseif damag > 0.5 * UnitHealth("player") and damag <= 0.75 * UnitHealth("player") then damagcolor = "|cFF00FF00"
|
|
elseif damag > 0.75 * UnitHealth("player") and damag <= UnitHealth("player") then damagcolor = "|cFF00FFFF"
|
|
elseif damag > UnitHealth("player") and damag <= 1.33 * UnitHealth("player") then damagcolor = "|cFFFF00FF"
|
|
elseif damag > 1.33 * UnitHealth("player") and damag <= 1.66 * UnitHealth("player") then damagcolor = "|cFFFFFF00"
|
|
elseif damag > 1.66 * UnitHealth("player") then damagcolor = "|c" end
|
|
return damagcolor
|
|
end
|
|
local fontsize = 32
|
|
if not aura_env.region.blocks then
|
|
local text = aura_env.region:CreateFontString(nil, aura_env.region)
|
|
aura_env.region.blocks = text
|
|
print("ok!")
|
|
end
|
|
aura_env.region.blocks:SetFont("Interface\\AddOns\\SharedMedia_MyMedia\\font\\FiraCode-Bold.ttf", fontsize, "OUTLINE")
|
|
aura_env.region.blocks:SetTextColor(1,1,1,1)
|
|
aura_env.region.blocks:SetPoint("CENTER", aura_env.region, "CENTER")
|
|
aura_env.region.blocks:SetJustifyH("LEFT")
|
|
aura_env.region.blocks:SetText("0")
|
|
aura_env.region.blocks:Show()
|
|
|
|
if not aura_env.region.damag then
|
|
local text = aura_env.region:CreateFontString(nil, aura_env.region)
|
|
aura_env.region.damag = text
|
|
print("ok!")
|
|
end
|
|
aura_env.region.damag:SetFont("Interface\\AddOns\\SharedMedia_MyMedia\\font\\FiraCode-Bold.ttf", 16, "OUTLINE")
|
|
aura_env.region.damag:SetTextColor(1,1,1,1)
|
|
aura_env.region.damag:SetPoint("CENTER", aura_env.region, "CENTER", 0, -32)
|
|
aura_env.region.damag:SetJustifyH("LEFT")
|
|
aura_env.region.damag:SetText("0")
|
|
aura_env.region.damag:Show()
|
|
|
|
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.auraID = function(spell)
|
|
for i = 1, 40 do
|
|
local name = UnitBuff("player", i)
|
|
if name then
|
|
if name == spell then
|
|
return i
|
|
end
|
|
else
|
|
break
|
|
end
|
|
end
|
|
end |