All-In-One Mount/Mode?

So I have been using this … pretty good for me:

#showtooltip
/cast [swimming] Aquatic Form; [indoors] Cat Form; [combat] Travel Form; [flyable] Swift Flight Form; [nocombat, harm] Running Wild; Running Wild
/dismount [mounted]
  • While swimming it will cast swim form
  • If I am indoors it will cast cat form
  • In combat it casts travel form
  • If it's a flyable area it will cast flight form
  • If I am not in combat but have an "enemy" targeted it will cast Running Wild (may swap this for Travel or Cat form)
  • If all else fails it will cast Running Wild
  • Dismount if mounted
I basically like how this works EXCEPT I would like it to cast cat form (or maybe travel form) if I am running and hit the button. Stopping to swap (and then delaying as it goes to Running Wild) is sometimes not fast enough for me.

Any ideas?

I can’t get it to work at all, I’m Horde so I knew “Running Wild” wouldn’t work but none of them work for me.

Running Wild could/should probably be replaced by your mount of choice. Other than me looking like a spastic monkey there’s no difference between it and a regular land mount.

Here’s what I have now:

#showtooltip
/use [swimming]Aquatic Form;[indoors]Cat Form;[combat]Travel Form;[flyable]Swift Flight Form;[nocombat,harm]Cat Form;Running Wild
/use Cat Form
/run UIErrorsFrame:Clear()
/dismount [mounted]

It does almost all of that except does not switch me back out of any form/mount when I cast it again. A person on another forum has suggested the following which I will try soon but cannot right now as I’m at work:

#showtooltip
/use [swimming]Aquatic Form;[indoors]Cat Form;[combat]Travel Form;[flyable]Swift Flight Form;[nocombat,harm]Cat Form;Running Wild
/use [noform:6]Cat Form
/run UIErrorsFrame:Clear()
/dismount

Checked … the second one does switch me out of any form/dismount me when recast unless I am in a flying area and then it just goes back and forth between cat and bird.

Better, but still not perfect.