diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/game/Spell.cpp | 12 | 
1 files changed, 6 insertions, 6 deletions
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index 201f7048a6c..648d73a8f6f 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -2206,9 +2206,6 @@ void Spell::cast(bool skipCheck)      FillTargetMap(); -    if(m_customAttr & SPELL_ATTR_CU_DIRECT_DAMAGE) -        CalculateDamageDoneForAllTargets(); -      // traded items have trade slot instead of guid in m_itemTargetGUID      // set to real guid to be sent later to the client      m_targets.updateTradeSlotItem(); @@ -2231,12 +2228,15 @@ void Spell::cast(bool skipCheck)      SendCastResult(castResult);      SendSpellGo();                                          // we must send smsg_spell_go packet before m_castItem delete in TakeCastItem()... +    if(m_customAttr & SPELL_ATTR_CU_DIRECT_DAMAGE) +        CalculateDamageDoneForAllTargets(); + +    if(m_customAttr & SPELL_ATTR_CU_CHARGE) +        EffectCharge(0); +      // Okay, everything is prepared. Now we need to distinguish between immediate and evented delayed spells      if (m_spellInfo->speed > 0.0f && !IsChanneledSpell(m_spellInfo))      { -        if(m_customAttr & SPELL_ATTR_CU_CHARGE) -            EffectCharge(0); -          // Remove used for cast item if need (it can be already NULL after TakeReagents call          // in case delayed spell remove item at cast delay start          TakeCastItem();  | 
