From 5f69b27920896b0ae0a408ee4ecb174383bada59 Mon Sep 17 00:00:00 2001 From: ariel- Date: Wed, 26 Oct 2016 22:55:56 -0300 Subject: Core/Auras: allow damage from periodics to trigger auras if they're not fully resisted/absorbed (cherry picked from commit 5278577587159be85f993399baadb2809d4c94e7) --- src/server/game/Spells/Auras/SpellAuraEffects.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index 41ecfa03e06..f4a78be86e4 100644 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -5839,11 +5839,11 @@ void AuraEffect::HandlePeriodicDamageAurasTick(Unit* target, Unit* caster) const uint32 procAttacker = PROC_FLAG_DONE_PERIODIC; uint32 procVictim = PROC_FLAG_TAKEN_PERIODIC; uint32 hitMask = damageInfo.GetHitMask(); - if (!hitMask) - hitMask = crit ? PROC_HIT_CRITICAL : PROC_HIT_NORMAL; - if (damage) + { + hitMask |= crit ? PROC_HIT_CRITICAL : PROC_HIT_NORMAL; procVictim |= PROC_FLAG_TAKEN_DAMAGE; + } int32 overkill = damage - target->GetHealth(); if (overkill < 0) @@ -5948,11 +5948,11 @@ void AuraEffect::HandlePeriodicHealthLeechAuraTick(Unit* target, Unit* caster) c uint32 procAttacker = PROC_FLAG_DONE_PERIODIC; uint32 procVictim = PROC_FLAG_TAKEN_PERIODIC; uint32 hitMask = damageInfo.GetHitMask(); - if (!hitMask) - hitMask = crit ? PROC_HIT_CRITICAL : PROC_HIT_NORMAL; - if (damage) + { + hitMask |= crit ? PROC_HIT_CRITICAL : PROC_HIT_NORMAL; procVictim |= PROC_FLAG_TAKEN_DAMAGE; + } if (caster->IsAlive()) caster->ProcSkillsAndAuras(target, procAttacker, procVictim, PROC_SPELL_TYPE_DAMAGE, PROC_SPELL_PHASE_NONE, hitMask, nullptr, &damageInfo, nullptr); -- cgit v1.2.3