diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index a0154c71e..bf328ad19 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -1668,8 +1668,8 @@ void Spell::SetTargetMap(SpellEffectIndex effIndex, uint32 targetMode, UnitList& case 71221: // Gas spore (Mode 1) (ICC, Festergut) unMaxTargets = 4; break; - case 30843: // Enfeeble TODO: exclude top threat target from target selection - case 42005: // Bloodboil TODO: need to be 5 targets(players) furthest away from caster + case 30843: // Enfeeble + case 42005: // Bloodboil case 45641: // Fire Bloom (SWP, Kil'jaeden) case 55665: // Life Drain (h) case 58917: // Consume Minions @@ -2062,15 +2062,19 @@ void Spell::SetTargetMap(SpellEffectIndex effIndex, uint32 targetMode, UnitList& case TARGET_ALL_ENEMY_IN_AREA: FillAreaTargets(targetUnitMap, radius, PUSH_DEST_CENTER, SPELL_TARGETS_AOE_DAMAGE); - if (m_spellInfo->Id == 42005) // Bloodboil + if (m_spellInfo->Id == 42005) // Bloodboil (spell hits only the 5 furthest away targets) { - // manually cuting, because the spell hits only the 5 furthest away targets if (targetUnitMap.size() > unMaxTargets) { targetUnitMap.sort(TargetDistanceOrderFarAway(m_caster)); targetUnitMap.resize(unMaxTargets); } } + else if (m_spellInfo->Id == 30843) // Enfeeble (do not target current victim) + { + if (Unit* pVictim = m_caster->getVictim()) + targetUnitMap.remove(pVictim); + } break; case TARGET_AREAEFFECT_INSTANT: { diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index df3c9c4ad..5dc93f4f0 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 "12019" + #define REVISION_NR "12020" #endif // __REVISION_NR_H__