Fixed proc spells with absorption. by AlexSot
--HG-- branch : trunk
This commit is contained in:
@@ -13074,6 +13074,15 @@ void Unit::ProcDamageAndSpellFor(bool isVictim, Unit * pTarget, uint32 procFlag,
|
|||||||
// If not trigger by default and spellProcEvent==NULL - skip
|
// If not trigger by default and spellProcEvent==NULL - skip
|
||||||
if (!isTriggerAura[aurEff->GetAuraName()] && triggerData.spellProcEvent==NULL)
|
if (!isTriggerAura[aurEff->GetAuraName()] && triggerData.spellProcEvent==NULL)
|
||||||
continue;
|
continue;
|
||||||
|
uint32 triggered_spell_id = aurEff->GetSpellProto()->EffectTriggerSpell[i];
|
||||||
|
// check for positive auras that proc with charge drop
|
||||||
|
bool positive = (!triggered_spell_id && IsPositiveSpell(aurEff->GetId()) && aurEff->GetParentAura()->GetAuraCharges()) ||
|
||||||
|
// check for positive auras that triggers unknown spells (Blessing Recovery, etc...)
|
||||||
|
(!sSpellStore.LookupEntry(triggered_spell_id) && IsPositiveSpell(aurEff->GetId())) ||
|
||||||
|
// final check for positive triggered spell
|
||||||
|
IsPositiveSpell(triggered_spell_id);
|
||||||
|
if (!damage && (procExtra & PROC_EX_ABSORB) && isVictim && positive)
|
||||||
|
continue;
|
||||||
triggerData.effMask |= 1<<i;
|
triggerData.effMask |= 1<<i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user