aboutsummaryrefslogtreecommitdiff
path: root/src/game/Spell.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/Spell.cpp')
-rw-r--r--src/game/Spell.cpp17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp
index a7fd33405c6..2f0b3a33a9f 100644
--- a/src/game/Spell.cpp
+++ b/src/game/Spell.cpp
@@ -2675,7 +2675,7 @@ void Spell::prepare(SpellCastTargets const* targets, AuraEffect* triggeredByAura
prepareDataForTriggerSystem(triggeredByAura);
// Set combo point requirement
- if (m_IsTriggeredSpell || m_CastItem || m_caster->GetTypeId()!=TYPEID_PLAYER)
+ if (m_IsTriggeredSpell || m_CastItem || !m_caster->m_movedPlayer)
m_needComboPoints = false;
// calculate cast time (calculated after first CheckCast check to prevent charge counting for first CheckCast fail)
@@ -3173,13 +3173,16 @@ void Spell::_handle_immediate_phase()
void Spell::_handle_finish_phase()
{
- // Take for real after all targets are processed
- if (m_needComboPoints)
- ((Player*)m_caster)->ClearComboPoints();
+ if(m_caster->m_movedPlayer)
+ {
+ // Take for real after all targets are processed
+ if (m_needComboPoints)
+ m_caster->m_movedPlayer->ClearComboPoints();
- // Real add combo points from effects
- if (m_caster->GetTypeId()==TYPEID_PLAYER)
- ((Player*)m_caster)->GainSpellComboPoints(m_comboPointGain);
+ // Real add combo points from effects
+ if (m_comboPointGain)
+ m_caster->m_movedPlayer->GainSpellComboPoints(m_comboPointGain);
+ }
// spell log
if(m_needSpellLog)