diff options
| author | tobmaps <spambot42@yandex.ru> | 2011-05-11 02:14:59 +0700 |
|---|---|---|
| committer | tobmaps <spambot42@yandex.ru> | 2011-05-11 02:14:59 +0700 |
| commit | 88f34ed73a1f973fc2b52172fa052eb67e142390 (patch) | |
| tree | cddcec123159f0a086eecfc56379a60c787c98cd | |
| parent | ce7f024945b01052415201f86ad9108c1845f291 (diff) | |
Core/Spells: Allow proc from periodic crits
| -rwxr-xr-x | src/server/game/Spells/Auras/SpellAuraEffects.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index df674507f9a..87cc2ce0771 100755 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -1390,7 +1390,7 @@ void AuraEffect::PeriodicTick(AuraApplication * aurApp, Unit * caster) const // Set trigger flag uint32 procAttacker = PROC_FLAG_DONE_PERIODIC; uint32 procVictim = PROC_FLAG_TAKEN_PERIODIC; - uint32 procEx = PROC_EX_NORMAL_HIT | PROC_EX_INTERNAL_DOT; + uint32 procEx = (crit ? PROC_EX_CRITICAL_HIT : PROC_EX_NORMAL_HIT) | PROC_EX_INTERNAL_DOT; damage = (damage <= absorb+resist) ? 0 : (damage-absorb-resist); if (damage) procVictim|=PROC_FLAG_TAKEN_DAMAGE; @@ -1472,7 +1472,7 @@ void AuraEffect::PeriodicTick(AuraApplication * aurApp, Unit * caster) const // Set trigger flag uint32 procAttacker = PROC_FLAG_DONE_PERIODIC; uint32 procVictim = PROC_FLAG_TAKEN_PERIODIC; - uint32 procEx = PROC_EX_NORMAL_HIT | PROC_EX_INTERNAL_DOT; + uint32 procEx = (crit ? PROC_EX_CRITICAL_HIT : PROC_EX_NORMAL_HIT) | PROC_EX_INTERNAL_DOT; damage = (damage <= absorb+resist) ? 0 : (damage-absorb-resist); if (damage) procVictim|=PROC_FLAG_TAKEN_DAMAGE; @@ -1629,7 +1629,7 @@ void AuraEffect::PeriodicTick(AuraApplication * aurApp, Unit * caster) const uint32 procAttacker = PROC_FLAG_DONE_PERIODIC; uint32 procVictim = PROC_FLAG_TAKEN_PERIODIC; - uint32 procEx = PROC_EX_NORMAL_HIT | PROC_EX_INTERNAL_HOT; + uint32 procEx = (crit ? PROC_EX_CRITICAL_HIT : PROC_EX_NORMAL_HIT) | PROC_EX_INTERNAL_HOT; // ignore item heals if (!haveCastItem) caster->ProcDamageAndSpell(target, procAttacker, procVictim, procEx, damage, BASE_ATTACK, GetSpellProto()); |
