Core/Quest: Threat From Above (#26468)

* [Quest] Threat From Above #26355

* [Quest] Threat From Above TrinityCore#26355

* Core/Quest: Threat From Above #26468 - modified sql according to guidelines; added override keyword

* Rename 2021_04_24_00_world.sql to 2021_04_25_00_world.sql

Co-authored-by: Edder <d.rosenauer@gmail.com>
Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>
(cherry picked from commit 3e407c7d1c)
This commit is contained in:
Edder
2021-04-25 11:36:54 +02:00
committed by Shauren
parent 9845fe92bb
commit 8202dc28c2
6 changed files with 52 additions and 34 deletions

View File

@@ -1158,38 +1158,6 @@ class spell_close_rift : public SpellScriptLoader
}
};
// 60603 - Eject Passenger 1
class spell_eject_passenger_wild_wyrm : public SpellScriptLoader
{
public:
spell_eject_passenger_wild_wyrm() : SpellScriptLoader("spell_eject_passenger_wild_wyrm") { }
class spell_eject_passenger_wild_wyrm_SpellScript : public SpellScript
{
PrepareSpellScript(spell_eject_passenger_wild_wyrm_SpellScript);
bool Validate(SpellInfo const* /*spellInfo*/) override
{
return ValidateSpellInfo({ SPELL_FIGHT_WYRM });
}
void HandleScript(SpellEffIndex /*effIndex*/)
{
GetHitUnit()->RemoveAurasDueToSpell(SPELL_FIGHT_WYRM);
}
void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_eject_passenger_wild_wyrm_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
SpellScript* GetSpellScript() const override
{
return new spell_eject_passenger_wild_wyrm_SpellScript();
}
};
// 56689 - Grip
class spell_grip : public SpellScriptLoader
{
@@ -1572,7 +1540,6 @@ void AddSC_storm_peaks()
new spell_jokkum_scriptcast();
new spell_veranus_summon();
new spell_close_rift();
new spell_eject_passenger_wild_wyrm();
new spell_grip();
new spell_grab_on();
new spell_loosen_grip<5>("spell_thrust_spear");

View File

@@ -3695,6 +3695,31 @@ class spell_gen_eject_passenger : public SpellScript
}
};
class spell_gen_eject_passenger_with_seatId : public SpellScript
{
PrepareSpellScript(spell_gen_eject_passenger_with_seatId);
public:
spell_gen_eject_passenger_with_seatId(uint8 seatId) : SpellScript(), _seatId(seatId) { }
private:
uint8 _seatId;
void EjectPassenger(SpellEffIndex /*effIndex*/)
{
if (Vehicle* vehicle = GetHitUnit()->GetVehicleKit())
{
if (Unit* passenger = vehicle->GetPassenger(_seatId))
passenger->ExitVehicle();
}
}
void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_gen_eject_passenger_with_seatId::EjectPassenger, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
enum GMFreeze
{
SPELL_GM_FREEZE = 9454
@@ -4842,6 +4867,8 @@ void AddSC_generic_spell_scripts()
RegisterSpellScript(spell_gen_whisper_gulch_yogg_saron_whisper);
RegisterSpellScript(spell_gen_eject_all_passengers);
RegisterSpellScript(spell_gen_eject_passenger);
RegisterSpellScriptWithArgs(spell_gen_eject_passenger_with_seatId, "spell_gen_eject_passenger_1", 0);
RegisterSpellScriptWithArgs(spell_gen_eject_passenger_with_seatId, "spell_gen_eject_passenger_3", 2);
RegisterSpellScript(spell_gen_gm_freeze);
RegisterSpellScript(spell_gen_stand);
RegisterSpellScript(spell_gen_mixology_bonus);