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
committerGitHub <noreply@github.com>2021-12-18 19:30:35 +0200
commita8464d34bb0f77e0d616e6f21aaf7d7a79276180 (patch)
tree6d6d9eb17eee87b51dac5e2ff23029197bbf0091 /src/server/scripts/Spells
parent8ac63c7952bf74066abbbe981b5168bc02ad3efb (diff)
Scripts/Quest: Rework 'The Cleansing' (11317,11322) (#27413)
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 6134db00e95..a2f72fd420d 100644
--- a/src/server/scripts/Spells/spell_generic.cpp
+++ b/src/server/scripts/Spells/spell_generic.cpp
@@ -3680,6 +3680,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 sObjectMgr->GetBroadcastText(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);
@@ -4572,6 +4595,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);