Merge pull request #7280 from Faq/PrayerOfMending
Core/Spells: Only auras that has triggered spell should proc from fully absorbed damage.
This commit is contained in:
@@ -14361,10 +14361,17 @@ void Unit::ProcDamageAndSpellFor(bool isVictim, Unit* target, uint32 procFlag, u
|
|||||||
continue;
|
continue;
|
||||||
ProcTriggeredData triggerData(itr->second->GetBase());
|
ProcTriggeredData triggerData(itr->second->GetBase());
|
||||||
// Defensive procs are active on absorbs (so absorption effects are not a hindrance)
|
// Defensive procs are active on absorbs (so absorption effects are not a hindrance)
|
||||||
bool active = (damage > 0) || (procExtra & (PROC_EX_ABSORB|PROC_EX_BLOCK) && isVictim);
|
bool active = damage || (procExtra & PROC_EX_BLOCK && isVictim);
|
||||||
if (isVictim)
|
if (isVictim)
|
||||||
procExtra &= ~PROC_EX_INTERNAL_REQ_FAMILY;
|
procExtra &= ~PROC_EX_INTERNAL_REQ_FAMILY;
|
||||||
|
|
||||||
SpellInfo const* spellProto = itr->second->GetBase()->GetSpellInfo();
|
SpellInfo const* spellProto = itr->second->GetBase()->GetSpellInfo();
|
||||||
|
|
||||||
|
// only auras that has triggered spell should proc from fully absorbed damage
|
||||||
|
if (procExtra & PROC_EX_ABSORB && isVictim)
|
||||||
|
if (damage || spellProto->Effects[EFFECT_0].TriggerSpell || spellProto->Effects[EFFECT_1].TriggerSpell || spellProto->Effects[EFFECT_2].TriggerSpell)
|
||||||
|
active = true;
|
||||||
|
|
||||||
if (!IsTriggeredAtSpellProcEvent(target, triggerData.aura, procSpell, procFlag, procExtra, attType, isVictim, active, triggerData.spellProcEvent))
|
if (!IsTriggeredAtSpellProcEvent(target, triggerData.aura, procSpell, procFlag, procExtra, attType, isVictim, active, triggerData.spellProcEvent))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user