aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/Spells
diff options
context:
space:
mode:
authoroffl <11556157+offl@users.noreply.github.com>2021-12-18 19:30:35 +0200
committerShauren <shauren.trinity@gmail.com>2022-03-24 14:41:00 +0100
commitc3368fd5fc24dd589f8b4c737006db21ed9c4fa3 (patch)
treee263dad62812a904799ff6d7d72c245a7b4ded22 /src/server/scripts/Spells
parent299db7af1a0712c8a092da0a0f09bb10659ceed2 (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.cpp24
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);