aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormegamage <none@none>2009-09-01 15:22:42 -0500
committermegamage <none@none>2009-09-01 15:22:42 -0500
commit69c0e34df4b95d214ed6ba46ae72a737142b4a38 (patch)
tree987482f4392e652a3da6e2888700b400b86559a6 /src
parent2a9aff9080cfd8e7416c292946f6c659c6b80639 (diff)
*Make defensive procs are active on absorbs. By Cleave
--HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/game/Unit.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp
index 783af94ed47..cfe4fc26efa 100644
--- a/src/game/Unit.cpp
+++ b/src/game/Unit.cpp
@@ -12639,8 +12639,12 @@ void Unit::ProcDamageAndSpellFor( bool isVictim, Unit * pTarget, uint32 procFlag
if (procAura && procAura->Id == itr->first)
continue;
ProcTriggeredData triggerData(itr->second);
- if(!IsTriggeredAtSpellProcEvent(pTarget, triggerData.aura, procSpell, procFlag, procExtra, attType, isVictim, (damage > 0), triggerData.spellProcEvent))
+
+ // Defensive procs are active on absorbs (so absorption effects are not a hindrance)
+ bool active = (damage > 0) || ((procExtra & PROC_EX_ABSORB) && isVictim);
+ if(!IsTriggeredAtSpellProcEvent(pTarget, triggerData.aura, procSpell, procFlag, procExtra, attType, isVictim, active, triggerData.spellProcEvent))
continue;
+
for (uint8 i=0; i<MAX_SPELL_EFFECTS;++i)
{
if (AuraEffect * aurEff = itr->second->GetPartAura(i))