fix(Core/Spells): SPELL_AURA_PROC_TRIGGER_DAMAGE auras should not proc if target is immuned (#8675)

- Closes #8461
This commit is contained in:
UltraNix 2021-10-24 12:02:47 +02:00 committed by GitHub
parent 16a54fdeac
commit cab3992d0f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -6823,6 +6823,12 @@ void AuraEffect::HandleProcTriggerDamageAuraProc(AuraApplication* aurApp, ProcEv
{
Unit* target = aurApp->GetTarget();
Unit* triggerTarget = eventInfo.GetProcTarget();
if (triggerTarget->HasUnitState(UNIT_STATE_ISOLATED) || triggerTarget->IsImmunedToDamageOrSchool(GetSpellInfo()))
{
SendTickImmune(triggerTarget, target);
return;
}
SpellNonMeleeDamage damageInfo(target, triggerTarget, GetSpellInfo(), GetSpellInfo()->SchoolMask);
uint32 damage = target->SpellDamageBonusDone(triggerTarget, GetSpellInfo(), GetAmount(), SPELL_DIRECT_DAMAGE);
damage = triggerTarget->SpellDamageBonusTaken(target, GetSpellInfo(), damage, SPELL_DIRECT_DAMAGE);