aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
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 2b1178991d8..39703dc6376 100644
--- a/src/server/scripts/Spells/spell_generic.cpp
+++ b/src/server/scripts/Spells/spell_generic.cpp
@@ -1843,6 +1843,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->SetAnimTier(AnimTier::Fly);
+ target->SetDisableGravity(true);
+ }
+ else
+ {
+ target->SetAnimTier(AnimTier::Ground);
+ target->SetDisableGravity(false);
+ }
+ }
+
+ void Register() override
+ {
+ OnEffectPeriodic += AuraEffectPeriodicFn(spell_gen_gryphon_wyvern_mount_check::HandleEffectPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
+ }
+};
+
enum Interrupt
{
SPELL_GEN_THROW_INTERRUPT = 32747
@@ -4831,6 +4862,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);
RegisterSpellScriptWithArgs(spell_gen_increase_stats_buff, "spell_pal_blessing_of_kings");
RegisterSpellScriptWithArgs(spell_gen_increase_stats_buff, "spell_pal_blessing_of_might");
RegisterSpellScriptWithArgs(spell_gen_increase_stats_buff, "spell_dru_mark_of_the_wild");