Scripts/Quest: Rework 'The Cleansing' (11317,11322) (#27413)

(cherry picked from commit a8464d34bb0f77e0d616e6f21aaf7d7a79276180)
This commit is contained in:
offl
2022-03-24 14:41:00 +01:00
committed by Shauren
parent 299db7af1a
commit c3368fd5fc
4 changed files with 253 additions and 44 deletions
@@ -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);