For those of you using the following type of vehicle mount system like I was:
you are probably just as frustrated as me that every time you get a new mount you need to edit it.Code:/script if (not IsMounted()) then if (((GetZoneText()=="Dalaran") and (GetSubZoneText() ~="Krasus' Landing")) or (GetZoneText()=="Wintergrasp") or not IsFlyableArea()) then CallCompanion("MOUNT",6) else CallCompanion("MOUNT",12) end else Dismount() end
So, I found a new way, perhaps it will help you.
Put your flying mount in a button, do not bind a key to it (well its not needed but it doesn't hurt if you do). Note that I'm talking a non-home row button, any button will do
Put your ground mount in another button, again binding a key is not required
Run the following command when you are hovered over each button and write down the name of each button.
Now /macro, make a new macro called Mount, pick any icon, and put in it:Code:/script DEFAULT_CHAT_FRAME:AddMessage( GetMouseFocus():GetName() );
ButtonX should be replaced with what the button name is for your flying mount.Code:/click [flyable,nomounted] ButtonX
/click [nomounted] ButtonY
/dismount [mounted]
/script VehicleExit();
ButtonY should be replaced with what the button name is for your ground mount.
Place this macro in a button, this time for sure bind a key to it.
Now everytime you get a new pet you don't need to worry about your mount macro being broken. Whenever you want to use a diff flying mount just drop that mount in the flying mount button.
If you are using bar mods like Bartender4 or Macaroon, you can put all 3 on a hidden bar if you want for visual purity.
I hope this helps someone.