From 2f19d97d210c70eade4fb87c1d86642d77bbcd69 Mon Sep 17 00:00:00 2001 From: ariel- Date: Sat, 27 May 2017 01:40:14 -0300 Subject: Core/Spell: abort channeling if no valid targets are found after searching Closes #17624 --- src/server/game/Spells/Spell.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src') diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index d1c7d6c20c4..c1f7cc3459e 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -768,6 +768,14 @@ void Spell::SelectSpellTargets() if (m_spellInfo->IsChanneled()) { + // maybe do this for all spells? + if (m_UniqueTargetInfo.empty() && m_UniqueGOTargetInfo.empty() && m_UniqueItemInfo.empty()) + { + SendCastResult(SPELL_FAILED_BAD_IMPLICIT_TARGETS); + finish(false); + return; + } + uint8 mask = (1 << i); for (std::list::iterator ihit = m_UniqueTargetInfo.begin(); ihit != m_UniqueTargetInfo.end(); ++ihit) { -- cgit v1.2.3