diff options
author | megamage <none@none> | 2008-12-23 15:51:07 -0600 |
---|---|---|
committer | megamage <none@none> | 2008-12-23 15:51:07 -0600 |
commit | 7fe4b221db3689989ac091ae60b64f6384a2c3cb (patch) | |
tree | 50baf2dfecb0fdf2ae9b22025d6d5dd0970953be /src/game/Spell.cpp | |
parent | c230fb2c28a51b9033e4494d8aade3e7eedf09cf (diff) |
*Calculate spell points when casting but not hitting.
--HG--
branch : trunk
Diffstat (limited to 'src/game/Spell.cpp')
-rw-r--r-- | src/game/Spell.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index 3cd27d40305..a8b6a222f18 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -2387,9 +2387,14 @@ void Spell::cast(bool skipCheck) return; } + + SendCastResult(castResult); SendSpellGo(); // we must send smsg_spell_go packet before m_castItem delete in TakeCastItem()... + for(int i = 0; i < 3; ++i) + m_currentBasePoints[i] = CalculateDamage(i, NULL); + // Okay, everything is prepared. Now we need to distinguish between immediate and evented delayed spells if (m_spellInfo->speed > 0.0f && !IsChanneledSpell(m_spellInfo)) { @@ -3427,7 +3432,7 @@ void Spell::HandleEffects(Unit *pUnitTarget,Item *pItemTarget,GameObject *pGOTar uint8 eff = m_spellInfo->Effect[i]; uint32 mechanic = m_spellInfo->EffectMechanic[i]; - damage = int32(CalculateDamage((uint8)i,unitTarget)*DamageMultiplier); + damage = int32(m_currentBasePoints[i] * DamageMultiplier); sLog.outDebug( "Spell: Effect : %u", eff); |