56 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
| --make auto attack speed predictor thing please
 | |
| --COMBAT_LOG_EVENT_UNFILTERED PLAYER_REGEN_DISABLED PLAYER_REGEN_ENABLED
 | |
| function(allstates, e, ...)
 | |
| 	if e == "COMBAT_LOG_EVENT_UNFILTERED" then
 | |
| 		local time = debugprofilestop()
 | |
| 		local subevent = select(2, ...)
 | |
| 		if subevent == "SWING_DAMAGE" or subevent == "SWING_MISSED" then
 | |
| 			local source = select(4, ...)
 | |
| 			local destination = select(9, ...)
 | |
| 			if source == UnitGUID("target") and destination == UnitName("player") then
 | |
| 		        if #aura_env.swings == aura_env.lines * 2 then
 | |
| 		        	for k,v in ipairs(aura_env.swings) do
 | |
| 		        		if k > 1 then
 | |
| 		        			aura_env.swings[k - 1] = v
 | |
| 		        		end
 | |
| 		        	end
 | |
| 		            table.remove(aura_env.swings, (aura_env.lines * 2))
 | |
| 	                table.insert(aura_env.swings, time)
 | |
| 		        else
 | |
| 		        	table.insert(aura_env.swings, time)
 | |
| 		        end
 | |
| 		        local avgTime = 0
 | |
| 		        for k,v in ipairs(aura_env.swings) do
 | |
| 		        	if k > 1 then
 | |
| 		        		if avgTime == 0 then
 | |
| 		        			avgTime = aura_env.swings[k] - aura_env.swings[k - 1]
 | |
| 		        		else
 | |
| 		        			avgTime = (avgTime + (aura_env.swings[k] - aura_env.swings[k - 1])) / 2
 | |
| 		        		end
 | |
| 		        	end
 | |
| 		        end
 | |
| 		        allstates[1] = {
 | |
| 		        	show = true,
 | |
| 		        	changed = true,
 | |
| 		        	progressType = "timed",
 | |
| 		        	avgTime = string.format("%.2f", avgTime / 1000),
 | |
| 		        	expirationTime = GetTime() + (avgTime / 1000),
 | |
| 					duration = avgTime / 1000,
 | |
| 		        }
 | |
| 		        print("return true", allstates[1].expirationTime, allstates[1].duration)
 | |
| 		        return true
 | |
| 			end
 | |
| 		end
 | |
| 	elseif e == "PLAYER_REGEN_DISABLED" or e == "PLAYER_REGEN_ENABLED" then
 | |
| 		aura_env.swings = {}
 | |
| 		if allstates[1] then
 | |
| 			allstates[1].show = false
 | |
| 			allstates[1].changed = true
 | |
| 		end
 | |
| 		return true
 | |
| 	end
 | |
| end
 | |
| 
 | |
| --INIT
 | |
| aura_env.swings = {}
 | |
| aura_env.lines = 2 |