aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authoroffl <11556157+offl@users.noreply.github.com>2021-09-27 00:41:25 +0300
committerGitHub <noreply@github.com>2021-09-27 00:41:25 +0300
commit5f71c40b969c07f950e3dceb99037c7685512e71 (patch)
treef00636ce6dc76e151bbe8e1b16f9b445f67a4dd0 /src
parent9062141cd4dc899d18967456e5a794200009671b (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.cpp32
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);