aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSubv <s.v.h21@hotmail.com>2012-05-13 19:39:06 -0500
committerSubv <s.v.h21@hotmail.com>2012-05-13 19:39:06 -0500
commit1a06e197fd7d908ff62b801176cc3797306b07cd (patch)
treece58785099d4414583f99873a06a28261cd72dd2 /src
parent42b0dfc94f9e9960a38024624f0a0f9886c5ccbd (diff)
Core/Spells: Proc the spells that have DEST target when there is no other target info
Closes #6443 Closes #6277 Closes #6331 Signed-off-by: Subv <s.v.h21@hotmail.com>
Diffstat (limited to 'src')
-rwxr-xr-xsrc/server/game/Spells/Spell.cpp14
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()