[11761] change conditions for default cast end proc

This commit is contained in:
Laise 2011-07-30 09:37:50 +03:00
parent 98bd7918f4
commit 43e45c2b35
4 changed files with 44 additions and 13 deletions

View file

@ -9752,10 +9752,14 @@ void Unit::ProcDamageAndSpellFor( bool isVictim, Unit * pTarget, uint32 procFlag
// don't allow proc from cast end for non modifier spells
// unless they have proc ex defined for that
if (spellProcEvent->procEx == PROC_EX_NONE
&& procExtra == PROC_EX_CAST_END
&& (!IsModifierAura(triggeredByHolder->GetSpellProto(), SpellEffectIndex(i)) || !useCharges))
if (IsCastEndProcModifierAura(triggeredByHolder->GetSpellProto(), SpellEffectIndex(i), procSpell))
{
if (useCharges && procExtra != PROC_EX_CAST_END && spellProcEvent->procEx == PROC_EX_NONE)
continue;
}
else if (spellProcEvent->procEx == PROC_EX_NONE && procExtra == PROC_EX_CAST_END)
continue;
}
// don't check dbc FamilyFlags if schoolMask exists
else if (!triggeredByAura->CanProcFrom(procSpell, procFlag, spellProcEvent->procEx, procExtra, damage != 0, !spellProcEvent->schoolMask))