aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/base/world_database.sql2
-rw-r--r--sql/updates/world/2011_05_10_03_world_spell_bonus_data.sql1
-rwxr-xr-xsrc/server/game/Entities/Unit/Unit.cpp2
-rwxr-xr-xsrc/server/game/Spells/SpellEffects.cpp2
4 files changed, 6 insertions, 1 deletions
diff --git a/sql/base/world_database.sql b/sql/base/world_database.sql
index b2d7abe456a..992a29a95ac 100644
--- a/sql/base/world_database.sql
+++ b/sql/base/world_database.sql
@@ -17119,7 +17119,7 @@ INSERT INTO `spell_bonus_data` (`entry`,`direct_bonus`,`dot_bonus`,`ap_bonus`,`a
(980, -1, 0.1, -1, -1, 'Warlock - Curse of Agony'),
(603, -1, 2, -1, -1, 'Warlock - Curse of Doom'),
(18220, 0.96, -1, -1, -1, 'Warlock - Dark Pact Rank 1'),
-(6789, 0.214, -1, -1, -1, 'Warlock - Death Coil'),
+(6789, 0.2143, -1, -1, -1, 'Warlock - Death Coil'),
(689, -1, 0.143, -1, -1, 'Warlock - Drain Life'),
(5138, 0, 0, 0, 0, 'Warlock - Drain Mana'),
(1120, -1, 0.429, -1, -1, 'Warlock - Drain Soul'),
diff --git a/sql/updates/world/2011_05_10_03_world_spell_bonus_data.sql b/sql/updates/world/2011_05_10_03_world_spell_bonus_data.sql
new file mode 100644
index 00000000000..b5885ef86a0
--- /dev/null
+++ b/sql/updates/world/2011_05_10_03_world_spell_bonus_data.sql
@@ -0,0 +1 @@
+UPDATE `spell_bonus_data` SET `direct_bonus` = 0.2143 WHERE `entry` = 6789;
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 3d7df3940f5..c3876b6169f 100755
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -11029,6 +11029,8 @@ uint32 Unit::SpellHealingBonus(Unit *pVictim, SpellEntry const *spellProto, uint
scripted = true;
break;
}
+ if (spellProto->Effect[i] == SPELL_EFFECT_HEALTH_LEECH)
+ scripted = true;
}
// Check for table values
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
index eb0e5588db7..237b347c62a 100755
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -2354,6 +2354,8 @@ void Spell::EffectHealthLeech(SpellEffIndex effIndex)
if (!unitTarget || !unitTarget->isAlive() || damage < 0)
return;
+ damage = m_caster->SpellDamageBonus(unitTarget, m_spellInfo, uint32(damage), SPELL_DIRECT_DAMAGE);
+
sLog->outDebug(LOG_FILTER_SPELLS_AURAS, "HealthLeech :%i", damage);
float healMultiplier = SpellMgr::CalculateSpellEffectValueMultiplier(m_spellInfo, effIndex, m_originalCaster, this);