45 lines
1.5 KiB
Lua
45 lines
1.5 KiB
Lua
--COMBAT_LOG_EVENT_UNFILTERED
|
|
function(allstates, e, ...)
|
|
local aura_env = aura_env
|
|
local se = select(2, ...)
|
|
if se == "SPELL_CAST_SUCCESS" then
|
|
local caster = select(5, ...)
|
|
local spell = select(13, ...)
|
|
if caster == UnitName("player") and spell == "Ironfur" then
|
|
allstates[#allstates + 1] = {
|
|
show = true,
|
|
changed = true,
|
|
resort = true,
|
|
index = GetTime(),
|
|
progressType = "timed",
|
|
expirationTime = GetTime() + aura_env.ironfurDuration,
|
|
duration = aura_env.ironfurDuration,
|
|
autoHide = true,
|
|
}
|
|
if aura_env.buff == true then
|
|
allstates[#allstates].expirationTime = allstates[#allstates].expirationTime + 2
|
|
allstates[#allstates].duration = allstates[#allstates].duration + 2
|
|
end
|
|
return true
|
|
end
|
|
elseif se == "SPELL_AURA_APPLIED" then
|
|
local caster = select(5, ...)
|
|
local spell = select(13, ...)
|
|
if caster == UnitName("player") and spell == "Guardian of Elune" then
|
|
aura_env.buff = true
|
|
end
|
|
elseif se == "SPELL_AURA_REMOVED" then
|
|
local caster = select(5, ...)
|
|
local spell = select(13, ...)
|
|
if caster == UnitName("player") and spell == "Guardian of Elune" then
|
|
C_Timer.After(0.1, function()
|
|
aura_env.buff = false
|
|
end)
|
|
end
|
|
end
|
|
end
|
|
|
|
--INIT
|
|
aura_env.ironfurDuration = 6
|
|
aura_env.buff = false
|