aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/game/Spell.cpp12
1 files changed, 2 insertions, 10 deletions
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp
index 04310f2c6c8..a0b6b79a15b 100644
--- a/src/game/Spell.cpp
+++ b/src/game/Spell.cpp
@@ -1990,14 +1990,10 @@ void Spell::SetTargetMap(uint32 i,uint32 cur,std::list<Unit*> &TagUnitMap)
break;
}
- if(unMaxTargets && TagUnitMap.size() > 1)
+ if(unMaxTargets && !EffectChainTarget && TagUnitMap.size() > 1)
{
- if(m_targets.getUnitTarget())
- {
+ if(m_spellInfo->Id == 5246) //Intimidating Shout
TagUnitMap.remove(m_targets.getUnitTarget());
- if(m_spellInfo->Id != 5246) //Intimidating Shout
- --unMaxTargets;
- }
// remove random units from the map
std::list<Unit*>::iterator itr;
@@ -2007,10 +2003,6 @@ void Spell::SetTargetMap(uint32 i,uint32 cur,std::list<Unit*> &TagUnitMap)
advance(itr, urand(0, TagUnitMap.size() - 1));
TagUnitMap.erase(itr);
}
-
- // the player's target will always be added to the map
- if(m_targets.getUnitTarget() && m_spellInfo->Id != 5246)
- TagUnitMap.push_back(m_targets.getUnitTarget());
}
}