MountRandomMount

I wanted a simple mod to randomly cast a mount from a list I defined. Using Land in nonflyable areas and flying in flyable areas.

Have added localization ability, tenatively/hopefully. If you would like to localize this, please look at localization.enUS.lua and send me a comment stating you would like to.

Have added the ability for druids/shamans to use their travel/GW/flight forms. It's bound to a 3rd key binding. Can not be part of the randomness due to the fact it is a spell and must have a secure button to cast. Well it could be just not simplified. For druids, will attempt to cast swift flight than flight form in flyable area's, if you have neither it than will attempt to cast travel form. If your not in a flyable area it will attempt to cast travel form. Ok to be able to cast, the binding is transfered from the trigger you set in Key Bindings menu, to the secure button for casting. So each time you log in you will have to hit this key binding twice, but for the rest of the session will act like a regular keybinding. I have found no way around this at this time. This only affects travel forms keybinding.

Comments Suggestions always are welcomed.

use /rdm:
RountRandomMount version
use: /rdm --prints this help
/rdm add [mount name] (can also shift click from your mount list) -- adds another mount to the random list
/rdm remove [mount name] (can also shift click from your mount list) --removes a mount from the list
/rdm list -- lists the mounts to select from
/rdm gui -- brings up a GUI of your mounts
/rdm reseed -- if you use more than one computer and you learn a new mount, your list will not work on the other computer, use this to reseed correct mount ID's
/rdm catform -- if you are a druid will use catform in instances/inside.
/rdm random -- mounts a random mount from your list (using flying in flyable areas and land in nonflyable areas)
There is a keybinding option in the Blizzard KeyBindings Menu. Add a shortcut here to call /rdm random

If you have any bugs, questions, comments, suggestions, please leave me a comment.

I did run into a mount that doesn't have the same name in the tooltip as in the WoW API call. Bronze Drake from CoS timed, doesn't have the word mount in the tooltip, but in the API call comes back Bronze Drake Mount. If you get an error saying mount doesn't exist, please let me know. Also if you ahve the HHM, will you let me know if it works with this?

v6.0a
Version for WoD

v5.4h
I don't think I can add a mount before it's released in game I guess. Warforged Nightmare fixed.

v5.2b
Bump toc version for patch 5.1.
Same name mount should not bug anymore.
Remove debug message.

v5.2a
Completely rewrite setting panel based on Ace3 (your save mount has been remove).
Update localization string (based on Ace too).
Add missing mounts (I write a script which parse mounts from blizzard site and wowhead include in addon files)
A lot of code rewrite.
Remove reseed function because it's now based on mount name.
Fix issue with mount name which is not the same as the corresponding summon spell (jewel crafting ...).

v5.1c
Fix an issue which prevent addon to load.

v5.1b
Add help to landonly slash-command.
Jeweled mounts are now usable at land mount.

v5.1a
Add landonly slash-command.
The red flying cloud are now usable at land mount.

v5.0b
Fix an issue with the list of mount on blizzard UI which is not ordered alphabetically which cause wrong mount to be summon.

v5.0a
Fixed an issue which cause the mount data list to not be updated correctly
All Hippogryph are now usable in land mount.
The Imperial Quilen is now also usable in land mount.

v4.2a
Added dismount to land mount only keybind
Added patch 4.3/TCG Mounts to the List. Please report if any missing.

v4.1d
WG fix for druids/worgens.

v4.1c
Added new mounts from patch 4.2 (if nothing changes) and the new mount from Blizz store.

v4.1a/b
Added new mounts from patch 4.1. Updated ToC.

v4.0.3l
Added translation for RU/FR/DE for the 3 area's that can use the Seahorse mount. Still need zhTW translation from someone (wowhead doesn't have a zh. or tw. that I could find to get the right translations.

v4.0.3k
Fixed worgen (i think anyways). Fixed Seahorse for other clients once I get translations.

v4.0.3j/1
Added Worgen Ability to go with the other racial abilites (druid/shaman).

v4.0.3i/1
Fixed Seahorse/Vash issues.

v4.0.3h/1
Fixed adding removing mounts with the command line.

v4.0.3g1
Not much just a bit of debugging to help a user figure otu what's going on.

v4.0.1g/h/alphatest/i
Wow, that change had some errors. Sorry about that. Fixed errors.

v4.0.1f
Changed GUI. Allowed combo mounts (celes/HHM/etc.) to be in either or list or both. Added lomoko's Russian translation fixes.

v4.0.1e
Changed how mounts are determined for flying/land as the coming changes in Cata. It now keeps a global list of all mounts and what they can do (land/flying/both/swimming).

v4.0.1d
Added ability to summon flying mount when swimming but at the surface. This does not work with the Druid Flight ability as it seems they still check for swimming with druid Flight Form.

v4.0.1c
Added French Translation, Thanks to WoWInterface User Tomate.
Added being able to exit vehicle with same button to dismount. Thanks to Gandoch.

v4.0.1b
Fixed removing mounts from both lists when land/flying mount.

v4.0.1a
Fixes to update for 4.0.1 patch.

v3.0.7
added Female Shaman for Ru, if German or another client needs this please let me know. Fixed the error printing where it didn't need to.
Added German Translation thanks to Brenainn. More German Translation by mad-d and Russian Translation by lomoko.

v3.0.6
More German Translation by mad-d and Russian Translation by lomoko.
Added error checking when using command line to add mount.

v3.0.5
Added german translation for wintergrasp.

v3.0.2/3/4
Added X53-Touring Rocket. Added Aufenthaltsort for german translation (location) for celestial steed and if in german client they start adding this for mounts that can be used everywhere (unfortunately, english has location for HHM/Celestial steed, but german didn't until Celestial Steed). X-53 should work across all clients, as X-53 is not a word.

v3.0
Added Sea Turtle cast if swimming to random mount, otherwise a land mount is cast. Added Acquatic form if swimming and druid.

v2.9
Updated ToC to 3.3

v2.8
IsFlyableArea Does not work during Combat in WG, added code to correct this.

v2.7
IsFlyableArea() was fixed in 3.2 and properly determines if you can mount. Simiplfied code this way.

v2.6b
Minor fixes to color code.

v2.6a
Fixed issue with next button on GUI not re-enabling when prev button was pushed, until page 1 was reached.

v 2.6
Began chinese translations.

v 2.5
Updated so no error message (found the API call to find out if WG is in combat and was able to see that land only during combat, flying every other time, even if other faction owns WG, sorry took me a bit to have time to test). Updated Druid travel forms for WG hopefully, need someone to test.

v 2.4
Updated for flying mounts in WG, what it does is try to mount a Flying mount then a land (in case of battle). So you will get a message another action is in progress, or you can't use that here and a land mount is summoned. Unfortunately, this is due to the fact that CallCompanion doesn't return anything (ie success or fail). Also, i did this cause I wasn't sure if you can mount you flying during WG battles. Been busy, haven't been able to test.

v 2.0c
Was pointed out to me, that I shouldn't use global variables, but use a table. This has been fixed. However, your mount list will now be blank.

v 2.0b
Hopefully fixed the druid forms.

v 2.0a
Hopefully fixed the cat form inside toggle command. Also added a check if the player is a druid, so it will just tell you to ignore that command if you are a druid.
Hopefully fixed the not using flight form in flyable areas.

v 2.0
Added localization, enUS only right now. If you want to contribute another language, please look at the localization.enUS.lua file and there are all the variables used within MRM. Send me a comment that you would like to do this.
Added shaman/druid ability to use GW/travel/flight forms. It uses a 3rd binding for this, since they are considered spells and not mounts, a secure button must be used. So they can't be part of your random list. The 3rd key binding will show up for non druid/shamans but if you set a keybinding to it will display a message you aren't of the right class.

v 1.2
Fixed the problem with not mounting up a land mount if you had no flying selected.
Added a binding to mount a random land mount only (for those times you want to show off your land mounts in flyable areas)
Added a command to reseed mount ID's. If you play on 2 computers and you learn a new mount on 1, your list on the other won't work correctly until the ID's are corrected. This will do that.

v 1.1a
Was not correctly updating your list when a new mount was added. Fixed.
Will have to clear your list or add a new mount.

v 1.0
1.0 release
GUI added
fixed an error where no printing of what mount was added when your flying or land list is empty.
Added keybing

v beta .5a
Changed it so that a flying mount would be used in Krasus' Landing in Dalaran.

On my Deathnight I am not able to use Acherus Deathcharger. I thought it maybe a zone issue, being in Darkmoon, but it doesnt work in the outside as well.

I can manual mount using Blizz UI

I test it and it does not work. I had added the logging/debug feature and suddenly it start to work.
This will probably work in the next version.

Originally Posted by alcretaz

Hi,

Is it possible to turn on some sort of logging feature?
I'm continually plagued by "You can't use that mount", and I have no idea which mount it's trying to summon.
Alternative option is I could activate them one at a time, but I was just hoping some sort of log would be easy to turn on, even if it just posts into my chat log "Summoning %".

Just a thought.

This will be in the next version. You will have to enable it at all log in.
You will have to type:
/dm debug

You may want to add the Felsteed for warlocks as well, I noticed it does not work for them either, unless your debugger covers all.

On my Deathnight I am not able to use Acherus Deathcharger. I thought it maybe a zone issue, being in Darkmoon, but it doesnt work in the outside as well.

I can manual mount using Blizz UI

I test it and it does not work. I had added the logging/debug feature and suddenly it start to work.
This will probably work in the next version.

Originally Posted by alcretaz

Hi,

Is it possible to turn on some sort of logging feature?
I'm continually plagued by "You can't use that mount", and I have no idea which mount it's trying to summon.
Alternative option is I could activate them one at a time, but I was just hoping some sort of log would be easy to turn on, even if it just posts into my chat log "Summoning %".

Just a thought.

This will be in the next version. You will have to enable it at all log in.
You will have to type:
/dm debug

Is it possible to turn on some sort of logging feature?
I'm continually plagued by "You can't use that mount", and I have no idea which mount it's trying to summon.
Alternative option is I could activate them one at a time, but I was just hoping some sort of log would be easy to turn on, even if it just posts into my chat log "Summoning %".

Error, for some reason the mount with id: 130985 is not in your MountRandomMount_MountListData.lua. Post this to the Comments on Wowinterface, either new mount or something went wrong.

The last version has it, I am sure of it.

OK, I missed the latest version, because it is not on Curse. I installed the latest version from this site but the Pandaren Kite (which has the id 130985 -> http://www.wowhead.com/spell=130985) is still not in the list. The MountRandomMount_MountListData.lua contains the entry "118737, --Pandaren Kite" which doesn't seem to work. I changed the id to 130985 and the Pandaren Kite appeared on the list.

Besides that the new version prints the following messages into the chat frame:
PLAYER_LOGIN
The mount 136164 does not exist
The mount 133023 does not exist
The mount 136163 does not exist
The mount 134573 does not exist
The mount 135418 does not exist
The mount 135416 does not exist

Concerning the Pandaren Kite there are two different kites with the same name: one for the Alliance and one for the horde.
In MountRandomMount_MountListData.lua there are:
118737, --Pandaren Kite
and
130985, --Pandaren Kite
I don't know what it does if you have both of them but currently on my alliance char it use 130985 and it works like intended but after some investigation maybe it could cause some issue when it populate the setting panel. I have done some modification and it should be good in the next version.

Concerning PLAYER_LOGIN display it is a debug message I forgot to remove. It should be good in the next version.
Concerning The mount XXXX does not exist, it is display because some mount are currently on PTR and not on Live. I remove those messages because It flood at login.

Error, for some reason the mount with id: 130985 is not in your MountRandomMount_MountListData.lua. Post this to the Comments on Wowinterface, either new mount or something went wrong.

The last version has it, I am sure of it.

OK, I missed the latest version, because it is not on Curse. I installed the latest version from this site but the Pandaren Kite (which has the id 130985 -> http://www.wowhead.com/spell=130985) is still not in the list. The MountRandomMount_MountListData.lua contains the entry "118737, --Pandaren Kite" which doesn't seem to work. I changed the id to 130985 and the Pandaren Kite appeared on the list.

Besides that the new version prints the following messages into the chat frame:
PLAYER_LOGIN
The mount 136164 does not exist
The mount 133023 does not exist
The mount 136163 does not exist
The mount 134573 does not exist
The mount 135418 does not exist
The mount 135416 does not exist

It would be nice to be able to set the mounts I want to ride on one toon, and have that list apply to all toons. I know this won't work for mounts like the flying carpets and the flying machines, which brings me to wish #2...

It would be nice to be able to select crafting type mounts on individual toons for their use only, and have it apply to all crafters of the same type. (Flying carpets on all of my tailors, flying machines on all of my engineers, etc).

Also, it would be nice if I could select the faction-specific mounts (Kor'kron annhiliator, Golden King), for just members of the Horde or the Alliance..

So if I enable Golden King and Turbo-Charged Flying Machine on my Alliance engineer, my Horde engineer would automaticaly have the Turbo-Charged Flying Machine selected automatically, and all of my Alliance toons would have Golden King selected automatically. If I enable Kor'kron Annhilator and Frosty Flying Carpet on my Horde Tailor, then my Alliance tailor would have Frosty Flying Carpet automatically selected, and all of my Horde toons would have Kor'kron Annihilator automatically selected.

I know, this is probably difficult to implement, but maybe having a config .lua for all toons, regardless of faction, and a separate config .lua for each toon for their respective "not available to non-crafters-of-this-type" mounts would work?