diff options
author | Malcrom <malcromdev@gmail.com> | 2012-05-14 07:19:05 -0230 |
---|---|---|
committer | Malcrom <malcromdev@gmail.com> | 2012-05-14 07:19:05 -0230 |
commit | 1e090715c420303461fdeef8fa977ce091f8bf21 (patch) | |
tree | 5fff1ede5303a8b2674a5b2d79c4d970e7fd73f2 | |
parent | 06c4917568a43cd85a40b07eb82f273af2053050 (diff) | |
parent | e74135946d2cb2b6a522cfa979cfef0263a9fd8e (diff) |
Merge branch 'master' of git://github.com/TrinityCore/TrinityCore
-rwxr-xr-x | src/server/game/Spells/Spell.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 28b089f91cd..48aa40a0e51 100755 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -3427,6 +3427,20 @@ void Spell::_handle_immediate_phase() // process items for (std::list<ItemTargetInfo>::iterator ihit= m_UniqueItemInfo.begin(); ihit != m_UniqueItemInfo.end(); ++ihit) DoAllEffectOnTarget(&(*ihit)); + + if (!m_originalCaster) + return; + // Handle procs on cast + // TODO: finish new proc system:P + if (m_UniqueTargetInfo.empty() && m_targets.HasDst()) + { + uint32 procAttacker = m_procAttacker; + if (!procAttacker) + procAttacker |= PROC_FLAG_DONE_SPELL_MAGIC_DMG_CLASS_POS; + + // Proc the spells that have DEST target + m_originalCaster->ProcDamageAndSpell(NULL, procAttacker, 0, m_procEx | PROC_EX_NORMAL_HIT, 0, BASE_ATTACK, m_spellInfo, m_triggeredByAuraSpell); + } } void Spell::_handle_finish_phase() |