diff options
| author | offl <11556157+offl@users.noreply.github.com> | 2021-12-18 19:30:35 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2022-03-24 14:41:00 +0100 |
| commit | c3368fd5fc24dd589f8b4c737006db21ed9c4fa3 (patch) | |
| tree | e263dad62812a904799ff6d7d72c245a7b4ded22 /src/server/scripts/Spells | |
| parent | 299db7af1a0712c8a092da0a0f09bb10659ceed2 (diff) | |
Scripts/Quest: Rework 'The Cleansing' (11317,11322) (#27413)
(cherry picked from commit a8464d34bb0f77e0d616e6f21aaf7d7a79276180)
Diffstat (limited to 'src/server/scripts/Spells')
| -rw-r--r-- | src/server/scripts/Spells/spell_generic.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
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); |
