130 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			130 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
| --COMBAT_LOG_EVENT_UNFILTERED PLAYER_REGEN_DISABLED PLAYER_REGEN_ENABLED TICKER_GO_PING
 | |
| function(allstates, e, ...)
 | |
|     if e == "COMBAT_LOG_EVENT_UNFILTERED" then
 | |
|         if InCombatLockdown() == true then
 | |
|             local se = select(2, ...)
 | |
|             if se == "SPELL_CAST_SUCCESS" then
 | |
|                 local caster = select(5, ...)
 | |
|                 local casterFlags = select(6, ...)
 | |
|                 if bit.band(casterFlags, 0x00000010) then --Hostiles
 | |
|                     --if bit.band(casterFlags, 0x00000140) then --Hostile players
 | |
|                     local spellID = select(12, ...)
 | |
|                     if aura_env.spells[spellID] then
 | |
|                         allstates[caster] = {
 | |
|                             show = true,
 | |
|                             changed = true,
 | |
|                             progressType = "timed",
 | |
|                             expirationTime = GetTime() + aura_env.spells[spellID].time,
 | |
|                             duration = aura_env.spells[spellID].time,
 | |
|                             autohide = true,
 | |
|                             index = GetTime() + aura_env.spells[spellID].time,
 | |
|                             resort = true,
 | |
|                             icon = select(3, GetSpellInfo(spellID)),
 | |
|                         }
 | |
|                         return true
 | |
|                     end
 | |
|                 end
 | |
|             end
 | |
|         end
 | |
|     elseif e == "TICKER_GO_PING" then
 | |
|         for k, v in pairs(allstates) do
 | |
|             if v.expirationTime < GetTime() then
 | |
|                 v.show = false
 | |
|                 v.changed = true
 | |
|             end
 | |
|             if not v.icon then
 | |
|                 v.show = false
 | |
|                 v.changed = true
 | |
|             end
 | |
|         end
 | |
|         return true
 | |
|     elseif e == "PLAYER_REGEN_DISABLED" then
 | |
|         aura_env.tickerGoPing = C_Timer.NewTicker(0.2, function()
 | |
|             WeakAuras.ScanEvents("TICKER_GO_PING")
 | |
|         end)
 | |
|     elseif e == "PLAYER_REGEN_ENABLED" then
 | |
|         aura_env.tickerGoPing:Cancel()
 | |
|         for k, v in pairs(allstates) do
 | |
|             v.show = false
 | |
|             v.changed = true
 | |
|         end
 | |
|         return true
 | |
|     end
 | |
| end
 | |
| 
 | |
| --INIT
 | |
| aura_env.spells = {
 | |
|     --[774] = {
 | |
|     --    ["time"] = 10,
 | |
|     --    ["prio"] = true,
 | |
|     --},
 | |
|     [6552] = {
 | |
|         ["time"] = 15,
 | |
|         ["prio"] = true,
 | |
|     }, --Pummel
 | |
|     [23920] = {
 | |
|         ["time"] = 25,
 | |
|         prio = false,
 | |
|     }, --Spell Reflection
 | |
|     [1766] = {
 | |
|         ["time"] = 15,
 | |
|         ["prio"] = true,
 | |
|     }, --Kick
 | |
|     [47528] = {
 | |
|         ["time"] = 15,
 | |
|         ["prio"] = true,
 | |
|     }, --Mind Freeze
 | |
|     [47476] = {
 | |
|         ["time"] = 60,
 | |
|         prio = false,
 | |
|     }, --Strangulate
 | |
|     [96231] = {
 | |
|         ["time"] = 15,
 | |
|         ["prio"] = true,
 | |
|     }, --Rebuke
 | |
|     [31935] = {
 | |
|         ["time"] = 15,
 | |
|         ["prio"] = true,
 | |
|     }, --Avengers Shield
 | |
|     [57994] = {
 | |
|         ["time"] = 12,
 | |
|         ["prio"] = true,
 | |
|     }, --Wind Shear
 | |
|     [2139] = {
 | |
|         ["time"] = 24,
 | |
|         ["prio"] = true,
 | |
|     }, --Counterspell
 | |
|     [19647] = {
 | |
|         ["time"] = 24,
 | |
|         ["prio"] = true,
 | |
|     }, --Spell Lock
 | |
|     [119911] = {
 | |
|         ["time"] = 24,
 | |
|         ["prio"] = true,
 | |
|     }, --Optical Blast
 | |
|     [106839] = {
 | |
|         ["time"] = 15,
 | |
|         ["prio"] = true,
 | |
|     }, --Skull Bash
 | |
|     [78675] = {
 | |
|         ["time"] = 60,
 | |
|         ["prio"] = true,
 | |
|     }, --Solar Bream
 | |
|     [116705] = {
 | |
|         ["time"] = 15,
 | |
|         ["prio"] = true,
 | |
|     }, --Spear Hand Strike
 | |
|     [15487] = {
 | |
|         ["time"] = 45,
 | |
|         prio = false,
 | |
|     }, --Silence
 | |
|     [114028] = {
 | |
|         ["time"] = 30,
 | |
|         prio = false,
 | |
|     }, --Mass Spell Reflect
 | |
|     [147362] = {
 | |
|         ["time"] = 24,
 | |
|         ["prio"] = true,
 | |
|     }, --Counter Shot
 | |
| }
 |