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).
support for merc mode? *GRIN*
What's the problem currently? What's the behavior you'd like to see?
I'm no expert on macros, scripts etc but I had a question about how to do something?
On warcraftpets.com there is a cool macro called Wheel of Pets http://www.warcraftpets.com/downloads/vanity_pet_macros/ and my question is if it was easily possible to change the core lua file where it says the line of
"
function Pokedex:AnnounceSummon(strName)
if (not self.db.profile.fAnnounce) then return end
local iChannel = self.db.profile.iChannel
-- if not in raid, try sending it to party
if (3 == iChannel and not IsInRaid()) then
iChannel = 2
end
-- if not in a party, just send it to yourself
if (2 == iChannel and 0 == GetNumGroupMembers()) then
iChannel = 1
end
local strOut
if (iChannel == 4) then
strOut = format(L["lets %s know that they have been chosen."], strName);
else
strOut = format(L["%s, I choose you!"], strName);
end
if (iChannel == 1) then
self:Print(strOut);
else
SendChatMessage(strOut, gc.rgstrChannels[iChannel]);
end
end"
would it be possible to incorporate the function of the wheel of pets macro in place of the "-petname I choose you!" phrase? it'd be a really cool feature if possible.
This macro could work for you:
You won't get custom names and the numbering may look odd because it corresponds to my indexing where duplicates get the same index. Also, since its a macro it won't fire when we do the auto pet summoning stuff. The cheer also happens before the wheel emote but it looks like the original macro off that site does the same thing, so ...
Another option, if you want the message when we auto-summon and don't care about having numbers in the message, is to set announcement type to emote and edit (assuming your language is english) locale\enUS.lua to change the emote message there. You'd have to make this edit everytime the addon gets updated:
So, I won't just make a change of the current message over to the wheel one because other users may not want that. The current one fits the addon name. Instead the best change would be something where users could enter multiple custom messages (both general and pet specific) with placeholders for things like pet name and we'd do a selection for which message to use and spit that out.
I've been meaning to add that feature since, oh, Wrath of the Lich King or so. I've always just been too busy and/or prioritized other problems higher. Maybe some day it will happen, but I don't see it happening anytime soon.
For people with the Draenor Pathfinder achievement, there's a two-second fix to make Pokedex realize we can fly in Draenor now. Open up core.lua in the Pokedex folder, go to line 2263 (or search for "Draenor"), delete everything after the open parenthesis, and save. Tada!
Code snippets to compare in case you're feeling paranoid and/or uncertain mucking around in lua:
Before: (continentID == 7 or -- Draenor
After: (
That's it! Enjoy flying!
Dang! Forgot I had that code in there (game used to return it as a flyable area); suppose I should have got on the PR prior to patch. I'll get a new build out shortly. Thanks!
EDIT - okay, released a new version with the fix.
You actually comment your code. It took me all of maybe five seconds after opening the file to find and fixmy copy. That's a nice change of pace from most "quick" fixes I've had to do after something manages to break in a patch. :-P
Can we expect an update for the chopper? It shows up as an unuasable mount for characters under level 20 even though it has no level requirement.
Thanks for letting me know. I'll look into it and get it fixed.
Can anyone tell me if there is a macro for "Show Pet in Journal"
I'm using an addon called ShadowUnitFrames and it won't allow me to click on the plate and select Show Pet in Journal. I know this question isn't specific to this add on but I was wondering if this add on had this feature or if any of you knew the macro for it?
Thanks
Great addon! the only problem i have is, if i only want to use 2 specific mounts on a char, for example engineering mounts on my engineering char, i have to go thru the entire list of other mounts and reduce their rank one by one? unless im missing another way of doing it? if theres not then it would be great for perhaps a checkbox beside the names of the mounts/pet/titles if you check it sets them to 0 so they never get picked? something like that
Yeah, you need all the other mounts to be ranked 0 on your engineer to keep them from being in the selection pool. I can give you two ways to bulk set all the mounts to 0 on your engineer in one go so that you don't have to do them one by one.
1) Create a new profile for your engineer. Change the default rank value from 10 to 0. Since no mounts have been given a custom rank yet they are treated as having the default rank, even if that default value is changed. So, by setting the default to 0 all mounts, and any new mounts you gain, will have a rank of 0 until you give them a custom rank value. You'd then give non-zero ranks to your engineer mounts and they would be the only ones summoned.
2) In the chat box, paste the following bolded text and press enter: /run for k,v in pairs(Pokedex.Globals.Variables.Mounts.ByName) do v.char_rank = 0 end. Now reload UI, open up Pokedex options and give your engineer mounts non-zero ranks.
If you have custom ranks set for pets and titles, then the problem with approach 1 is that you've now created a new profile. You can copy your default profile values into the new one after creating it (the fewer custom mount ranks you have the more that will get swept to zero when you change the new default rank) but they won't stay in sync with your other characters.
Approach 2 keeps the engineer sharing a proflie with everyone else but that loop sets the character specific rank override for all the mounts to 0. The only drawback with this approach is that default rank is a profile setting only which means everytime you gain a new mount you'll have to rank it zero on your engineer.
Personally, I'd go with approach 2 in your shoes and just deal with zeroing out new mounts as you get them.
Hey, love this addon and have been using it about a year now. I love being able to set preferances to auto summon companions, mounts, and titles, like... you have no freakin idea how cool it is! (Obviously you do since you made it). Anyways I love this addon and hope you keep updating it whenever you can. I do have a suggestion to make it a little better however. In the Magical Menagerie pet shop in dalaran there is a vendor named Breanni: <Pet Supplies> little gnome, that sells a few cosmetic items for your pet(s). Now most of them don't matter much and come second since they have limited uses but the one thing that comes to mind are the pet leashes. You should add a feature to auto place the leash on the pets upon summoning them since they have unlimited uses. Here is to hoping it's not too complicated.
I suspect that I can't auto apply something like that as it will be as item usage would be a protected function that would require user to initiate it. Which is to say, you still have to hit a key. At that point I'm not sure I save you much versus directly keybinding the item yourself.
EDIT: I'll take a look though just to make sure about whether the api involved is protected or not.
Hmm that sucks, How about instead since the Dk horn of winter and the warrior shouts function the same way now can you add a warrior auto shout when mounting feature? Hell that would even be better than the leash anyways... warriors would love you.
Funny you should mention the DK horn of winter because I've been thinking, actually, about removing that ...
When I added it, Horn of Winter was a 5 minute buff, so it had to be refreshed pretty often. I used to do circuits of Uldum mining ore for an hour or two and it always seemed to fall off right before I mined a node where I would get in combat so I added that refresher. But now that its an hour I was thinking of punting it to get it out of the way of an option to always put path of frost ...
I suppose I could come up with a new approach that would work for all the classes in terms of their hour long buffs where if its missing, or maybe has less than 15 minutes on it, we apply. Otherwise, we fall through to any other "with mount" casts like Cenarian Ward or Ice Barrier. That's just going to add some complexity and make me rework some stuff and so its low on the priority queue.
Can you add to the mount button a detection to see if you are in Nagrand and have the mount outpost/garrison ability?
its in the most recent alpha build
Bug
If you get in combat while a list is open in the pokedex options pane (for example looking for a mount in the list), the window get closed but buggy, fps drops and some pokedex options dissappear, others are not clickable, had to reload to fix.
Thanks for the addon.
I love this addon, but I can't seem to get it to choose Sky Golem while on the Timeless Isle. All other random mounts work. I've tried changing the mount hotness, etc., still doesn't pick Sky Golem. Any ideas? Am I doing something wrong? Thanks so much!