You will need three macros and three buttons spaces all of which can be hidden or not and only one of which should have a keybinding(if you like)
Secondly you will need to type /framestack and hover your mouse over the buttons you put the second and third macro onto to see what the name of the button is. So for me the first macro clicks bartender4 button 111 and the second macro clicks bartender4 button 110, you will need to change those to your specific buttons found by using /framestack.
Macro one:
Code:
/use 16
/run local a="Dragonwrath, Tarecgosa's Rest" if (IsEquippedItem(a) or InCombatLockdown()) then a="Giorgio's Caduceus of Pure Moods" end if not (UnitCastingInfo("player") or IsMounted()) then EquipItemByName(a) end
/click [button:1] BT4Button111
For use with other staves/two handers simply replace Giorgio's Caduceus of Pure Moods with your weapon's name and replace BT4Button111 with the button name from your framestack where macro two(listed below) is located for you.
Code:
/use 16
/run local a=71086 b=0 if (IsEquippedItem(a) or InCombatLockdown()) then a=96404 b=96158 end if not (UnitCastingInfo("player") or IsMounted()) then EquipItemByName(a) if not (b==0) then EquipItemByName(b) end end
/click [button:1] BT4Button111
Alternatively for one hand and offhand similar to the first option for macro one you replace 96404 with the item ID of your main hand and 96158 with the item ID of your offhand (itemIDs can be found by searching the item on wowhead and copy pasting it from the url ex:http://www.wowhead.com/item=96404 is my mainhand) and again replace the BT4Button111 the same as you would for the two hander option.
Macro two:
Code:
/run if (IsMounted()) then PlaySoundFile(GetRandomArgument("Sound\\Creature\\Tarecgosa\\VO_QUEST_42_TARECGOSA_WHISPER_A_05.wav","Sound\\Creature\\Tarecgosa\\VO_QUEST_42_TARECGOSA_WHISPER_B_01.wav")) end
/click [button:1] BT4Button110
/dismount
the only thing you need to change for this one is BT4Button110 to the button name from your framestack location of the third macro
Macro three:
Code:
/run if not (IsMounted()) then if not (IsEquippedItem(71086)) then PlaySoundFile(GetRandomArgument("Sound\\Creature\\Tarecgosa\\VO_QUEST_42_TARECGOSA_WHISPER_B_05.wav","Sound\\Creature\\Tarecgosa\\VO_QUEST_42_TARECGOSA_WHISPER_B_08.wav")) end end
The end result is you keybind the first macro and on first press it equips your legendary staff and plays one of two whispers from tarecgosa at random and on second press casts the mount and while casting re-equips your real weapons without losing the mount(it wont swap weapons if you hit it by accident in combat but will play the first sound effect in combat and the same goes for areas you cannot mount in) and lastly on third press will dismount you and play a different whisper from tarecgosa of another two random ones. Spamming the bind more than a few times quickly will just spam the sound effects and swap weapons back and forth.
TLDR; If you set it up right press twice to mount and hear an emote without the staff needing to stay on and dismount while hearing another emote if pressed a third time.
Edit: Also if you like the mount bit but don't care for the sounds just remove the line "/click [button:1] BT4Button111" from the first macro and add /dismount instead and forgo the second and third macro.