From a242662ae6fd424928c3972de1232b43e7164457 Mon Sep 17 00:00:00 2001 From: Discover- Date: Fri, 31 Jan 2014 10:37:55 +0100 Subject: [PATCH] Core/Spells: Fix DK Ghoul's damage after ad8eb434c02e451effd0949aaa7d2b7999d91597. I misread 'SpellScript::m_damage' for 'SpellScript::damage'. By @joschiwald --- src/server/game/Spells/SpellScript.cpp | 12 ++++++++++++ src/server/game/Spells/SpellScript.h | 1 + src/server/scripts/Spells/spell_dk.cpp | 2 +- 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/server/game/Spells/SpellScript.cpp b/src/server/game/Spells/SpellScript.cpp index 579fb0f9418..c0bcd477e5b 100644 --- a/src/server/game/Spells/SpellScript.cpp +++ b/src/server/game/Spells/SpellScript.cpp @@ -583,9 +583,21 @@ int32 SpellScript::GetEffectValue() const TC_LOG_ERROR("scripts", "Script: `%s` Spell: `%u`: function SpellScript::GetEffectValue was called, but function has no effect in current hook!", m_scriptName->c_str(), m_scriptSpellId); return 0; } + return m_spell->damage; } +void SpellScript::SetEffectValue(int32 value) +{ + if (!IsInEffectHook()) + { + TC_LOG_ERROR("scripts", "Script: `%s` Spell: `%u`: function SpellScript::SetEffectValue was called, but function has no effect in current hook!", m_scriptName->c_str(), m_scriptSpellId); + return; + } + + m_spell->damage = value; +} + Item* SpellScript::GetCastItem() { return m_spell->m_CastItem; diff --git a/src/server/game/Spells/SpellScript.h b/src/server/game/Spells/SpellScript.h index 1a438323d4d..6378a8bed9b 100644 --- a/src/server/game/Spells/SpellScript.h +++ b/src/server/game/Spells/SpellScript.h @@ -412,6 +412,7 @@ class SpellScript : public _SpellScript // method avalible only in EffectHandler method int32 GetEffectValue() const; + void SetEffectValue(int32 value); // returns: cast item if present. Item* GetCastItem(); diff --git a/src/server/scripts/Spells/spell_dk.cpp b/src/server/scripts/Spells/spell_dk.cpp index d39156e3770..e8108f03e7d 100644 --- a/src/server/scripts/Spells/spell_dk.cpp +++ b/src/server/scripts/Spells/spell_dk.cpp @@ -703,7 +703,7 @@ class spell_dk_ghoul_explode : public SpellScriptLoader void HandleDamage(SpellEffIndex /*effIndex*/) { int32 value = int32(GetCaster()->CountPctFromMaxHealth(GetSpellInfo()->Effects[EFFECT_2].CalcValue(GetCaster()))); - SetHitDamage(value); + SetEffectValue(value); } void Suicide(SpellEffIndex /*effIndex*/)