aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Holiver <none@none>2010-05-26 14:54:56 -0300
committerJohn Holiver <none@none>2010-05-26 14:54:56 -0300
commitff7308f754455843b36a76457245f0f31bf769b7 (patch)
treef439d7aac16816530b79d93fe079dad98d7b65ce
parent3cd4626dacddf9ba34473f2dac511ea0c07bd048 (diff)
Re-re-fix for Life Tap (3.3.3).
I hope that this one is the last. Each rank now use diferent spell power gains (0, 0.2, 0.5). --HG-- branch : trunk
-rw-r--r--src/game/SpellEffects.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp
index f38715a9359..4f0c693efbb 100644
--- a/src/game/SpellEffects.cpp
+++ b/src/game/SpellEffects.cpp
@@ -1630,8 +1630,16 @@ void Spell::EffectDummy(uint32 i)
// Life Tap
if (m_spellInfo->SpellFamilyFlags[0] & SPELLFAMILYFLAG_WARLOCK_LIFETAP)
{
- 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);
+ float spFactor = 0;
+ switch (m_spellInfo->Id)
+ {
+ case 11689: spFactor = 0.2; break;
+ case 27222:
+ case 57946: spFactor = 0.5; break;
+ default: spFactor = 0; break;
+ }
+ int32 damage = m_spellInfo->EffectBasePoints[0] + (6.3875 * m_spellInfo->baseLevel);
+ int32 mana = damage + (m_caster->ToPlayer()->GetUInt32Value(PLAYER_FIELD_MOD_DAMAGE_DONE_POS+SPELL_SCHOOL_SHADOW) * spFactor);
if (unitTarget && (int32(unitTarget->GetHealth()) > damage))
{