MountMacro

MountMacro

5.5k Downloads

Description

MountMacro uses a template to generate a macro. Every time you mount or change zone, the macro is regenerated with new random mounts. Your preferred mounts have a higher chance of being selected, but all the valid mounts still have a chance to appear.

How do you use it?

MountMacro generates two character specific macros named mm and mm2. To use the macros, simply drag them on one of your action buttons and optionally assign a key bind to it.

You can modify the macro templates to do whatever you want. The default templates generate the macros that function like this:

Default macro template for the mm macro

Mod key / EnvironmentMount that will be summoned
ShiftWater walking mount
CTRL or flyable zoneFlying mount
Under WaterMount with a swim speed bonus
Already MountedDismount
All other casesGround mount

This is the template used for the mm macro:

#showtooltip
/cast [mod:shift]<ww>;[mod:ctrl][flyable,nomounted]<f>;[swimming,nomounted]<uw>;[nomounted]<g>
/dismount [mounted]
/stopmacro
/cast <cm>

Default macro template for the mm macro for Druids

Mod key / EnvironmentMount that will be summoned
ShiftWater walking mount
CTRLGround mount
IndoorsCat Form
Already MountedDismount
All other casesTravel Form

This is the template used for the mm macro with Druid characters:

#showtooltip
/cast [mod:shift]<ww>;[mod:ctrl]<g>;[indoors]Cat Form;[combat,nomounted][nomounted]Travel Form
/dismount [mounted]
/stopmacro
/cast <cm>

Default macro template for the mm2 macro

Mod key / EnvironmentMount that will be summoned
CTRLFlying mount that can carry a passenger
ShiftGround mount that can carry a passenger
Already MountedDismount
All other casesRepair mount

This is the template used for the mm2 macro:

#showtooltip
/cast [mod:ctrl,nomounted]<pf>;[mod:shift,nomounted]<pg>;[nomounted]<r>
/dismount [mounted]
/stopmacro
/cast <cm>

How to create the macro template?

The template can be edited in the option panel (see lower). The following tags will be replaced by a random member of mounts lists.

TokenMount list
<g>Ground mounts
<f>Flying mounts
<fg>Ground or flying Mounts (flying mounts can be used as ground mounts and some ppl like it)
<r>Repair mounts
<uw>Under water mounts (swim bonus)
<ww>Water walking mounts
<pf>Flying mounts that can carry a passenger
<pg>Ground mounts that can carry a passenger
<pfg>Flying or ground mounts that can carry a passenger
<cm>Current mount (the last mount that was summoned, this is used to display the proper icon on the action bar)

Remember that there is a limit of 255 characters in a macro, don't go overboard.

How does it work?

MountMacro uses a weighted random method to select the mounts of each type. Anything that you select as favorite in the mount journal is awarded a weight of 100. Anything else is awarded the Random Weight for Non Favorite value (the default value is 5). This means that your favorite mounts have 20 times more chances to be chosen then the nonfavorite mounts. Since most players have more then a hundred mounts, you will still see nonfavorite mounts quite often. Choosing a value of 0 for Random Weight for Non Favorite will make it so that only the favorite mounts will be chosen. Choosing a value or 100 is the equivalent of not having any favorite.

There is a separate weight for the dead knights, the plaladins and warlocks mounts since they cannot be selected as favorite in the mount journal interface (I like those and I want them to be chosen more). The default value for the Random Weight for Class Mounts is 100 meaning that they have the same chance of being chosen then your favorite mounts.

The math

If you have 105 mounts, 5 of which are favorites, and you are using the default values, your favorite mounts are chosen 1/6 of the times. 5 x 20 = 100 for the favorite mounts, 100 x 5 = 500 for the nonfavorite mounts with a total weight of 600.

The weighted random selection is better known as fitness proportionate selection or roulette wheel selection. I've implemented it by using the stochastic universal sampling technique. At this point, it's probably way more math than anyone cares :-).

Options

To access the options, use the standard Interface menu, or use the /mm or /mountmaco slash command.

Change Log

  • v70000-2
    • Handle low-level characters that have access to Chauffered Chopper or Mechano-Hug.
    • Added a second macro which default to repair mounts and mounts that allow transportation of other characters.
  • v70000-1
    • Updated for Legion.
    • Removed Glyph related code. No longer shall Nightmare be able to run on water... <snif.>
  • v60000-1
    • Original first version