aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormegamage <none@none>2009-04-24 23:06:35 -0500
committermegamage <none@none>2009-04-24 23:06:35 -0500
commit44c213ba6f7d378f21a321b7c34196d4d12fbde8 (patch)
tree36dd28755abbd569528e8382cce49d5796a8a985
parent6477e8ca308fdad97814875a2dda991f50e125e6 (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.cpp7
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)