Fixed miniAura debuff not clearing when leaving combat and windshear now checks for interuptable spell before displaying
BillLive [12-30-15 - 12:23]
Fixed miniAura debuff not clearing when leaving combat and windshear now checks for interuptable spell before displaying
Signed-off-by: BillLive <bill@live.com.au>
diff --git a/Elementarist.lua b/Elementarist.lua
index 9a43ff1..0b731f6 100755
--- a/Elementarist.lua
+++ b/Elementarist.lua
@@ -1052,7 +1052,11 @@ function Elementarist:OnUpdate(elapsed)
if (not ElementaristDB.debuffdisabled) then
Elementarist.AuraTrackerUpdate = Elementarist.AuraTrackerUpdate + elapsed
if (Elementarist.AuraTrackerUpdate >= 1) then
- Elementarist:UpdateAuraTracker()
+ if (UnitAffectingCombat("player")) then
+ Elementarist:UpdateAuraTracker()
+ else
+ Elementarist:PurgeDebuffTable()
+ end
end
end
if (not ElementaristDB.shielddisabled) then
diff --git a/modules/elemental.lua b/modules/elemental.lua
index 0db442c..8da49e9 100755
--- a/modules/elemental.lua
+++ b/modules/elemental.lua
@@ -476,6 +476,31 @@ Elementarist.elemental = {
-- interruptions, purge, and AoE on target
local d
+ if Elementarist:SpellAvailable(Elementarist.SpellList["Wind Shear"]) then
+ d = Elementarist:GetSpellCooldownRemaining(Elementarist.SpellList["Wind Shear"])
+ if ( (IsSpellInRange(Elementarist.SpellList["Wind Shear"], "target") == 1) and (d) and (d<0.5) ) then
+ local _, status, threatpct, _, _ = UnitDetailedThreatSituation("player", "target")
+
+
+ --- windshear to drop threat
+ if ( (status) and (threatpct>80) and (Elementarist.person["friendCount"]>1) and (Elementarist.inParty>0)) then
+ return Elementarist.SpellList["Wind Shear"]
+ end
+
+ --- windshear to interupt channel spell
+ spell, _, _, _, _, _, _, notInterruptible = UnitChannelInfo("target")
+ if (spell) and (not notInterruptible) then
+ return Elementarist.SpellList["Wind Shear"]
+ end
+
+ --- windshear to interupt cast spell
+ spell, _, _, _, _, _, _, _, notInterruptible = UnitCastingInfo("target")
+ if (spell) and (not notInterruptible) then
+ return Elementarist.SpellList["Wind Shear"]
+ end
+ end
+ end
+
---- Earthquake with Enhanced chain lightning buff
d = Elementarist:GetSpellCooldownRemaining(Elementarist.SpellList["Earthquake"])
if (d) and (d<0.5) then
@@ -524,25 +549,6 @@ Elementarist.elemental = {
return Elementarist.SpellList["Chain Lightning"]
end
end
-
- if Elementarist:SpellAvailable(Elementarist.SpellList["Wind Shear"]) then
- if IsSpellInRange(Elementarist.SpellList["Wind Shear"], "target") == 1 then
- local _, status, threatpct, _, _ = UnitDetailedThreatSituation("player", "target")
- if ((UnitCastingInfo("target")) or (UnitChannelInfo("target"))) or ((status) and (threatpct>80) and (Elementarist.person["friendCount"]>1) and (Elementarist.inParty>0)) then
- d = Elementarist:GetSpellCooldownRemaining(Elementarist.SpellList["Wind Shear"])
- if (d) and (d<0.5) and (IsSpellInRange(Elementarist.SpellList["Wind Shear"], "target") ) then
- return Elementarist.SpellList["Wind Shear"]
- end
- end
-
- if (UnitChannelInfo("target")) then
- d = Elementarist:GetSpellCooldownRemaining(Elementarist.SpellList["Wind Shear"])
- if (d<0.5) and (interruptable) and (IsSpellInRange(Elementarist.SpellList["Wind Shear"], "target") ) then
- return Elementarist.SpellList["Wind Shear"]
- end
- end
- end
- end
-- check if purgeable buff is on target (not sure if this is ok)
if Elementarist:SpellAvailable(Elementarist.SpellList["Purge"]) then