Go to the object editor and create two spells: one based off of Metamorphosis and the other based off of Shockwave.
Name the Metamorphosis spell "Fly Trick" and the Shockwave spell "Jump".
Change the tooltips to whatever you want, then disable ALL DAMAGE PROPERTIES in the Shockwave spell, change everything that has to do with range AoE and other stuff to 0. In other words: the spell "Jump" is referred to as a dummy spell.
Make the Alternate Unit Form for the Fly Trick spell a Gryphon Rider.
Open the trigger editor.
Delete the Map Initialization trigger and make a trigger named "Jump".
Unit - A unit Starts the effect of an ability
(Ability being cast) Equal to Jump
Unit - Add Fly Trick to (Casting unit) Unit - Remove Fly Trick from (Casting unit) Unit - Turn collision for (Casting unit) Off Unit - Order (Casting unit) to Move To (Target point of ability being cast) Animation - Change (Triggering unit) flying height to 500.00 at 500.00 Wait 0.90 seconds Animation - Change (Triggering unit) flying height to 0.00 at 1500.00 Wait 0.90 seconds Unit - Turn collision for (Casting unit) On
Give the ability "Jump" to a unit.
NOTE: DO NOT GIVE "Fly Trick" TO ANY UNIT: METAMORPHOSIS CAN CAUSE ERRORS IN MAPS WHEN SET TO A DIFFERENT UNIT! YOU COULD GET A FATAL ERROR RESULTING IN LOSS OF DATA!
Once you set the ability to the unit and remove it instantly, you can control it's flying height within that trigger.
What I want to know is, why not just change the flying height using triggers, why add all that other junk? You could just make the unit's flying height=1. The player wouldn't notice it, and you could have the same effect.
If you try to fail, and then succeed at it, which have you done?
You have a lot more control over the unit by triggers. If you did it like you said, then you couldn't add special effects and stuff at the right time. You can not change the flying height of a unit in-game without triggers, either.