Index: Unit.cpp
===================================================================
--- Unit.cpp (revision 5378)
+++ Unit.cpp (working copy)
@@ -7868,10 +7868,23 @@
((Creature*)this)->AI()->AttackStart(target);
return true;
}
-
- // no target but something prevent go to evade mode
+ // no target but something prevent go to evade mode
+ // Check for Hunter Freezing Traps & Rouge Blind Spell
+ // These auras need removing if creature has no valid target.
+ if( ((Creature*)this)->hasUnitState(UNIT_STAT_STUNDED) || ((Creature*)this)->hasUnitState(UNIT_STAT_CONFUSED))
+ {
+ if( ((Creature*)this)->HasAura(3355, 0 ) || ((Creature*)this)->HasAura(14308, 0 ) || ((Creature*)this)->HasAura(14309, 0 ) || ((Creature*)this)->HasAura(2094, 0 ) )
+ {
+ ((Creature*)this)->RemoveAurasDueToSpell(2094);// Blind
+ ((Creature*)this)->RemoveAurasDueToSpell(3355);// Freezing Trap Effect 1
+ ((Creature*)this)->RemoveAurasDueToSpell(14308);// Freezing Trap Effect 2
+ ((Creature*)this)->RemoveAurasDueToSpell(14309);// Freezing Trap Effect 3
+ }
+ }
+
if( !isInCombat() || HasAuraType(SPELL_AURA_MOD_TAUNT) || !CanFreeMove() )
return false;
+
// last case when creature don't must go to evade mode:
// it in combat but attacker not make any damage and not enter to aggro radius to have record in threat list