[10222] Restore proc events at full miss/immune spells to target.

This commit is contained in:
VladimirMangos 2010-07-19 06:49:13 +04:00
parent 1377db20a7
commit 0e2a80477a
2 changed files with 6 additions and 4 deletions

View file

@ -967,8 +967,10 @@ void Spell::DoAllEffectOnTarget(TargetInfo *target)
uint32 procEx = PROC_EX_NONE; uint32 procEx = PROC_EX_NONE;
// drop proc flags in case target not affected negative effects in negative spell // drop proc flags in case target not affected negative effects in negative spell
// for example caster bonus or animation // for example caster bonus or animation,
if (((procAttacker | procVictim) & NEGATIVE_TRIGGER_MASK) && !(target->effectMask & m_negativeEffectMask)) // except miss case where will assigned PROC_EX_* flags later
if (((procAttacker | procVictim) & NEGATIVE_TRIGGER_MASK) &&
!(target->effectMask & m_negativeEffectMask) && missInfo == SPELL_MISS_NONE)
{ {
procAttacker = PROC_FLAG_NONE; procAttacker = PROC_FLAG_NONE;
procVictim = PROC_FLAG_NONE; procVictim = PROC_FLAG_NONE;
@ -3602,7 +3604,7 @@ void Spell::WriteSpellGoTargets( WorldPacket * data )
uint32 miss = 0; uint32 miss = 0;
for(std::list<TargetInfo>::iterator ihit = m_UniqueTargetInfo.begin(); ihit != m_UniqueTargetInfo.end(); ++ihit) for(std::list<TargetInfo>::iterator ihit = m_UniqueTargetInfo.begin(); ihit != m_UniqueTargetInfo.end(); ++ihit)
{ {
if ((*ihit).effectMask == 0) // No effect apply - all immuned add state if ((*ihit).effectMask == 0) // No effect apply - all immuned add state
{ {
// possibly SPELL_MISS_IMMUNE2 for this?? // possibly SPELL_MISS_IMMUNE2 for this??
ihit->missCondition = SPELL_MISS_IMMUNE2; ihit->missCondition = SPELL_MISS_IMMUNE2;

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__ #ifndef __REVISION_NR_H__
#define __REVISION_NR_H__ #define __REVISION_NR_H__
#define REVISION_NR "10221" #define REVISION_NR "10222"
#endif // __REVISION_NR_H__ #endif // __REVISION_NR_H__