aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/3.3.5/2019_08_02_02_world.sql3
-rw-r--r--src/server/game/Spells/SpellEffects.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp17
3 files changed, 20 insertions, 4 deletions
diff --git a/sql/updates/world/3.3.5/2019_08_02_02_world.sql b/sql/updates/world/3.3.5/2019_08_02_02_world.sql
new file mode 100644
index 00000000000..e7ce85498b2
--- /dev/null
+++ b/sql/updates/world/3.3.5/2019_08_02_02_world.sql
@@ -0,0 +1,3 @@
+DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_death_knight_devour_humanoid';
+INSERT INTO `spell_script_names` VALUES
+(53110,'spell_death_knight_devour_humanoid');
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
index 8d22a687690..6c43f195f94 100644
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -3530,10 +3530,6 @@ void Spell::EffectScriptEffect(SpellEffIndex effIndex)
if (unitTarget && unitCaster)
unitCaster->CastSpell(unitTarget, urand(0, 1) ? damage : 52505, true);
return;
- case 53110: // Devour Humanoid
- if (unitTarget)
- unitTarget->CastSpell(m_caster, damage, true);
- return;
case 57347: // Retrieving (Wintergrasp RP-GG pickup spell)
{
if (!unitTarget || unitTarget->GetTypeId() != TYPEID_UNIT || m_caster->GetTypeId() != TYPEID_PLAYER)
diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
index 826cbab0372..5b2ebbbefd6 100644
--- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
@@ -23,6 +23,7 @@
#include "Player.h"
#include "ScriptedEscortAI.h"
#include "SpellInfo.h"
+#include "SpellScript.h"
//How to win friends and influence enemies
// texts signed for creature 28939 but used for 28939, 28940, 28610
@@ -745,6 +746,21 @@ public:
};
};
+class spell_death_knight_devour_humanoid : public SpellScript
+{
+ PrepareSpellScript(spell_death_knight_devour_humanoid);
+
+ void HandleScriptEffect(SpellEffIndex /* effIndex */)
+ {
+ GetHitUnit()->CastSpell(GetCaster(), GetEffectValue(), true);
+ }
+
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_death_knight_devour_humanoid::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
+ }
+};
+
void AddSC_the_scarlet_enclave_c2()
{
new npc_crusade_persuaded();
@@ -752,4 +768,5 @@ void AddSC_the_scarlet_enclave_c2()
new npc_koltira_deathweaver();
new npc_high_inquisitor_valroth();
new npc_a_special_surprise();
+ RegisterSpellScript(spell_death_knight_devour_humanoid);
}