From bb9336ca27020d4e50a5f6da07d85327fd11b4c3 Mon Sep 17 00:00:00 2001 From: linencloth Date: Sat, 13 Nov 2010 20:23:05 +0100 Subject: Core/Spells: Effect sanctuary should stop attackers without threatlist too Closes issue 1943 --HG-- branch : trunk --- src/server/game/Spells/SpellEffects.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/server') 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 -- cgit v1.2.3