Macro conditions: flyable, noflayble .... dragonridable?

Is there a new macro condition to check for dragon riding allowed?
Or some kind of workaround for it not existing that doesn’t involve manually using a modifier key?

10.0.7 Update

10.0.7 introduced the advflyable condition that returns true when Dragonriding is available.


Original

Sadly no, dragonridable isn’t a thing, despite what ppl were spreading on reddit.

This is the best option we have atm, unless you want to simply leverage the fact that mounts are off the gcd.

6 Likes

The spell ID is different from the mount ID, but you can easily look up the spell ID on WoWHead.

I used Elvenbane’s code to improve the macro I had been using, which didn’t work in battlegrounds because it used [noflyable] as the condition. (Thanks!):

#showtooltip
/changeactionbar 1
/dismount [mounted]
/stopmacro [mounted]
/run if IsUsableSpell(368901) then C_MountJournal.SummonByID(1591) end
/cast [flyable]Dark Phoenix;Swift Forest Strider

One big difference here is that if you are already mounted, you will just dismount and not summon a new mount. That’s how I like it personally.

3 Likes

Probably best to check for the Proto-drake since that’s the one everyone will have: 368896

If that spell is available, then the others should work too. My example above uses the Cliffside drake.

1 Like

That’s good info. It’s just frustrating that the script line, apart from being long, doesn’t integrate well into what I use macros for, meaning convenient merging of spells and such.
I basically want to override my [nomod] standard flying mount with the dragonriding mount whenever that is available, but in my situation it’s as problematic as can be, because the script does not respect #showtooltip, so it is showing the wrong icon. And I like using Prismatic Bauble in mount macros, but because that has to come before the channeled mount command, I have to put the whole command line as a copy after #showtooltip to have proper tooltips, otherwise it would always show the bauble or a fixed icon, which is bad for situational awareness.

It should have been Blizzard’s job to add such a macro condition. (And also to allow longer macros without that requiring yet another addon complication.)

BTW, is there a more elegant way in regards to my bauble issue?

Well the nice thing about mounts is that they’re off the GCD. So you could skip the script and do the following instead:

#showtooltip
/cast [flyable] FLYING_MOUNT; DRAGON_RIDING_MOUNT
/cast [noflyable] GROUND_MOUNT
/dismount [mounted]

You’ll still have tooltip issues (it’ll always show your dragon riding mount instead of the ground mount) but it takes up less space.

I personally use more complex macros and I’d rather see their logic than the dragon riding mount.

#showtooltip
/run if IsUsableSpell(368896) and not IsModifierKeyDown() then C_MountJournal.SummonByID(1591) end
/cast [mod:shiftalt,known:374968] Time Spiral; [mod:shift] [combat,nomounted] [indoors] Hover; Cartel Master's Gearglider
/dismount [mounted]

I was hoping they’d add a [dragonridable] or similar condition in 10.0.5 but we haven’t seen anything to that effect yet. Maybe in a future patch.

Not that I can think of.

1 Like

Regarding

/cast [flyable] FLYING_MOUNT; DRAGON_RIDING_MOUNT

Dunno how you imagine the GCD thing works, because if I put the regular mount first, it picks that one even in the Isles, but if I put the riding dragon first, it throws and error in the old world and doesn’t use the regular mount.

And how would it work anyway, GCD or not? Mounts have a cast time.

Works exactly as intended.

  • If [flyable] returns true then summon your flying mount
  • Else attempt to summon your dragonriding mount and your ground mount.
    • If you’re in a zone where dragonriding mounts work, then you summon that mount and the ground mount gets blocked by the cast.
    • If you’re in a zone where dragonriding doesn’t work, the dragonriding mount throws an error, doesn’t get summoned, and the ground mount gets summoned instead.

If mounts were on the GCD then attempting to summon any mount, even if you can’t, would prevent summoning all other mounts within the micro GCD window.

2 Likes

Ah, now I see the problem. My mount macros typically are meant to auto-cast a ground mount in non-flyable zones, and I had to realize that doesn’t work anymore. I have to put my ground mount exclusively on a modifier trigger, otherwise there seems to be no way it auto-selects a ground mount in noflyable old zones and the riding dragon in noflyable Dragon Isles.

An exemplary, relatively simple among my chars, mount macro now looks like this:

#showtooltip
/cast [mod:alt] Grand Expedition Yak; [mod:ctrl] Desertwing Hunter; [mod:shift] Mechacycle Model W; [flyable] Temperamental Skyclaw; Cliffside Wylderdrake

Regarding the Prismatic Bauble, if only there was some really simple syntax to exclude commands from it, then I wouldn’t have to bloat macro length in any that uses it. (At first I tried putting the bauble after the mount, but that didn’t work.)

The macro in my post works except it doesn’t show the tooltip for the dragon mount since it’s embedded in a Lua script. I get the forest strider in arenas and battlegrounds and the phoenix in old school flyable areas and the of course the dragon when it’s allowed. I did add a vendor mount to the macro as an alt key option. It all fits into a single macro.

I think the only annoyance with a macro like that is if you cross the boundary from non-flyable to flyable, you would be better off on a flying mount in the first place. There are quite a lot of mounts that look great on ground, but can still fly (Manasaber and the Pandaria jewelcrafting mounts are just flying cats). I wanted something a bit more subtle for PvP though. Besides, the forest strider look hilarious when I jump with slow fall (it has tiny wings and they flap).

For maximum convenience, pick a ground mount that can also fly.

1 Like

I tried some more and your suggestion doesn’t work, at least not if I combine flyable with nomod.

#showtooltip
/cast [flyable] FLYING_MOUNT; DRAGON_RIDING_MOUNT
/cast [noflyable] GROUND_MOUNT
/dismount [mounted]

is a problem because Dragon Isles are not flyable, so the whole thing under [flyable] is discarded, never trying the dragon riding mount. I also tried putting the dragon riding mount first in [noflyable], but then in the old world it says that doesn’t work there and doesn’t skip to the ground mount.

Post the exact macro you’re using.

I demonstrated in the video above that the template works exactly as intended in all 3 situations.

2 Likes

Yeah, I just realized the second command after the ; is not counted to [flyable] anymore, and the trick is in the second cast command.

UPDATE:

This doesn’t work in my macro. It keep casting my ground mount if I trigger the macro when sitting on my drake.
I reduced it down to exactly your quoted macro but it keeps alternating between drake and ground mount with consecutive casts. It even does so if I remove the [mounted] condition. It simply ignores the final instruction to dismount.

This is also getting annoying with the showtooltip, which, in my larger macro, simply refuses to show any modifier key tooltips. I have a toy on [mod:alt] as the first thing, and some other conditions, and while it executes them, it only shows the tooltip for the drake regardless of modifier.

Edit: deleted a post about [advfyable]. I found the information on Wowpedia, but there’s no such option… I didn’t test thoroughly before posting (sorry).

The new conditions and the Lua API call for dragonriding (IsAdvancedFlyableArea) are on the 10.0.7 PTR according to wowpedia. So, at least it’s probably coming…

1 Like

Nice.
https://wowpedia.fandom.com/wiki/Patch_10.0.7/API_changes

1 Like

Still a sigh: The game still considers Dragon Isles noflyable, too, which can complicate macros, introducing redundancy. I cannot check for [mod:shift][flyable][noflyable] before checking for [advflyable] or just leaving it blank. So instead I have to first check for [advflyable,nomod] or such.
But I can still avoid redundancy in other ways there.

EDIT: Oh, 10.0.7 is only coming now? Because on loading in the chat windows says unknown macro option “advflyable”. I thought it was already implemented. Well, then I will see in two days, I guess.

I think 10.0.7 is still weeks away. We’re barely into 10.0.5?

Woah, what? It takes that long to do some necessary tweaks? I assumed the extended maintenance period this week would be another small patch rollout. And 10.0.5 to 10.0.7 is what I call very small.

Thank you very much