aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorariel- <ariel-@users.noreply.github.com>2016-10-26 22:55:56 -0300
committerariel- <ariel-@users.noreply.github.com>2016-10-26 22:55:56 -0300
commit5278577587159be85f993399baadb2809d4c94e7 (patch)
treef8268eaeb2a6a455286e6f04687c5304f3c3a0af /src
parent95f2aedb5a24a7c198c24747a04a5d60ff800fd2 (diff)
Core/Auras: allow damage from periodics to trigger auras if they're not fully resisted/absorbed
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Spells/Auras/SpellAuraEffects.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp
index 08061ac0b34..35a8f97b445 100644
--- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp
+++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp
@@ -5959,11 +5959,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)
@@ -6053,11 +6053,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);