aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rwxr-xr-xsrc/server/game/Spells/SpellEffects.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
index 1d30b69588d..edde26eaea2 100755
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -5327,6 +5327,16 @@ void Spell::EffectSanctuary(SpellEffIndex /*effIndex*/)
return;
unitTarget->getHostileRefManager().UpdateVisibility();
+
+ Unit::AttackerSet const& attackers = unitTarget->getAttackers();
+ for (Unit::AttackerSet::const_iterator itr = attackers.begin(); itr != attackers.end();)
+ {
+ if (!(*itr)->canSeeOrDetect(unitTarget))
+ (*(itr++))->AttackStop();
+ else
+ ++itr;
+ }
+
unitTarget->m_lastSanctuaryTime = getMSTime();
// Vanish allows to remove all threat and cast regular stealth so other spells can be used