aboutsummaryrefslogtreecommitdiff
path: root/src/game/SpellEffects.cpp
diff options
context:
space:
mode:
authorMachiavelli <none@none>2010-05-26 20:26:03 +0200
committerMachiavelli <none@none>2010-05-26 20:26:03 +0200
commite33e700a78b9b91d2f16ac6e387c2f2d92b65c6d (patch)
tree30e48c4dce1e5d8a892ce0aec0f3c50982b1770c /src/game/SpellEffects.cpp
parent7c0f140bb063e587baa4ca58aa0a2c77eff6a91f (diff)
parentee86f72217bc7658a0666142a30b54631d0f9170 (diff)
Merge, thanks to Aokromes for testing my patches.
Added tag UP30 for e653a5b8d0 --HG-- branch : trunk
Diffstat (limited to 'src/game/SpellEffects.cpp')
-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))
{