aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Holiver <none@none>2010-05-25 20:25:56 -0300
committerJohn Holiver <none@none>2010-05-25 20:25:56 -0300
commitdd1a750921af53a435e166e23bb3caa84093d01e (patch)
tree09cbc4973996f2e7e84bb9cd073a58da07f4026a
parent7556bb80a7726b549c9e83e67a901263d8cb96d2 (diff)
Re-Fix Life Tap Formula (3.3.3).
More blizzlike formula. The formula used now IS NOT perfect(!), but it's a extremely good aproximation of the current Blizz calc. This formula was based on curve fitting from data collected from retail. Also, fix the usage of BaseSpellPower, now it also employ 'green' bonus. Tnx to the reviewers. --HG-- branch : trunk
-rw-r--r--src/game/SpellEffects.cpp6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp
index 25f40cb5455..350901b99dc 100644
--- a/src/game/SpellEffects.cpp
+++ b/src/game/SpellEffects.cpp
@@ -1630,10 +1630,8 @@ void Spell::EffectDummy(uint32 i)
// Life Tap
if (m_spellInfo->SpellFamilyFlags[0] & SPELLFAMILYFLAG_WARLOCK_LIFETAP)
{
- // Health = [effectBasePoints1 + SPI * 1.5]
- int32 damage = 1 + m_spellInfo->EffectBasePoints[0] + (m_caster->GetStat(STAT_SPIRIT) * 1.5);
- // Mana = [effectBasePoints1 + SPS * 0.5]
- int32 mana = 1 + m_spellInfo->EffectBasePoints[0] + (m_caster->ToPlayer()->GetBaseSpellPowerBonus() * 0.5);
+ int32 damage = m_spellInfo->EffectBasePoints[0] + (6 * m_spellInfo->baseLevel);
+ int32 mana = damage + (m_caster->ToPlayer()->GetUInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_POS+SPELL_SCHOOL_SHADOW) / 2);
if (unitTarget && (int32(unitTarget->GetHealth()) > damage))
{