diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index 44ca55b51..0b725b9bf 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -3221,11 +3221,11 @@ void Spell::cast(bool skipCheck) // critical hit related part is currently done on hit so proc there, // 0 damage since any damage based procs should be on hit // 0 victim proc since there is no victim proc dependent on successfull cast for caster - m_caster->ProcDamageAndSpell(m_targets.getUnitTarget(), m_procAttacker, 0, PROC_EX_NORMAL_HIT, 0, m_attackType, m_spellInfo); + m_caster->ProcDamageAndSpell(m_caster, m_procAttacker, 0, PROC_EX_NORMAL_HIT, 0, m_attackType, m_spellInfo); } else { - m_caster->ProcDamageAndSpell(m_targets.getUnitTarget(), m_procAttacker, 0, PROC_EX_NORMAL_HIT, 0, m_attackType, m_spellInfo); + m_caster->ProcDamageAndSpell(m_caster, m_procAttacker, 0, PROC_EX_NORMAL_HIT, 0, m_attackType, m_spellInfo); // Immediate spell, no big deal handle_immediate(); diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 5eae5d15e..cb969d12d 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -9629,7 +9629,7 @@ uint32 createProcExtendMask(SpellNonMeleeDamage *damageInfo, SpellMissInfo missC void Unit::ProcDamageAndSpellFor( bool isVictim, Unit * pTarget, uint32 procFlag, uint32 procExtra, WeaponAttackType attType, SpellEntry const * procSpell, uint32 damage ) { // For melee/ranged based attack need update skills and set some Aura states - if (procFlag & MELEE_BASED_TRIGGER_MASK) + if ((damage != 0 || procExtra != PROC_EX_NORMAL_HIT) && procFlag & MELEE_BASED_TRIGGER_MASK) { // Update skills here for players if (GetTypeId() == TYPEID_PLAYER) diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 31e9a4841..c901523d4 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 "11756" + #define REVISION_NR "11757" #endif // __REVISION_NR_H__