Core/Spells: fix dispel aggro in a less hacky way!
This commit is contained in:
@@ -2505,7 +2505,7 @@ void Spell::DoAllEffectOnTarget(TargetInfo* target)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (missInfo != SPELL_MISS_EVADE && m_caster && !m_caster->IsFriendlyTo(unit) && !m_spellInfo->IsPositive())
|
if (missInfo != SPELL_MISS_EVADE && m_caster && !m_caster->IsFriendlyTo(unit) && (!m_spellInfo->IsPositive() || m_spellInfo->HasEffect(SPELL_EFFECT_DISPEL)))
|
||||||
{
|
{
|
||||||
m_caster->CombatStart(unit, !(m_spellInfo->AttributesEx3 & SPELL_ATTR3_NO_INITIAL_AGGRO));
|
m_caster->CombatStart(unit, !(m_spellInfo->AttributesEx3 & SPELL_ATTR3_NO_INITIAL_AGGRO));
|
||||||
|
|
||||||
|
|||||||
@@ -2610,9 +2610,6 @@ void Spell::EffectDispel(SpellEffIndex effIndex)
|
|||||||
}
|
}
|
||||||
m_caster->SendMessageToSet(&dataSuccess, true);
|
m_caster->SendMessageToSet(&dataSuccess, true);
|
||||||
|
|
||||||
if (m_caster->IsValidAttackTarget(unitTarget) && !m_caster->isInCombat())
|
|
||||||
m_caster->CombatStart(unitTarget);
|
|
||||||
|
|
||||||
// On success dispel
|
// On success dispel
|
||||||
// Devour Magic
|
// Devour Magic
|
||||||
if (m_spellInfo->SpellFamilyName == SPELLFAMILY_WARLOCK && m_spellInfo->Category == SPELLCATEGORY_DEVOUR_MAGIC)
|
if (m_spellInfo->SpellFamilyName == SPELLFAMILY_WARLOCK && m_spellInfo->Category == SPELLCATEGORY_DEVOUR_MAGIC)
|
||||||
|
|||||||
Reference in New Issue
Block a user