Mountiful
Mountiful is a mod that helps you randomly select and use a mount or pet based on pre-defined categories.
Features
- A new macro named 'Mountiful' should appear in your general macros. Click it to summon your mount. The icon should always show the next mount that will be cast.
- Right-click to summon a ground mount. Shift-Right-Click to change the icon.
- A new button should appear in your spell interface, below the default Mount button, that brings up the interface
- /mountiful, /mount, and /mo will also bring up the interface.
- Single-clicking on the mount will summon that mount/pet.
- 24 mounts are shown at once and are grouped by speed and ground/flying.
- Allows you to customize which mounts are used for each category
- Safeflying feature will keep you from dismounting in the air when turned on
- Support for Pets
- Support for Keybindings
- Now works with druid flight forms! (You must use either the keybindings or the macro. The /mount command will not work for flight forms)
- Auto dismiss pets when you stealth (Rogue love :)
Commands
Mount Commands (Depreciated)
- /click Mountiful - Casts the best mount for your location. Supports druid flight forms.
- /mount smart - randomly selects the best mount for your location. Does not work with druid flight forms.
- /mount smart pre - randomly selects the best pre-selected mount for your location
- /mount <category> - randomly uses a mount/pet from that category
- /mount <category> pre - randomly uses a pre-selected mount/pet from that category
- /mount add <name> - adds a new mount category (or just use the 'add' button in the interface)
- /mount remove <category> - removes an existing category
- /mount safeflying - toggle safeflying on/off
- /mount autoremount - If you want the first click/press to Dismount, and then the 2nd click/press to cast another mount (As opposed to a mount always being summoned when you click/press)
- /mount rebuildselections - rebuilds selections database (fixes graphical glitches and/or wrong mount being summoned)
- /mount preselecteddefault - Sets whether the automated macro uses preselected categories
- /mount settings - See what all your settings are currently at
- /mount reset - Removes settings and categories. Use this as a last resort if things aren't working.
- /mount help - See this text in-game
- /mount autopet - Automatically summon a companion when you mount.
I tried deleting my lua and bak file from saved variables but that didn't seem to work.
I think the last version that worked from keybind was 1.8, and even that you had to tick/untick the "select all" box on the mountiful window as soon as you logged in.
Unrelated : Even with typing /mount smart, it will not allow shape-shifted druids to mount ("you can't do that yet" message) - oh yes we can!
Version after version since 143 not able to mount. Still stuck with the menu.
I don't use the addon's built-in keybind feature, so I can't speak to the bug discussed in the last few comments - I have my mount macro in an action bar slot bound to a key that way, and it works great for me.
One problem I am having is in Wintergrasp. I like that the new version supports flying there now, but it doesn't seem to understand that flying is not allowed during a battle - "/mount smart pre" tells me "you can't do that right now" because it's trying to use my flying mount.
I believe you should be able to use GetWintergraspWaitTime() ... oh I see you're already doing that in the code, but i think your logic is being negated by IsFlyableArea() in the same condition... it appears that the condition...
if IsFlyableArea() or (zoneName == L["Wintergrasp"] and GetWintergraspWaitTime())then...
passes as true because IsFlyableArea() returns true for wintergrasp even during a battle, when it's really not a flyable area at that time.
I added this code fragment to Mountiful_SmartMount() to make it work correctly (tested it today and it worked) ... around line 998:
if flyable and (zoneName == L["Wintergrasp"]) and (GetWintergraspWaitTime() == nil) then
flyable = false
end
I only use a binding for pet and Pre-selected Smart Mounting. Any ideas?
"Completely Exit World of warcraft
Go into your world of warcraft folder.
Go to WTF/account/Accountname/Realm/Character/SavedVariables folder
Find the files Mountiful.lua and Mountiful.lua.bak
delete them "
Please do it yourself and test.
Now when using the bindings key the add-on just open the menu windows.... :(
Please, test your add-on before posting. Here a suggested testing protocole :
Fist protocol :
1) exit WoW
2) delete YOUR mountiful.lua files in WTF folder
3) launch Wow
4) use the /mount command
5) Check what's appens
6) if all is OK bind a key
second protocol
1) exit WoW
2) delete YOUR mountiful.lua files in WTF folder (YES, AGAIN !)
3) launch Wow
4) DONT use the /mount command
5) JUST USE THE BINDING KEY. Check what's appens
Thanks for the hard work, your add-on is impressive. But please, please, test it...
But why not just call the function themselves?
For example:
<Binding name="MOUNTIFULBIND1" description="Same as /mount Smart" header="MOUNTIFULHDR">
Mountiful_SmartMount();
</Binding>
instead of:
<Binding name="MOUNTIFULBIND1" description="Same as /mount Smart" header="MOUNTIFULHDR">
Mountiful_Command("/mount smart pre", false);
</Binding>
Still same thing even with B:2.2 instead of mounting my mount the config is going out! Is it just me or what?
Since r143, what ever I do just open the Mountiful Panel instead of mounting my mount.
Also the pet function doesn't let you select one particular pet it just randomizes regardless.
Althought Blizzard has updated their UI in 3.2 so that IsFlyableArea() works in more places it should (i.e. sewer pie and landing areas of Dalaran), you still do specific checks in Dalaran that override the results, causing it not to work properly in the sewer pipe (lines 985 - 992). If I remove all the checks, it works beautifully in Dalaran (I haven't checked Wintergrasp yet).
Also, Mountiful_Loaded() does not seem to get called when you first log in, or when you reload your UI. This causes my keybinds to fail until I manually execute a /mount command (which causes Mountiful_Loaded() to be called, updating the selections table). Here is the error I get:
Mountiful-r140\Mountiful.lua:1012: attempt to get length of field 'ExtremeFlying' (a nil value)
<string>:"MOUNTIFULBIND2":1: in function <[string "MOUNTIFULBIND2"]:1>
Sorry if there isn't a stack trace, BugSack doesn't seem to provide that.