diff options
author | megamage <none@none> | 2009-04-24 23:06:35 -0500 |
---|---|---|
committer | megamage <none@none> | 2009-04-24 23:06:35 -0500 |
commit | 44c213ba6f7d378f21a321b7c34196d4d12fbde8 (patch) | |
tree | 36dd28755abbd569528e8382cce49d5796a8a985 | |
parent | 6477e8ca308fdad97814875a2dda991f50e125e6 (diff) |
*Fix not hitting stealthed target by multi-target spells which require target (not AoE) By Albrecht de Endrau
--HG--
branch : trunk
-rw-r--r-- | src/game/Spell.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index 867d17688e4..27667f0ddc3 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -1415,9 +1415,10 @@ void Spell::SearchChainTarget(std::list<Unit*> &TagUnitMap, float max_range, uin if(cur->GetDistance(*next) > CHAIN_SPELL_JUMP_RADIUS) break; - while(!cur->IsWithinLOSInMap(*next) - || m_spellInfo->DmgClass==SPELL_DAMAGE_CLASS_MELEE - && !m_caster->isInFront(*next, max_range)) + while(m_spellInfo->DmgClass == SPELL_DAMAGE_CLASS_MELEE + && !m_caster->isInFront(*next, max_range) + || !m_caster->canSeeOrDetect(*next, false) + || !cur->IsWithinLOSInMap(*next)) { ++next; if(next == tempUnitMap.end() || cur->GetDistance(*next) > CHAIN_SPELL_JUMP_RADIUS) |