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
|
|
}
|