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).
(Ideally, I think PD should auto-dismiss when I stealth, but I'm thinking there must be a workaround.)
/cast Stealth
/pd [stealth] SummonCompanion; DismissCompanion
Here's another version putting Vanish on the same putton and showing the shorter versions of the commands (saves characters in the macro):
#showtooltip
/cast [combat] Vanish; Stealth
/pd [stealth] sc; dc
Please not that this will only resummon the pet if you use the same macro button to break stealth - which probably isn't likely. I usually have macros on all the stealth spells, though, to add in Pick Pocket and Premeditation (when I have Sub as a spec); if you do as well, then you can just add in the pet resummon there. Something like:
#showtooltip ambush
/cast [stealth] Pick Pocket
/cast [stealth,spec:2] Premeditation
/cast ambush
/pd sc
I do agree that this is something I should probably add as a feature/option in Pokedex.
So, I'm just going to have to deal with manually calling a pet after getting out of combat. This isn't so bad really, since I mainly need this mechanic when I'm in danger of attacked by another player. And in that case, it's not that important to me to have a pet out when I'm not stealthed. Still, a built-in feature to call the pet after coming out of combat would be nice.
Thanks.
Otherwise, I'll need more info to try to figure out what the problem is so I can try to reproduce it. Does it matter whether you're standing on the seabed floor versus swimming? Are you a shaman (with or without instant cast ghost wolf) or a druid? Is your client running a different language than English (which could cause string matching problems with zone names)? What do you see when you type /pd zone?
Pokedex's logic for deciding whether the seahorse is summonable is a 2 stage check. First, we ask the game if the spell that summons the seahorse is usable; this filters out the cases where you aren't in water. Its not perfect though, because they'll return true if you're in any body of water (the icon for the spell looks castable) and then throw a wrong zone error when you actually try to summon it. So the second step is to then also check the zone names.
Try dragging the seahorse spell out onto your action bars. The next time you experience the problem, check the icon. Is it grayed out as uncastable? What happens if you try clicking it? If its grayed out and won't summon, then thats a bug in the game and there's nothing I can do for you.
If the spell works, then type "/pd zone" from the chat command. Pokedex will spit out the zone and sub-zone names as well as order of mount types that we will try to summon (which should be Vashjir Runners). If it doesn't have Vashjir as the first thing after runners, report back to me the entire output (the zone names as well).
If /pd zone doesn't list vasjir in the mount order then it would mean there was either a failure in the zone matching or because pokedex doesn't think you have an Abyssal Seahorse. To check the second, when in the fail case you would just bring up Pokedex and make sure that we still see the Abyssal Seahorse in the Vashj'ir Seahorses mount type category where it should be.
After that its checking to see if the zone name compare failed. The second name is what's important. In order to handle foreign languages we use LibBabbleZone to give us the string for a zone name in that users language. So check that the second zone name matches one of the strings returned when you run the following on the command line: /run local BZ = LibStub("LibBabble-Zone-3.0"):GetLookupTable(); print(BZ["Abyssal Depths"], BZ["Kelp'thar Forest"], BZ["Shimmering Expanse"])
Personally, I don't really like riding my gryphon around ground only zones. I will be working to get something into pokedex for mounts that can operate in all terrain letting you opt out areas. So, when you select a mount and get the slider to rank it, you'd also get (for the gryphon) maybe a couple of checkboxes for ground zones and underwater - and also maybe for "don't summon in Battleground" and "don't summon in cities" to help deal with issues related to not wanting an oversized mount in those places.
It may not need the underwater checkbox actually ... cause if Pokedex is summoning a flying mount for you underwater it will be because you don't have anything with faster swim speed available and because we expect you'll be using it to surface and fly away. Anyway, I'm super busy but thats high on my to do list.
For a long time I've been thinking/planning of a feature where you could switch from looking at the mounts grouped by speed to looking at them grouped by family type (Horses, Bears, Proto-Drakes, Griffins, etc). In that view, you would also have an additional option to suppress a given family type when in cities and another for when in BG's. This was mostly going to be to suppress the big mounts like Mammoths and Elekks that get hung up in doors or on terrain.
So, if I ever get that feature in, that would work for you. Since its a request, I might try to move it up higher in my list of stuff to do, but its a long list right now heh.
Just bumping it up further on your todo list ;)
Is there a script command to run ToggleMount by default and SummonOtherMount when modified with Shift?