diff options
author | offl <11556157+offl@users.noreply.github.com> | 2021-09-27 00:41:25 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-27 00:41:25 +0300 |
commit | 5f71c40b969c07f950e3dceb99037c7685512e71 (patch) | |
tree | f00636ce6dc76e151bbe8e1b16f9b445f67a4dd0 /src | |
parent | 9062141cd4dc899d18967456e5a794200009671b (diff) |
Scripts/Spells: Mount check aura for Gryphon Hatchling & Wind Rider Cub (#26897)
Closes #26600
Diffstat (limited to 'src')
-rw-r--r-- | src/server/scripts/Spells/spell_generic.cpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp index 156a51babb5..8e2b9671eff 100644 --- a/src/server/scripts/Spells/spell_generic.cpp +++ b/src/server/scripts/Spells/spell_generic.cpp @@ -1940,6 +1940,37 @@ class spell_gen_gnomish_transporter : public SpellScript } }; +// 69641 - Gryphon/Wyvern Pet - Mounting Check Aura +class spell_gen_gryphon_wyvern_mount_check : public AuraScript +{ + PrepareAuraScript(spell_gen_gryphon_wyvern_mount_check); + + void HandleEffectPeriodic(AuraEffect const* /*aurEff*/) + { + Unit* target = GetTarget(); + Unit* owner = target->GetOwner(); + + if (!owner) + return; + + if (owner->IsMounted()) + { + target->SetAnimationTier(AnimationTier::Fly); + target->SetDisableGravity(true); + } + else + { + target->SetAnimationTier(AnimationTier::Ground); + target->SetDisableGravity(false); + } + } + + void Register() override + { + OnEffectPeriodic += AuraEffectPeriodicFn(spell_gen_gryphon_wyvern_mount_check::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY); + } +}; + class spell_gen_injured : public SpellScript { PrepareSpellScript(spell_gen_injured); @@ -4534,6 +4565,7 @@ void AddSC_generic_spell_scripts() RegisterSpellScript(spell_gen_gadgetzan_transporter_backfire); RegisterSpellScript(spell_gen_gift_of_naaru); RegisterSpellScript(spell_gen_gnomish_transporter); + RegisterSpellScript(spell_gen_gryphon_wyvern_mount_check); RegisterSpellScript(spell_gen_injured); RegisterSpellScript(spell_gen_lich_pet_aura); RegisterSpellScript(spell_gen_lich_pet_onsummon); |