From ff7308f754455843b36a76457245f0f31bf769b7 Mon Sep 17 00:00:00 2001 From: John Holiver Date: Wed, 26 May 2010 14:54:56 -0300 Subject: [PATCH] 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 --- src/game/SpellEffects.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index f38715a935..4f0c693efb 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)) {