diff options
author | megamage <none@none> | 2009-02-02 17:20:30 -0600 |
---|---|---|
committer | megamage <none@none> | 2009-02-02 17:20:30 -0600 |
commit | 8dfe8cd64a29dfb57e392733929e86abaa749e6b (patch) | |
tree | bb0602e32db6f2ef0b3e7bc7253e2b6e1b306bd1 /src | |
parent | 8b8d7225237b017be97a6aabd0febebdf4200689 (diff) |
*Fix some broken charge spells.
--HG--
branch : trunk
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(); |