diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/game/Spell.cpp | 12 |
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()); } } |