Get an Epic Experience with Premium

Random Mount

Companions Login to Add Favorites
  • 13 Likes
  • World of Warcraft
  • 13,165 Monthly Downloads
  • Supports: 6.0.2
  • 349,462 Total Downloads
  • Updated 10/17/2014
  • Created 02/21/2009
  • 235 Favorites
  • Project Site
  • Comments
  • Release Type: Release
  • License: GNU General Public License version 2 (GPLv2)
  • Newest File: v6.0.1
or

About Random Mount

Summon a Random Mount based on ridding level, flying skill, location, and area. Simply create a macro containing /mnt or /rmount and it will summon a usable mount for the area you are in. For Options type /mnt help.
Thanks to Hendew (the original author) for his hard work in creating this great add-on.

================IMPORTANT NOTICE================
Patch 5.4 has changed flying mounts to all be allowed underwater.
This change broke the current method of detecting whether your character is at the surface or not.
A fix has been found but may break again at Blizzard will.

v6.0.1
     Fixed a call to the old API

v6.0.0
     Update to support WoD API changes

v5.4.1
     Fix water surface check - may break again at Blizzard's will

v5.4.0
     Update toc/version for 5.4
     Fix keyword searches for unspecified mount types.
     Prefer waterwalking mounts when swimming in unflyable areas without any sea mounts.

v1.07.08
     Fixed Bug 32 - Error when no macro conditions matched

v1.07.07
     Updated toc for 5.3
     Fix conflict with unknown addon using "Icon" global var
     Fix location filtering bug for zones (didn't affect subzones)

v1.07.06
     Updated toc for 5.2
     Bug 31 - Fix summoning ground mounts in Vashj'ir indoor areas

v1.07.05
     Fixed bug trying to summon abyssal seahorse outside vashir
     Fixed bug trying to summon a mount even after every attempt to find a usable one has failed
     Improved savedvariables handling to pave the way for further improvements
     Removed debug code that had served its purpose and some unused code

v1.07.04
     Fix bug with adding new saved variable for default weight.

v1.07.03
     Improved setweight command:
          /mnt setweight [0-1000] will change the default weight (100) for all mounts that have no weight set including future trained mounts
          /mnt setweight [pattern] will reset any mounts matching the pattern to the default weight
          /mnt setweight [0-1000] [pattern] will continue to set the specified weight to any mounts matching the pattern
     Fixed /mnt riding and /mnt flying commands
     Added /mnt swimming command
     Fixed /mnt r [pattern] and /mnt f pattern commands
     Added /mnt s [pattern] command to search for particular swimming mounts (even though only 4 swimming mounts exist currently)
     Fixed riding and flying keybinds
     Added swimming mount keybind
     Added the chance % of selecting the chosen mount (based on weights) to the debug output

v1.07.02
     Added dynamic mount capability detection (thanks neotsn for submitting helpful data)
     Added /mnt setweight [0-1000] [pattern] command to set weights for mounts which affects how often they are chosen (default is 100)
     Allow all land capable mounts to be selected in AQ not just qiraji mounts
     Improved the logic that selects which type of mount to try
     Use IsSpellKnown() to check riding skills
     Create frame in lua instead of xml

v1.06.13
     Added Grand Gryphon and Grand Armored Gryphon
     Based on v1.06.10

v1.06.12
     Temporary nag messages to collect feedback. I am considering removing the location filtering feature and adding a way to weight how often to use each mount. If you get a message about detecting unknown mount capabilities then please post the number(s) from the message or follow the directions from v1.06.11 notes.

v1.06.11
     Added code to mine certain data that the API provides about mounts in order to better understand it. Please open your \World of Warcraft\WTF\Account\[username]\SaveVariables\RandomMountContinued.lua in a text editor and copy+paste the contents to this bug ticket: http://wow.curseforge.com/addons/random-mount/tickets/26-data-collection/ All data is appreciated but data from people with rare aquatic mounts (Reins of Poseidus, Sea Turtle, and Riding Turtle) is especially needed.

v1.06.10
     Fixed game lockups from infinite looping in certain circumstances.

v1.06.09
     Removed remaining mounts that do not exist

v1.06.08
     Removed 2 redundant mounts

v1.06.07
     Removed 2 redundant mounts that were causing those mounts to not be summoned

v1.06.06
     Fixed error if you have not learned Tailoring or Engineering

v1.06.05
     Thanks to phuzi0n for the error fixes

v1.06.04
     Thanks to phuzi0n for the error fixes

v1.06.03
      Added the Alliance Panderan Kite and the Upcomming Jade Pandaren Kite
      Thanks to phuzi0n for the Profession Mount Fix and the miscellaneous printHelp error fixes

v1.06.02
     Created work around for the Profession Mounts

v1.06.01
     Created work around for the Profession Mounts

v1.06.00
     All MoP mounts added and set for 5.0.4 patch

v1.05.07
     Added Imperial Quilen mount

v1.05.05
     Fixed the game freeze when entering a mount search incorrectly
     Added all Mists of Pandaria mounts released to date

v1.05.02
     New version using SecureCmdOptionParse()
     You may use any Modifier Blizzard Supports as well as /mnt commands
     I.E. /mnt [mod:shift,no combat] r horse;[mod:alt, help] riding;
           /mnt [mod:ctrl] f drake; [mod:alt] icon; [mod:shift] remove gryphon;
     One caveat I found is you need to put a trailing semi-colon for the default action

v1.04.48
     Added Bindings back in at users request

v1.04.47
     Fixed the MacroIcon function
     Removed uneeded data inside the lua file

v1.04.46
     Added Pureblood Fire Hawk from Ragnaros 10/25-man

v1.04.45
     Added Spectral Wind Rider and Spectral Gryphon from Blizzard Pet Shop, inside  Spectral Mount Crate
     Added Life-Binder's Handmaiden, Blazing Drake, Twilight Harbinger, Swift Springstrider from 4.3
               Ruthless Gladiator's Twilight Drake from 4.3 PvP
               Swift Lovebird from Love is in the Air
               Corrupted Hippogryph from WoW TCG Expansion--Crown of Heaven
               White Riding Camel from WoW TCG Expansion--Tomb of the Forgotten

v1.04.44
     Added Swift Shorestrider from WoW TCG Expansion "Throne of the Tides"

v1.04.43
     Changed Crimson Deathcharger to a Riding Mount only not Multi Mount

v1.04.42
     Fixed rearanged spellid for Tyrael's Charger

v1.04.41
     Updated for 4.3
     Added Tyrael's Charger
     Darkmoon Faire Mounts - Swift Forest Strider and Darkmoon Dancing Bear
     Worgen Mounts - Mountain Horse and Swift Mountain Horse

v1.04.40
     Added Crusader's Black Warhorse and Crusader's White Warhorse

v1.04.38
     Added Corrupted Fire Hawk

v1.04.37
     Changed the Vashj'ir check to allow for Flying mount when at surface but not while underwater (Thanks to Xodiv for the idea)

v1.04.36
     Added Vicious Gladiator's Twilight Drake

v1.04.35
     Added update to Vashj'ir so only Seahorse is summoned (Thanks to Drowena for the code)

v1.04.32
     Added Flametalon of Alyzrazor

v1.04.31
     Added Furious Gladiator's Frost Wyrm

v1.04.30
     Fixed a Blizzard change to Winter Grasp timer. Blizzard removed GetWintergraspWaitTime() and fixed the bug in the timer

v1.04.29
     Update all Gryphon, Wind Rider, and Hippogryphs in the database to be both ground and flying mounts

v1.04.28
     Updated for 4.2

v1.04.27
     Added check for Ground mounts if you have riding skill but no ground mounts
     Added additional check if you have a flying mount but not the Skill to use it

v1.04.26
     Added new PvP ground mounts, the Vicious War Wolf (Horde) and Vicious War Steed (Alliance) from Patch 4.2,
     modified the UIErrorsFrame check and removed English check of event frame
     Added check for Flying mounts if you have flying skill but no flying mounts

v1.04.25
     Modified the FindMount function call to only start looking for mounts and categorizing them if you have the required riding skill level

v1.04.24
     Updated all Carpet, Rocket, Flying Machine Mounts to be both Ground and Flying Capable

v1.04.23
     Added Wooly White Rhino
     Replaced the final Language specific check for Qiraji Battle Tank mounts.
     Added full comments to the lua file

v1.04.22
     Found an error where in Northren if you have Cold Weather Flying but not Flight Master's License, flying mount would not summon
     added Subdued Seahorse

v1.04.21
     Added new Winged Guardian from Blizzard Store

v1.04.20
     Made the Flight License check generic for any language
     Found a bug where only a ground mount would be summoned if you did not have Flight Master's License

v1.04.10
     Added Error Checking for Summoning Mount
     Modified multiple Functions, Moved a few checks into Functions
     Re-wrote the entire Mounting section
     Removed the /mnt waterfly option (Not Needed Anymore)
     Changed the search feature to /mnt r mount or /mnt f mount (riding or flying is Shrunk to r or f)
     Fixed a lockup bug when searching for a mount while removeMount is active
     If searching for a mount, removeMount is disabled then returned to original state after mount is summoned
     When Swimming, Addon will try to summon a flying mount if you can fly, if that fails it will check for a SeaHorse or SeaTurtle, if that fails a ground mount will be summoned

v1.03.54
     Reset check for Flight Master's License (Hopefully will not break Localization), fixed error if you have a large amount of mounts excluded,
     added summoning of seahorse when standing on floor in Vashj'ir

v1.03.53
     Fixed a removed variable that caused initialization error

v1.03.52
     Seems like Blizzard changed some zone names in the master list thus they did not match. Changed the check to use IDs that do not change

v1.03.51
     Added Amani Battle Bear and fixed a zone error where the ZoneName does not match ZoneName in Blizzards list

v1.03.50
     Update for 4.1 and now Localized. Should be language independent
     Changed all Mini Map Text lookups and Spells to their IDs

v1.03.10
     Re-wrote the Search function so it accurately finds the mount you are looking for
     To use the Search use /mnt riding mount or /mnt flying mount
     This will allow you to summon a riding mount in a flying area or a specific flying mount
     An error will appear if you cannot fly and try to summon flying mount, just like normal
     Fixed a bug in the Throne of the Four Winds where it only tries to summon a flying mount not ground mount

v1.03.01
     Forgot a pair of parenthesis, added search check, included waterfly into saved variables, updated all version numbers throughout the files

v1.03.00
     Added a NEW feature that was highly requested.     Water Flying
     What is Water Flying: This enables you to summon a flying mount while you are at the surface of a body of water
     The main caveat is you must be mounted on a riding mount, at the surface of the water, have waterfly enabled, and must NOT have a breath bar
     If you meet all criteria above but are underwater you will get an error saying you can't use that here
     If you are not mounted and on the surface you must hit the macro TWICE
          Once to summon riding mount
          Once to Dismount and summon flying mount

v1.02.22
     Fixed a bug where Seahorse may be summoned if in a specific zone and swimming that was not in Vash'jir

v1.02.21
     Fixed a bug when in Ahn'Qiraj the zone specific mounts would be added to the do not summon list and lock up the client

v1.02.20
     Added the 7 new mounts introduced in Patch 4.1.0

v1.02.10
     Added the Blazing hippogryph

v1.02.09
     Added check if Total Mounts are under 10 then currently summoned mount will not be added to no summon list
     No summon list limited to 1/5 total number of mounts

v1.02.08
     Removed the runaway check
     Added a check of the current nosummonlist to try to get more random mount call
     Increased the nosummonlist to half the number of mounts you posses
     Found incorrect check when summoning ground mount it would sometimes summon Sea Turtle or Abyssal Seahorse

v1.02.07
     Found a glitch where if you did not have Flight Master's License and were in an OldWorld zone that IsFlyable it would try to call flying mount
     Also found a bug where if the zone was Flyable it would always return true

v1.02.05
     Added the rest of the new Cataclysm 22 mounts

v1.02.04
     Added Zone check for Nespirah due to Blizzards mistake of marking it as flyable

v1.02.03
     Added the two "Goblin Trike's" thanks to rxconnelly

v1.02.02
     Added check for FlyableArea when zonetext does not match in game Database and is or is not flyable

v1.02.01
     Added all zones for Vashj'ir

v1.02.00
     Added Abyssal Seahorse
     Changed water Mount function to check for Seahorse and check which zone you are in due to its requirements
     Changed function to seaMount

v1.01.01
     Found error where The Sea Turtle was summoned as regular riding mount

v1.01.00
     Fixed the Outland Flying problem
     Changed the entire Zone Check section to be a single unit
     Changed the Riding Skill Section to take into account the removal of Skills Section
     Changed the Mount Dictionary making Riding Mounts = 1, Flying Mounts = 2, Riding or Flying Mounts = 3
     Removed references to EpicRiding and EpicFlying and 310 Mount Speed
     Double Checked Safefly and verified it is working Removed an un-needed section of the TestMount function for Flyable

v1.0.0
     Fixed not being able to mount flying mount in Wintergrasp after the battle was over
     Added the new 4.0.3a mounts thanks to nicegy6767 and stypen from the original Add-on Added new
     Cataclysm zones and Cataclysm Zone checks Fixed no flying mounts in Outland
     Added the changes suggested by xantec69 from the original Add-on Removed Dalaran check (No longer needed)

v0.9.8
      /mnt: /rmount: Will summon riding/flying mounts in the appropriate areas. mnt and rmount are interchangeable
      /mnt help: Display help

  - Summoning
      /mnt: (No Flag) Summon a appropriate mount for the area
      /mnt r mountname: Summons riding mounts in flying areas
      /mnt f mountname: Attempt to summon a flying mount
      /mnt % (search Term): Summons a mount based on specified search term
             example: to summon a skeletal warhorse type: /mnt skeletal

  - Configuration
      /mnt config: Prints the current configuration
      /mnt safefly: Toggle double click to dismount while flying
      /mnt clear: Clears all filters
      /mnt title: Enable or disable random title change.
      /mnt icon: Enable or disable changing random mount macro icons to the last summoned mount.
      /mnt debug: Toggle debug printing for posting error messages

  - Removing Mounts
      /mnt rfilter: Toggle mount filtering
      /mnt remove %: Remove all mounts matching % if rfilter is enabled
      /mnt rfilters: List current filters
      /mnt clearrem: Clears the mount removal table

  - Location Filtering
      /mnt locfilter: Toggle filter to summon only specific mounts in specific locations
      /mnt addloc % (zone:mount name1, mount name2, ...): Add locations and mounts to location checking. Separate mounts with commas.
      /mnt removeloc % (zone:mount name1, mount name2, ...): Removes locations and mounts from location checking. Separate mounts with commas.
      /mnt loctable: Print the current location filtering table.
      /mnt clearloc: Clears location filters

  - Convenience Functions
      /mnt whereami: Prints your zone and mini-map zone.
 
You can now remove mounts based on spellId, useful for removing mounts that contain the same name.

Location filtering: This allows you to specify what mounts get summoned in what areas. You can specify a zone or min-map zone (case insensitive) and part or all of a mount's name. Enable location filtering with "/mnt locfilter".
Add locations and mounts "/mnt addloc zone:mount1,mount2,..."
zone can be a map zone and mini-map zone. Case doesn't matter, but it must be spelled correctly and with all punctuation as well. Separate with a colon ":" then specify mounts separated by commas ",". Mount names do not need to be the full name, partial names are fine, example ("wolf").
"/mnt addloc dalaran:talbuk,wolf,skeletal"
"/mnt addloc krasus' landing:drake,dragonhawk"
To remove a location, or mount from a location use "/mnt removeloc zone:mount1,mount2,..."
"/mnt removeloc dalaran" - Removes Dalaran from the location table,
"/mnt removeloc dalaran:wolf,talbuk" - Removes both wolf and talbuk from Dalaran but preserves all remaing mounts.
To clear the entire location table use "/mnt clearloc "
Print the current location table with "/mnt loctable"

safefly: If enabled, when you are flying you must double click the macro or button to dismount, to help prevent accidental suicide.

Mount Filtering: If you are tired of a specific type of mount, you can use a filter so it will no longer summon any of those type. For example, if you don't want to summon nether ray type "/mnt filter" to enable mount filtering and then type "/mnt remove ray" Any mounts containing "ray" in the name will no longer be summoned, be as vague or specific as you wish, if you wanted to you could remove all mounts with a "e" in them, I'm not sure I would recommend it but you could do it.

If Random Mount generates any errors please enable debug mode(/mnt debug) and post the code that it prints in your chat window in your comments.
Make sure that you post what version you are using.

------------------------------------------------------------------------
r49 | phuzi0n | 2014-10-17 07:40:42 +0000 (Fri, 17 Oct 2014) | 1 line
Changed paths:
   A /tags/v6.0.1 (from /trunk:48)

tag as v6.0.1
------------------------------------------------------------------------
r48 | phuzi0n | 2014-10-17 07:39:09 +0000 (Fri, 17 Oct 2014) | 1 line
Changed paths:
   M /trunk/RandomMountContinued.lua
   M /trunk/RandomMountContinued.toc

Missed a call to old API
------------------------------------------------------------------------
r44 | phuzi0n | 2014-10-15 22:12:12 +0000 (Wed, 15 Oct 2014) | 1 line
Changed paths:
   M /trunk/RandomMountContinued.lua
   M /trunk/RandomMountContinued.toc

WoD update
------------------------------------------------------------------------
r43 | phuzi0n | 2014-01-02 09:20:21 +0000 (Thu, 02 Jan 2014) | 1 line
Changed paths:
   M /trunk/RandomMountContinued.lua

Fix icon changing for per character macros
------------------------------------------------------------------------

Comments

First Previous Page 1 of 52 Next Last
  • #785

    Getting this after last update:

    Date: 2014-10-16 20:04:34 ID: 4 Error occured in: Global Count: 1 Message: ...AddOns\RandomMountContinued\RandomMountContinued.lua line 628:    bad argument #1 to 'strsub' (string expected, got nil) Debug:    [C]: ?    [C]: strsub()    ...AddOns\RandomMountContinued\RandomMountContinued.lua:628: SetMacroIcon()    ...AddOns\RandomMountContinued\RandomMountContinued.lua:316: GetRandomMount()    ...AddOns\RandomMountContinued\RandomMountContinued.lua:922: ?()    ..\FrameXML\ChatFrame.lua:4387: ChatEdit_ParseText()    ..\FrameXML\ChatFrame.lua:4041: ChatEdit_SendText()    ..\FrameXML\ChatFrame.lua:2686:       ..\FrameXML\ChatFrame.lua:2679    [C]: UseAction()    ..\FrameXML\SecureTemplates.lua:348: handler()    ..\FrameXML\SecureTemplates.lua:649: SecureActionButton_OnClick()    [string "*:OnClick"]:2:       [string "*:OnClick"]:1 Locals:

     

  • #786

    Sorry I missed an obvious call to the old API, should be fixed in 6.0.1

  • #783

    I'm getting the following error when I try to use Random Mount, if you can please take a look and offer any suggestions I would appreciate it!  Love this addon, and the mount functionality in WoW can't match this mod.

    3x RandomMountContinued\RandomMountContinued-v5.4.1.lua:228: bad argument #2 to 'band' (number expected, got nil)
    [C]: in function `band'
    RandomMountContinued\RandomMountContinued-v5.4.1.lua:228: in function `BuildMountCache'
    RandomMountContinued\RandomMountContinued-v5.4.1.lua:636: in function `?'
    FrameXML\ChatFrame.lua:4387: in function `ChatEdit_ParseText'
    FrameXML\ChatFrame.lua:4041: in function `ChatEdit_SendText'
    FrameXML\ChatFrame.lua:2686: in function <FrameXML\ChatFrame.lua:2679>
    [C]: in function `UseAction'
    FrameXML\SecureTemplates.lua:348: in function `handler'
    FrameXML\SecureTemplates.lua:649: in function `SecureActionButton_OnClick'
    FrameXML\MultiActionBars.lua:14: in function `MultiActionButtonDown'
    [string "MULTIACTIONBAR3BUTTON6"]:2: in function <[string "MULTIACTIONBAR3BUTTON6"]:1>

    Locals:
    (for index) = 1
    (for limit) = 156
    (for step) = 1
    i = 1
    creatureID = nil
    creatureName = nil
    creatureSpellID = nil
    icon = nil
    _ = nil
    capabilities = nil
    mountCache = <table> {
    air = <table> {
    }
    land = <table> {
    }
    all = <table> {
    }
    strider = <table> {
    }
    find = <table> {
    }
    sea = <table> {
    }
    }
    mountCount = <table> {
    air = 0
    land = 0
    all = 156
    strider = 0
    find = <table> {
    }
    sea = 0
    }
    hasStrider = false

  • #784

    Update to v6.0.0

  • #781

    Please tell me you're updating this for 6.0 and WOD. The new random mount ingame thing doesn't really cut it. I love this addon.

  • #782

    v6.0.0 should support the new API in WoD but I'm not currently subbed so I only tested briefly on a trial account. If you encounter any problems please report them.

  • #778

    How can I exclude a specific mount?

    For example, "See Turtle" or something.

    Last edited by realboo on 1/20/2014 8:12:02 PM
  • #779

    /mnt setweight 0 [name pattern]

    eg.

    /mnt setweight 0 Sea Turtle

  • #780

    TYSVM! 

    Not a huge fan of the Alliance Gryphon and now I dont have to worry about seeing them.

    Genius! (even if you dont feel like one at times just remember that someone somewhere said you were.)

    ( ^_^)

  • #775
    icon change

    I read the first 10 pages of comments and the help ... how can I make a macro that changes the icon

    I did

    /mnt icon

    which shows icon changing enabled and I have a macro called mnt

    with 

    #showtooltip obsidian nightwing

    /mnt

    and it does't change (tried a few different things - would be nice /mnt help explains that - or better /mnt macro would create the rigth macro)

     

    Thanks!
     

  • #776

    It should be working just like that if you are saving it as a global macro. I discovered a bug with it not changing per character macros that is fixed in the latest alpha though. Also, if you are creating macros in other addons like bindpad then those are stored seperately from the standard wow macros and aren't supported. Last of all, most all settings for Random Mount are per character so if you have multiple character then you need to configure it for each one until I finish overhauling the settings to allow them to be global or per character.

  • #771

    How can I make the addon choose mounts more randomly? I have nearly 200 mounts and yet, the addon seems to call forth the same basic handful of mounts consistently. It just doesn't seem truly random.

     

    Last edited by phuzi0n on 11/13/2013 4:54:18 PM
  • #772

    I editted your post back to the original statement because your edit removed all the context of your question.

    What you seem to want is actually for less randomness. Real randomness does mean you will see strings of repeated results and it takes quite a while to pick every result.

    For example, the coupon collector's problem http://en.wikipedia.org/wiki/Coupon_collector's_problem tells us that it would take roughly 1175 times mounting before it would have picked each of your 200 mounts at least once. Now about half those mount are flying mounts and half of them ground mounts so it becomes 2 similar problems depending on whether you're in a flying zone or ground zone but it would still be 519 attempts before summoning each out of 100 mounts and another 519 attempts for the other 100.

    If you use weights then it becomes even more complicated and mounts with low weights may never be summoned at all.

    I've been mulling over an idea for quite some time to dynamically adjust weights based on how much it seems you like a certain mount but I haven't worked out all the details to make it work nicely. I could however easily adjust weights  to account for bad luck like blizzard did with bonus coin rolls, but make no mistake that this would be less random not more.

  • #774

    Wow, relax.  If you don't like the result don't use it it's not like you paid for this.

    @phuzi0n maybe you should implement psudorandom feature for this guy?  Where the chance of getting a mount increases/decreases based on the last time it was used.

    Edit: not sure why my reply is above the one I tried to reply to...

    Last edited by AlexSage on 11/22/2013 11:03:21 PM
  • #773

    I just want it more random, okay; and I'm not talking about your version of random.  Keep all that geeky 'my brain is on steroids' speak for other coders, alright.  I'm just the end user of your product, and what I want to see is more randomness in the mounts that your addon summons.  I don't like seeing the same handful of mounts consistently.  This makes it seem almost silly to even have or use the addon.

  • To post a comment, please login or register a new account.
Login to Curse

Don't have an account? Create One.

Get an epic experience with Curse Premium
  • Faster addon downloads
  • Premium-Only Beta Giveaways
  • Ad-Free Curse experience
  • Premium Curse Client
  • and many More Features
  • Learn More »

VIP trip to SMITE World Championship