52 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
COMBAT_LOG_EVENT_UNFILTERED
 | 
						|
function(...)
 | 
						|
    local subEvent = select(3, ...) or ""
 | 
						|
    local caster = select(6, ...) or ""
 | 
						|
    local amount = select(16, ...) or 0
 | 
						|
    local spellName = select(14, ...) or ""
 | 
						|
    if subEvent == "SWING_DAMAGE" then
 | 
						|
        amount = select(13, ...) or 0
 | 
						|
    end
 | 
						|
    if subEvent == "SPELL_HEAL" or subEvent == "SPELL_PERIODIC_HEAL" then
 | 
						|
        overheal = select(17, ...) or 0
 | 
						|
        amount = amount - overheal
 | 
						|
    end
 | 
						|
    if caster == UnitName("player") and amount ~= nil and (subEvent == "SPELL_HEAL" or subEvent == "SPELL_PERIODIC_HEAL") then
 | 
						|
        aura_env.healtotal = aura_env.healtotal + amount
 | 
						|
    end
 | 
						|
    if caster == UnitName("player") and amount ~= nil and (subEvent == "SPELL_DAMAGE" or subEvent == "SPELL_PERIODIC_DAMAGE" or subEvent == "SWING_DAMAGE") then
 | 
						|
        aura_env.dmgtotal = aura_env.dmgtotal + amount
 | 
						|
    end
 | 
						|
end
 | 
						|
 | 
						|
DISPLAY
 | 
						|
function()
 | 
						|
    local output = ""
 | 
						|
    local elapsed_time = GetTime() - aura_env.starttime
 | 
						|
    aura_env.dps = math.floor(aura_env.dmgtotal / elapsed_time)
 | 
						|
    aura_env.hps = math.floor(aura_env.healtotal / elapsed_time)
 | 
						|
    if aura_env.dps > 1e3 then
 | 
						|
        output = output .. "DPS: " .. math.floor(aura_env.dps / 1e3) .. "k    "
 | 
						|
    elseif
 | 
						|
        aura_env.dps > 1e6 then
 | 
						|
        output = output .. "DPS: " .. (math.floor((aura_env.dps / 1e6) / 100) * 100) .. "M    "
 | 
						|
    end
 | 
						|
    if aura_env.hps > 1e3 then
 | 
						|
        output = output .. "HPS: " .. math.floor(aura_env.hps / 1e3) .. "k    "
 | 
						|
    elseif
 | 
						|
        aura_env.hps > 1e6 then
 | 
						|
        output = output .. "HPS: " .. (math.floor((aura_env.hps / 1e6) / 100) * 100) .. "M    "
 | 
						|
    end
 | 
						|
    if WeakAuras.IsOptionsOpen() then
 | 
						|
        return "DPS: 985k    HPS: 312k"
 | 
						|
    end
 | 
						|
    return output
 | 
						|
end
 | 
						|
 | 
						|
INIT
 | 
						|
aura_env.starttime = GetTime()
 | 
						|
aura_env.dps = 0
 | 
						|
aura_env.hps = 0
 | 
						|
aura_env.dmgtotal = 0
 | 
						|
aura_env.healtotal = 0
 |