diff options
-rw-r--r-- | src/server/game/Spells/Spell.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 37cc368c4d8..02aca63a6fb 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -990,8 +990,9 @@ void Spell::SelectImplicitChannelTargets(SpellEffIndex effIndex, SpellImplicitTa WorldObject* target = ObjectAccessor::GetUnit(*m_caster, channelTarget); CallScriptObjectTargetSelectHandlers(target, effIndex, targetType); // unit target may be no longer avalible - teleported out of map for example - if (target && target->GetTypeId() == TYPEID_UNIT) - AddUnitTarget(target->ToUnit(), 1 << effIndex); + Unit* unitTarget = target ? target->ToUnit() : nullptr; + if (unitTarget) + AddUnitTarget(unitTarget, 1 << effIndex); else TC_LOG_DEBUG("spells", "SPELL: cannot find channel spell target for spell ID %u, effect %u", m_spellInfo->Id, effIndex); } |