diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index 08b7012ec..9521250d6 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -967,8 +967,10 @@ void Spell::DoAllEffectOnTarget(TargetInfo *target) uint32 procEx = PROC_EX_NONE; // drop proc flags in case target not affected negative effects in negative spell - // for example caster bonus or animation - if (((procAttacker | procVictim) & NEGATIVE_TRIGGER_MASK) && !(target->effectMask & m_negativeEffectMask)) + // for example caster bonus or animation, + // 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; procVictim = PROC_FLAG_NONE; @@ -3602,7 +3604,7 @@ void Spell::WriteSpellGoTargets( WorldPacket * data ) uint32 miss = 0; for(std::list::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?? ihit->missCondition = SPELL_MISS_IMMUNE2; diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index dc76b753c..31ab37e51 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "10221" + #define REVISION_NR "10222" #endif // __REVISION_NR_H__