diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index f743f97ca..d705bc76f 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -2581,8 +2581,7 @@ void Spell::SetTargetMap(SpellEffectIndex effIndex, uint32 targetMode, UnitList& break; case TARGET_DUELVSPLAYER: { - Unit* target = m_targets.getUnitTarget(); - if (target) + if (Unit* target = m_targets.getUnitTarget()) { if (m_caster->IsFriendlyTo(target)) { @@ -2590,10 +2589,13 @@ void Spell::SetTargetMap(SpellEffectIndex effIndex, uint32 targetMode, UnitList& } else { - if (Unit* pUnitTarget = m_caster->SelectMagnetTarget(m_targets.getUnitTarget(), this, effIndex)) + if (Unit* pUnitTarget = m_caster->SelectMagnetTarget(target, this, effIndex)) { - m_targets.setUnitTarget(pUnitTarget); - m_spellFlags |= SPELL_FLAG_REDIRECTED; + if (target != pUnitTarget) + { + m_targets.setUnitTarget(pUnitTarget); + m_spellFlags |= SPELL_FLAG_REDIRECTED; + } targetUnitMap.push_back(pUnitTarget); } } diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 9309a896f..646f2a36b 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "12201" + #define REVISION_NR "12202" #endif // __REVISION_NR_H__