mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
Core/Threat: Fear no longer suppresses threat. All confuse effects now suppress threat, even ones that wouldn't break on damage.
(cherry picked from commit 704870496f)
This commit is contained in:
@@ -106,7 +106,9 @@ bool ThreatReference::ShouldBeSuppressed() const
|
||||
{
|
||||
if (_victim->IsImmunedToDamage(_owner->GetMeleeDamageSchoolMask()))
|
||||
return true;
|
||||
if (_victim->HasBreakableByDamageCrowdControlAura())
|
||||
if (_victim->HasAuraType(SPELL_AURA_MOD_CONFUSE))
|
||||
return true;
|
||||
if (_victim->HasBreakableByDamageAuraType(SPELL_AURA_MOD_STUN))
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -2042,8 +2042,6 @@ void AuraEffect::HandleAuraTransform(AuraApplication const* aurApp, uint8 mode,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
target->GetThreatManager().EvaluateSuppressed();
|
||||
}
|
||||
|
||||
void AuraEffect::HandleAuraModScale(AuraApplication const* aurApp, uint8 mode, bool apply) const
|
||||
@@ -2798,7 +2796,8 @@ void AuraEffect::HandleModConfuse(AuraApplication const* aurApp, uint8 mode, boo
|
||||
Unit* target = aurApp->GetTarget();
|
||||
|
||||
target->SetControlled(apply, UNIT_STATE_CONFUSED);
|
||||
target->GetThreatManager().EvaluateSuppressed();
|
||||
if (apply)
|
||||
target->GetThreatManager().EvaluateSuppressed();
|
||||
}
|
||||
|
||||
void AuraEffect::HandleModFear(AuraApplication const* aurApp, uint8 mode, bool apply) const
|
||||
@@ -2809,7 +2808,6 @@ void AuraEffect::HandleModFear(AuraApplication const* aurApp, uint8 mode, bool a
|
||||
Unit* target = aurApp->GetTarget();
|
||||
|
||||
target->SetControlled(apply, UNIT_STATE_FLEEING);
|
||||
target->GetThreatManager().EvaluateSuppressed();
|
||||
}
|
||||
|
||||
void AuraEffect::HandleAuraModStun(AuraApplication const* aurApp, uint8 mode, bool apply) const
|
||||
@@ -2820,7 +2818,8 @@ void AuraEffect::HandleAuraModStun(AuraApplication const* aurApp, uint8 mode, bo
|
||||
Unit* target = aurApp->GetTarget();
|
||||
|
||||
target->SetControlled(apply, UNIT_STATE_STUNNED);
|
||||
target->GetThreatManager().EvaluateSuppressed();
|
||||
if (apply)
|
||||
target->GetThreatManager().EvaluateSuppressed();
|
||||
}
|
||||
|
||||
void AuraEffect::HandleAuraModRoot(AuraApplication const* aurApp, uint8 mode, bool apply) const
|
||||
@@ -2831,7 +2830,6 @@ void AuraEffect::HandleAuraModRoot(AuraApplication const* aurApp, uint8 mode, bo
|
||||
Unit* target = aurApp->GetTarget();
|
||||
|
||||
target->SetControlled(apply, UNIT_STATE_ROOT);
|
||||
target->GetThreatManager().EvaluateSuppressed();
|
||||
}
|
||||
|
||||
void AuraEffect::HandlePreventFleeing(AuraApplication const* aurApp, uint8 mode, bool apply) const
|
||||
@@ -3203,7 +3201,8 @@ void AuraEffect::HandleAuraModSchoolImmunity(AuraApplication const* aurApp, uint
|
||||
target->RemoveAurasWithInterruptFlags(SpellAuraInterruptFlags::StealthOrInvis);
|
||||
}
|
||||
|
||||
target->GetThreatManager().EvaluateSuppressed();
|
||||
if (apply)
|
||||
target->GetThreatManager().EvaluateSuppressed();
|
||||
}
|
||||
|
||||
void AuraEffect::HandleAuraModDmgImmunity(AuraApplication const* aurApp, uint8 mode, bool apply) const
|
||||
@@ -3214,7 +3213,8 @@ void AuraEffect::HandleAuraModDmgImmunity(AuraApplication const* aurApp, uint8 m
|
||||
Unit* target = aurApp->GetTarget();
|
||||
m_spellInfo->ApplyAllSpellImmunitiesTo(target, GetSpellEffectInfo(), apply);
|
||||
|
||||
target->GetThreatManager().EvaluateSuppressed();
|
||||
if (apply)
|
||||
target->GetThreatManager().EvaluateSuppressed();
|
||||
}
|
||||
|
||||
void AuraEffect::HandleAuraModDispelImmunity(AuraApplication const* aurApp, uint8 mode, bool apply) const
|
||||
|
||||
Reference in New Issue
Block a user