From 69c0e34df4b95d214ed6ba46ae72a737142b4a38 Mon Sep 17 00:00:00 2001 From: megamage Date: Tue, 1 Sep 2009 15:22:42 -0500 Subject: *Make defensive procs are active on absorbs. By Cleave --HG-- branch : trunk --- src/game/Unit.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src') 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; isecond->GetPartAura(i)) -- cgit v1.2.3