diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/scripts/Spells/spell_quest.cpp | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/server/scripts/Spells/spell_quest.cpp b/src/server/scripts/Spells/spell_quest.cpp index a59594935b5..93828865a16 100644 --- a/src/server/scripts/Spells/spell_quest.cpp +++ b/src/server/scripts/Spells/spell_quest.cpp @@ -2400,6 +2400,52 @@ class spell_q10929_fumping : SpellScriptLoader } }; +enum FearNoEvil +{ + SPELL_RENEWED_LIFE = 93097, + NPC_INJURED_STORMWIND_INFANTRY = 50047 +}; + +// 93072 - Get Our Boys Back Dummy +class spell_q28813_get_our_boys_back_dummy : public SpellScriptLoader +{ +public: + spell_q28813_get_our_boys_back_dummy() : SpellScriptLoader("spell_q28813_get_our_boys_back_dummy") { } + + class spell_q28813_get_our_boys_back_dummy_SpellScript : public SpellScript + { + PrepareSpellScript(spell_q28813_get_our_boys_back_dummy_SpellScript); + + bool Validate(SpellInfo const* /*spellInfo*/) override + { + if (!sSpellMgr->GetSpellInfo(SPELL_RENEWED_LIFE)) + return false; + return true; + } + + void HandleDummyEffect() + { + Unit* caster = GetCaster(); + + if (Creature* injuredStormwindInfantry = caster->FindNearestCreature(NPC_INJURED_STORMWIND_INFANTRY, 5.0f, true)) + { + injuredStormwindInfantry->SetCreatorGUID(caster->GetGUID()); + injuredStormwindInfantry->CastSpell(injuredStormwindInfantry, SPELL_RENEWED_LIFE, true); + } + } + + void Register() override + { + OnCast += SpellCastFn(spell_q28813_get_our_boys_back_dummy_SpellScript::HandleDummyEffect); + } + }; + + SpellScript* GetSpellScript() const override + { + return new spell_q28813_get_our_boys_back_dummy_SpellScript(); + } +}; + void AddSC_quest_spell_scripts() { new spell_q55_sacred_cleansing(); @@ -2458,4 +2504,5 @@ void AddSC_quest_spell_scripts() new spell_q13400_illidan_kill_master(); new spell_q14100_q14111_make_player_destroy_totems(); new spell_q10929_fumping(); + new spell_q28813_get_our_boys_back_dummy(); } |