62 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
| DISPLAY
 | |
| function()
 | |
| 	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
 | |
| 	if UnitAffectingCombat("player") == true then
 | |
| 		aura_env.endTime = math.floor(GetTime())
 | |
| 	end
 | |
| 	local ppm = aura_env.procs / ((aura_env.endTime - aura_env.startTime) / 60)
 | |
| 	ppm = ppm / 60
 | |
| 	return round(ppm, 2)
 | |
| end
 | |
| 
 | |
| --COMBAT_LOG_EVENT_UNFILTERED
 | |
| function(...)
 | |
| 	local subevent = select(3, ...)
 | |
| 	if subevent == "SPELL_AURA_APPLIED" then
 | |
| 		local caster = select(6, ...)
 | |
| 		local bname = select(14, ...)
 | |
| 		if caster == UnitName("player") and bname == aura_env.bname then
 | |
| 			aura_env.procs = aura_env.procs + 1
 | |
| 			local expTime = select(7, UnitBuff("player", aura_env.bname))
 | |
| 			aura_env.expTime = expTime
 | |
| 		end
 | |
| 	end
 | |
| end
 | |
| 
 | |
| --PLAYER_REGEN_DISABLED
 | |
| function() --Enable timer on start combat
 | |
| 	aura_env.startTime = math.floor(GetTime())
 | |
| 	return true
 | |
| end
 | |
| 
 | |
| --PLAYER_REGEN_ENABLED
 | |
| function() --Disable timer on end cobat
 | |
| 	aura_env.endTime = math.floor(GetTime())
 | |
| 	return true
 | |
| end
 | |
| 
 | |
| --EVERY FRAME TRIGGER
 | |
| function()
 | |
| 	if UnitBuff("player", aura_env.bname) then
 | |
| 		local expTime = select(7, UnitBuff("player", aura_env.bname))
 | |
| 		--print(expTime, aura_env.expTime)
 | |
| 		if expTime ~= aura_env.expTime then
 | |
| 			aura_env.procs = aura_env.procs + 1
 | |
| 		end
 | |
| 		aura_env.expTime = expTime
 | |
| 	end
 | |
| end
 | |
| 
 | |
| INIT
 | |
| aura_env.bname = "Meat Cleaver"
 | |
| aura_env.startTime = 0
 | |
| aura_env.endTime = 0
 | |
| aura_env.procs = 0
 | |
| aura_env.expTime = 0 |