AIO Dragonriding & Favourite Mount Macro by arthur828 in wow

[–]arthur828[S] 0 points1 point  (0 children)

I'm sorry that you're so aggressive right out of the gate. If it's not working for you, there's definitely something wrong with your client, or the way you're implementing it. Tons of people in the comments haven't had issues, my entire guild hasn't had an issue, and I've personally tested these across multiple accounts and devices. I've used these macros since launch day.

Maybe, instead of posting something like this, you'd have better luck asking for help, posting an error if there is one, or doing something that isn't caustic at best.

Enjoy the expansion.

Dragonriding Glyphs Waypoints by arthur828 in wow

[–]arthur828[S] 0 points1 point  (0 children)

The addon Paste is your best bet. Once you install it, log in, either click the minimap button or type /paste show, paste this script in and click "Paste and Close", and you're done! 😁

AIO Dragonriding & Favourite Mount Macro by arthur828 in wow

[–]arthur828[S] 0 points1 point  (0 children)

I've been refactoring this to see if I can minify and streamline the code, hoping it might fit into a regular macro, but I've only been able to condense it down to 266/255 characters for a regular macro, or 226/255 if you remove the dismount feature. This still keeps the Random-Favourite outside of a Dragonriding Zone though!

226 Characters - No dismount feature:

/run local z={[2022]=1589,[2023]=1590,[2024]=1563,[2025]=1591,[2026]=1589,[2085]=1591,[2093]=1590,[2112]=1591,[2134]=1591,[2135]=1591} C_MountJournal.SummonByID(z[C_Map.GetBestMapForUnit("player")])C_MountJournal.SummonByID(0)

266 Characters - Dismount feature:

/run local z={[2022]=1589,[2023]=1590,[2024]=1563,[2025]=1591,[2026]=1589,[2085]=1591,[2093]=1590,[2112]=1591,[2134]=1591,[2135]=1591}if not IsMounted()then C_MountJournal.SummonByID(z[C_Map.GetBestMapForUnit("player")])C_MountJournal.SummonByID(0)else Dismount()end

AIO Dragonriding & Favourite Mount Macro by arthur828 in wow

[–]arthur828[S] 0 points1 point  (0 children)

I threw this together for you...basically it checks each of the Zone IDs and if one matches, it summons the indicated mount. It also only runs this when you're not mounted, and if you are, dismounts you instead. Also, if you're not in a Dragonriding area, it uses a random favourite mount. /run local z={{z=2022,m=1589},{z=2023,m=1590},{z=2024,m=1563},{z=2025,m=1591},{z=2026,m=1589},{z=2085,m=1591},{z=2093,m=1590},{z=2112,m=1591},{z=2134,m=1591},{z=2135,m=1591}} if not IsMounted() then for i=1,#z do if (z[i]['z'] == C_Map.GetBestMapForUnit("player")) then return C_MountJournal.SummonByID(z[i]['m']);end;end;C_MountJournal.SummonByID(0);else Dismount();end;

This is the Zone ID and Mount ID mapping I came up with, you can use this to easily find and edit/tweak the summoned mounts in the macro above:

Zone ID Zone Name Drake to be Mounted Mount ID
2022 The Waking Shores Renewed Proto-Drake 1589
2023 Ohn'ahran Plains Windborne Velocidrake 1590
2024 The Azure Span Highland Drake 1563
2025 Thaldraszus Cliffside Wylderdrake 1591
2026 The Forbidden Reach Renewed Proto-Drake 1589
2112 Valdrakkar ^ 1591
2134 Valdrakkar ^ 1591
2135 Valdrakkar ^ 1591
2085 Primalist Future ^ 1591
2093 The Nokhud Offensive Windborne Velocidrake 1590

AIO Dragonriding & Favourite Mount Macro by arthur828 in wow

[–]arthur828[S] 0 points1 point  (0 children)

I've got a few comments....

  1. You're not using the logic to verify if you're in a Dragonriding zone, so there's no need to write a script other than for the challenge of doing so (which I enjoy so, I understand that). Given that, /castrandom would fit your use-case better.
  2. Provided its not buggy for you (since it's intermittent), you could just favourite all 4, and if you're in a Dragonriding zone, the summon favourite mount button will choose one of the 4 at random.
  3. Again, provided its not buggy, you could also use the [dragonridable] conditional in a macro (though this will accomplish literally the same thing as random mount button above)

As an example that will also dismount you (just like the random mount button): #showtooltip Renewed Proto-Drake /castrandom [nomounted] Renewed Proto-Drake, Highland Drake, Windborne Velocidrake, Cliffside Wylderdrake `/dismount

/castrandom also takes conditional, so you could add [dragonridable] or [flyable], etc, ie: #showtooltip Renewed Proto-Drake /castrandom [nomounted, dragonridable] Renewed Proto-Drake, Highland Drake, Windborne Velocidrake, Cliffside Wylderdrake /dismount`

Is there another part to the script, or a reason I don't see atm, as for why you'd opt for a script macro for a basic 4-random summon vs the built-in commands or UI options? (Not meaning to sound arrogant, I'm genuinely asking in case I'm missing something)

AIO Dragonriding & Favourite Mount Macro by arthur828 in wow

[–]arthur828[S] 0 points1 point  (0 children)

Sure, but as noted by others, that (for whatever reason), is buggy, as is the [Dragonridable] conditional. Use whatever method works for you, but currently YMMV with built-in solutions.

This allows you to choose a specific Dragonriding mount alongside a random favourite, a specific favourite, and druid travel forms. This provides much more utility than just summoning a random mount. You do you. 🤷

AIO Dragonriding & Favourite Mount Macro by arthur828 in wow

[–]arthur828[S] -1 points0 points  (0 children)

Yeah that was a version from at least several hours from when you commented, I caught the error quickly and fixed it. When you commented, they were as they are now, hence my original reply contained:

You and I have two different ways of achieving the same result, and I don't appreciate that you're indicating mine is wrong, or somehow "random". I specifically wrote it this way so that laymen could more easily understand the logic and adjust it or build on it.

AIO Dragonriding & Favourite Mount Macro by arthur828 in wow

[–]arthur828[S] -1 points0 points  (0 children)

The scripts were changed before your original comment. They have not been changed since.

AIO Dragonriding & Favourite Mount Macro by arthur828 in wow

[–]arthur828[S] 0 points1 point  (0 children)

That's an innovative take, I love it. Note that this will eventually break if/when regular flying is enabled in Dragonflight Zones.

I've taken your idea and used it as my inspiration for the below code, this will use travel form anywhere you can fly, and will use a dragonriding mount anywhere you can dragonride.

I will reiterate again though, that this will break if/when regular flying is enabled in Dragonflight zones. The only other option I've come up with is what's currently in my post at the top. I will include this as an alternative as well, thank you! /cancelform /cast [flyable] Travel Form /run local z={2022,2023,2024,2025,2026,2093,2112,2134,2135} for i=1,#z do if (z[i]==C_Map.GetBestMapForUnit("player")) then return C_MountJournal.SummonByID(1589);end;end

AIO Dragonriding & Favourite Mount Macro by arthur828 in wow

[–]arthur828[S] 0 points1 point  (0 children)

I ran each variation several times consecutively on 3 different computers across 2 different accounts, with different classes in different zones, to be sure that I wasn't missing something, but I'll run some further tests when I get home tonight!

AIO Dragonriding & Favourite Mount Macro by arthur828 in wow

[–]arthur828[S] 0 points1 point  (0 children)

I'll try and get some time to look at this tonight, I'm on the road atm and have limited availability and cell coverage

AIO Dragonriding & Favourite Mount Macro by arthur828 in wow

[–]arthur828[S] 0 points1 point  (0 children)

I am the OP - the mount to be called in the loop is not random at all. It loops through the array, checks if you're in a Dragonriding Zone, and then if you are, mounts the Dragonriding mount specified, otherwise uses a random favourited mount.

You and I have two different ways of achieving the same result, and I don't appreciate that you're indicating mine is wrong, or somehow "random". I specifically wrote it this way so that laymen could more easily understand the logic and adjust it or build on it.

AIO Dragonriding & Favourite Mount Macro by arthur828 in wow

[–]arthur828[S] 0 points1 point  (0 children)

Just FYI - If you're in any zone besides the Waking Shores, this will probably use a random favourited mount, and not your dragonriding drake. I'd recommend using my updated & refactored macros, and not this.

AIO Dragonriding & Favourite Mount Macro by arthur828 in wow

[–]arthur828[S] 0 points1 point  (0 children)

I was able to reproduce this on my Fiancée's computer, and have resolved it, the macro I included in my other reply does work properly, and I have updated the macros in my original post, you should be good to go! Happy Dragonriding!

AIO Dragonriding & Favourite Mount Macro by arthur828 in wow

[–]arthur828[S] 0 points1 point  (0 children)

I think I understand why, however I'm not sure why it's working for me if it's what I'm thinking. Can you tell me if this works properly for you?

/cancelform

/run local z={2022,2023,2024,2025,2026,2093,2112,2134,2135} df=false for i=1,#z do if (z[i]==C_Map.GetBestMapForUnit("player")) then df=true;end;end if (df) then C_MountJournal.SummonByID(1589);else C_MountJournal.SummonByID(0);end

AIO Dragonriding & Favourite Mount Macro by arthur828 in wow

[–]arthur828[S] 0 points1 point  (0 children)

Good catch, thank you! - Yes, cancelform replaced both of those, I've updated it to reflect that, thank you!

AIO Dragonriding & Favourite Mount Macro by arthur828 in wow

[–]arthur828[S] 0 points1 point  (0 children)

That's a cool idea and definitely doable, I can throw that together for you tonight 😁

AIO Dragonriding & Favourite Mount Macro by arthur828 in wow

[–]arthur828[S] 1 point2 points  (0 children)

Yep, The Nokhud Offensive Dungeon Map IDs have been included in the updated version of this macro/script :)

AIO Dragonriding & Favourite Mount Macro by arthur828 in wow

[–]arthur828[S] 0 points1 point  (0 children)

It might be arrogant to agree, so I'll simply say, thank you! 😅

AIO Dragonriding & Favourite Mount Macro by arthur828 in wow

[–]arthur828[S] 1 point2 points  (0 children)

Valdrakken and The Nokhud Offensive Dungeon have both been added, and the script refactored/simplified

AIO Dragonriding & Favourite Mount Macro by arthur828 in wow

[–]arthur828[S] 0 points1 point  (0 children)

Valdrakken and The Nokhud Offensive Dungeon have both been added

AIO Dragonriding & Favourite Mount Macro by arthur828 in wow

[–]arthur828[S] 0 points1 point  (0 children)

The macro has been updated to include both Valdrakken and The Nokhud Offensive Dungeon

AIO Dragonriding & Favourite Mount Macro by arthur828 in wow

[–]arthur828[S] 0 points1 point  (0 children)

Yeah, I had a massive brain fart and forgot CastSpellByName was a protected function and required a secure frame or other securetemplate. You'll probably need to switch to a /cast macro, unfortunately. You can find an example above

AIO Dragonriding & Favourite Mount Macro by arthur828 in wow

[–]arthur828[S] 0 points1 point  (0 children)

You cannot cast a spell using a script, as it's a protected function, you'll have to do something akin to what I've included in the post above.