Pokedex
IMPORTANT UPDATE FOR 9.2
The "new hotness" feature for mounts has been completely rewritten to work better with how the game has operated the last several expansions. The problems were that 1) multiple new mounts are often acquired in a small window of time followed by periods of drought and 2) flying mounts are often acquired when the vast majority of time was being spent in ground mount only zones.
The result is that many new mounts never really get a chance to be highlighted by the system before getting bumped down into the full pool. The solution is to track multiple hot mounts. Now, when you acquire a new mount its given a heat value. When you summon a mount, we will first check that slider percentage to see if we should summon from the pool of hot mounts. If so, we'll select from amongst just those mounts with hotter mounts having a greater chance of being summoned. A mount summoned this way loses one from its heat value. When a mount hits zero its no longer hot and falls into the general pool of mounts.
This system should ensure that all new mounts you acquire will have their time in the sun with the most recently acquired mounts being summoned the most often.
USING POKEDEX - THE SHORT VERSION
The games Key Binding UI will contain a section for Pokedex. The only two commands you'll probably want or need to keybind are Toggle Mount and Summon Companion. SummonOtherMount is a useful bind for those times when you don't want the type of mount we selected (for example, we choose a swimming mount but you want a regular one). Pokedex configuration can be reached through the games addons menu or by typing /pd. The full list of commands can be found at http://www.wowace.com/addons/pokedex/pages/main/actions/.
ADDON DESCRIPTION
Pokedex allows random summoning of mounts and companions using preference values set by user to influence selection. Pokedex will summon the appropriate mount, or invoke a class specific movement ability like Ghost Wolf or Burning Rush, based on what the current location and conditions support. Pokedex can also randomly set character's title using the same basic ranking system.
The chance of a particular item (mount, companion or title) being selected is equal to the rank you have assigned to it divided by the total of the ranks for all other eligible items. Put another way, each point of ranking is one ticket to the raffle drawing to see which mount is selected. If all items are still set to the default value, then they all have an equal chance of being selected. An item which you have assigned a value of 0 will never be selected.
PROFILE SUPPORT
Pokedex has support for all the normal ace3 profile stuff (change current, copy, etc), with a couple of twists so that you can have the benefits of sharing a profile and still be able to make character specific tweaks by overriding the rank value on that character. See http:www.wowace.com/addons/pokedex/pages/profiles/ for more info.
ADDITIONAL FEATURES
The New Hotness - The idea behind this feature is that your most recently acquired pet/mount/title is something you're probably excited about and what to see more often than the rest of your collection. Or maybe you want to flaunt it in front of the all the people who are still trying to get, for example, their Sinister Squashling. When dealing with large numbers of pets or mounts, even setting it to the max rank will not cause it to show up very often. So rather than make you downrank every other item, the hotness feature acts as a way to get that one pet or mount out more often. If there is a hot pet, we'll first do a percentile roll against the heat of hot item. If the heat is set to 50, then 50 percent of the time we would summon that hot pet. The other 50 percent of the time, we'll do the usual random selection out of the weighted pet pool.
Safe Dismount - This feature is disabled by default but can be turned on in Pokedex's options ui. This feature allows you to keep as a default behavior that of having the Auto Dismount in Flight option turned off, so that accidently trying to cast a spell in flight won't send you plummeting to your death, but allows you to choose override scenarios where you do want actions to dismount you automatically so that they can be executed. The scenarios you can opt into are 1) when you are in combat, 2) targeting something attackable or 3) attempting to gather a resource via mining, herbalism or skinning.
Random Titles - You can also rank titles the way you do pets and mounts and have Pokedex periodically change your title.
Auto summon pet - You can have Pokedex summon a non-combat pet, if you don't already have one out, every time you dismount or change zone.
Druid forms, Ghost Wolf and Burning Rush support - Pokedex supports using Druid forms, Shaman Ghost Wolf and Warlock Burning Rush in the appropriate situations as part of the Toggle Mount command.
autocast Water Walking when mounting - An option exists (off by default) for Shamans to cast Water Walking and Affliction Warlocks to cast a Soulburned Unending Breath as they summon a mount with the Toggle Mount command. This way the buff is already in place when they encounter water so they don't have to dismount, buff and then remount (all while wondering why Death Knights get to cast Path of Frost while mounted).
autocast Horn of Winter when mounting - For Death Knights, Pokedex can cast Horn of Winter whenever you mount. This is useful for keeping the buff up while questing or resource gathering (e.g. mining).
Tons of code cleanup. Change title feature tweaked to work around blizz api changes (to change on mount instead of on load). Fixed bugs related to initializing when blizz cache had been invalidated.
/pd debug - command line feature lets you turn on chat frame output for various features.
Safe dismount feature - manages the "auto dismount while flying" setting to turn it off in situations where you'd want to quick dismount and keep it on the rest of the time to prevent accidents. Not integrated into options yet - to disable this feature, change the option pokedex.lua in your saved variables folder.
Checked in and released an new BETA build for testing:
Tons of code cleanup. Change title feature tweaked to work around blizz api changes (to change on mount instead of on load). Fixed bugs related to initializing when blizz cache had been invalidated.
/pd debug - command line feature lets you turn on chat frame output for various features for debugging purposes.
Safe dismount feature - manages the "auto dismount while flying" setting to turn it off in situations where you'd want to quick dismount and keep it on the rest of the time to prevent accidents. Not integrated into options yet - to disable this feature, change the option pokedex.lua in your saved variables folder.
NOTE: Changing Title on load was broken by patch 3.3. Blizzard has changed that function to make it a secure function meaning direct user action must initiate the call. Current plan is to offer new options that will let you tie title change to other pokedex actions. For example, you could have it change your title every time you mount up, or perhaps only the first time you mount up for a given session. I'm open to all suggestions for how to improve/reimplement this option.
In addition to dismounting off mounts, it should also pop you out of vehicles.
AH HA. Yup, that did what I wanted. I actually use the Key Bindings interface, not a macro. I just assumed the one closest to the top of the list was the proper one to set my binding to. Maybe move the ToggleMount option up in case others make the same mistake I did?
Also, YES. I didn't even think about that. I would love to be able to auto dismount for mining and herbing, etc. And very smart from a PVP perspective. That's the main reason I was trying to get "Toggle" to work. Get that into a release version!
Side note: Your "toggle" works way better because it actually just dismounts instead of instantly trying to summon another mount. That annoyed me in other mount mods.
Okay - I think I understand what your problem is and what the solution would be. You say you click your "Pokedex mount" button - I'm assuming what that means is you have on a button a macro calling "/pd summonmount". So, if you want one button to work as both mount and dismount, just replace that with "/pd togglemount". ToggleMount will call summonmount if you are unmounted and dismissmount if you are mounted - so one button does both. I have no trouble dismounting while moving if that's what I want to do and I just use one button as well for mounting/dismounting.
If you have the blizzard checkbox off (so that casts won't dismount you while flying) and changing hunter aspects still kicks you off in midair, then that's a blizzard bug. You'd have to report it on the forums.
So, heh, I'm actually right now working on code that selectively turns on the "let casts dismount me" option if certain conditions are met (and you choose to opt into those conditions of course, like the title change on load). I have it working now on my machine for mining - so if I'm not quite landed when I click on something like a saronite node it *will* dismount me rather than making me land or manually dismount. But while flying around looking for those nodes if I accidently hit one of my instant cast spells, it will be safely on the no autodismount setting. Another condition I'll probably add is if you're in combat (so you can just start mashing buttons to return fire rather than having to dismount first), and I might add some for if you're in WG or maybe even if you just have something attackable targeted. So, the idea is the use the blizz option to prevent you from accidents, but let you cast away to dismount for those situations where you're probably doing it on purpose.
It's possible I'm crazy but when using the Blizzard Auto Dismount I have to be at a complete stop (midair or on ground) and click my "Pokedex mount" button to dismount. With Mountiful I could just turn off SafeFlying and whenever I clicked my mount button it would dismount me whether I was running or standing still. (This would make for amusing "air swimming" sometimes.) The Blizzard feature also makes it so that if I accidentally press one of my Aspect (hunter) spells I get dismounted.......which is very bad if I'm up high. >_>
I know I should have used the Ticket function but I'm generally wary of new addons without comments (personal prejudice much?) so I wanted to leave a comment for others to see. ;)
On that note, I don't have anything to add because I like your addon for its lack of bloat! I can set a button for my plethora of mounts (and it chooses newer ones for me which I love), a button for my pets (ditto to the love), and choose random titles which I had also been hunting for. The others like this are either too complicated in their features or too sparse in their control.
First off, thank you for being a user of this addon. I don't think this lets me directy respond to your comment (in terms of creating a threaded view) so tickets are probably a better place for things like feature requests.
Now on to the specific feature. I'm not familiar with that addon - a cursory look at its page and the name of the feature made me think that it was intended to keep you from dismounted due to spell cast while flying. But Blizzard already has a Auto Dismount in Flight checkbox under Interface\Controls. If unchecked a spell cast will autodismount me of a ground mount or a flying mount that is on the ground, but it won't dismount me if I'm flying.
Thinking about the issue for a minutes I came up with some cool ideas for ways to improve that functionality that I may add (like maybe a checkbox for having dismount in flight toggle back on when in WG), but I'd like to hear what functionality it was that you wanted. Was it just the same as the checkbox blizz provides or were there other bells and whistles. And don't limit yourself necessarily to exactly what the other add did for you, feel free to sort of design the behavior you want and I'll see if its doable.
I love the simplicity and "Hotness" of your addon! However, I miss the "SafeFlying on/off" of the Mountiful mod I had been using. Think you could code it in?
Seems like it may be a fairly simple code edit. Anyone know of a fix?
A long way back blizz changed things to break addons like Decursive that used to basically do the thinking for you and then cast a spell. Well, flight form is a spell, and therefore its protected. And I'm not really familiar with how to work with protected functions.
Anyway, I can provide you with this macro that seems to do what you'll want. It should use flight form when you can fly and then use pokedex to select amongst your ground bound mounts when you can't:
/cast [nostance:5,nomod,flyable]Swift Flight Form;
/pd ToggleMount
/cancelform [stance:5]
In short, I love your program. Is there a button or something somewhere that i'm missing? I hope I don't need to go to the programs setup to summon or dismount everytime. Thanks, Mike.