From c3368fd5fc24dd589f8b4c737006db21ed9c4fa3 Mon Sep 17 00:00:00 2001 From: offl <11556157+offl@users.noreply.github.com> Date: Sat, 18 Dec 2021 19:30:35 +0200 Subject: Scripts/Quest: Rework 'The Cleansing' (11317,11322) (#27413) (cherry picked from commit a8464d34bb0f77e0d616e6f21aaf7d7a79276180) --- src/server/scripts/Spells/spell_generic.cpp | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'src/server/scripts/Spells') diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp index 173eb3c2e07..27a5e9164d9 100644 --- a/src/server/scripts/Spells/spell_generic.cpp +++ b/src/server/scripts/Spells/spell_generic.cpp @@ -3639,6 +3639,29 @@ class spell_gen_whisper_gulch_yogg_saron_whisper : public AuraScript } }; +class spell_gen_whisper_to_controller : public SpellScript +{ + PrepareSpellScript(spell_gen_whisper_to_controller); + + bool Validate(SpellInfo const* spellInfo) override + { + return sBroadcastTextStore.HasRecord(uint32(spellInfo->GetEffect(EFFECT_0).CalcValue())); + } + + void HandleScript(SpellEffIndex /*effIndex*/) + { + if (Unit* caster = GetCaster()) + if (TempSummon* casterSummon = caster->ToTempSummon()) + if (Player* target = casterSummon->GetSummonerUnit()->ToPlayer()) + casterSummon->Unit::Whisper(uint32(GetEffectValue()), target, false); + } + + void Register() override + { + OnEffectHit += SpellEffectFn(spell_gen_whisper_to_controller::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); + } +}; + class spell_gen_eject_all_passengers : public SpellScript { PrepareSpellScript(spell_gen_eject_all_passengers); @@ -4870,6 +4893,7 @@ void AddSC_generic_spell_scripts() RegisterSpellScript(spell_gen_vendor_bark_trigger); RegisterSpellScript(spell_gen_wg_water); RegisterSpellScript(spell_gen_whisper_gulch_yogg_saron_whisper); + RegisterSpellScript(spell_gen_whisper_to_controller); RegisterSpellScript(spell_gen_eject_all_passengers); RegisterSpellScript(spell_gen_eject_passenger); RegisterSpellScriptWithArgs(spell_gen_eject_passenger_with_seatId, "spell_gen_eject_passenger_1", 0); -- cgit v1.2.3