Rarity
NEW:
- Support for Cataclysm Classic (experimental)
- Rarity now has a Discord server!
If you're interested in following the development process or contributing, you should also check out the official GitHub repository. We're always in need of more hands to help us make the addon better!
Rarity tracks how many times you've tried to obtain various rare items like mounts, battle pets, and toys. It will tell you how likely you are to obtain the item, track how long you've been farming for it, and tell you how lucky you've been so far. Although it's mostly used for mounts, battle pets, and toys, it supports pretty much any item, including profession patterns, archaeology projects, and more.
Looking for Rarity Item Packs? Click here.
Out of the box, Rarity includes support for every single mount, battle pet, and toy in the game which require some time to farm. It also includes support for some mount-related items like Skyshard, Primal Egg, and Giant Dinosaur Bone. It'll even notice if you mouseover a Mysterious Camel Figurine, plus lots of other stuff. Rarity factors in the size of a typical group when determining probabilities, and can also tell you if you've killed various bosses this week (or day). Holiday just started, and you didn't notice? Rarity will give you a helpful reminder to run those holiday dungeons or daily quests if you still need an item from them.
If Rarity doesn't track something you want to track, you can add it yourself! Just about everything is user configurable.
Curious what math is going on behind the scenes? The author of Bunny Hunter created the original algorithms. He wrote an article about it here. Your chance to obtain an item doesn't increase as you farm it; Rarity is just telling you how lucky you've been so far. It can be remarkably cathartic to see a progress bar move up as you spend hours upon hours trying for that Disgusting Oozeling.
Main features
- Rarity is primarily an LDB feed with a large tooltip. It can function as either a mini-map icon (you have to turn this on in the options), or as a standard LDB feed (use a display like Fortress, Button Bin, Titan Panel, or Chocolate Bar).
- Provides a progress bar, which you can toggle by clicking the icon or feed label.
- Adds info to NPC and item tooltips, showing you if it drops or contains something that Rarity tracks. Rare mobs with a guaranteed drop show which item they drop and if you've defeated them yet.
- Includes full source info, telling you how to obtain everything Rarity tracks.
Other features
- Share packs of items with other users
- Can automatically add waypoints to TomTom for certain items
- Uses statistics whenever possible to keep track of attempts
- Breaks your farming down by session, day, week, and month
- Looks at your instance locks to see if you've defeated various bosses recently
- Reminds you if you need to farm a holiday dungeon or daily quest, and hides holiday items that aren't available right now
- Supports bonus coin rolls
- Automatically screenshots when you obtain an item
- Keeps track of rare achievements like Frostbitten and Glorious
- You can add your own items to track
- Lets you modify your attempt count without having to edit saved variables
- Automatically imports data from Bunny Hunter if you're switching
Slash Commands
Simply typing /rarity should open the options menu (unless disabled).
For troubleshooting issues:
- /rarity dump displays the most recent debug log entries (even if the debug mode is disabled)
- /rarity validate checks the consistency of your item database, including custom items (experimental)
Comments & bug reports
Help translate Rarity
Click here to help translate Rarity into your language.
Frequently Asked Questions
Click here to read the Frequently Asked Questions. Please read this before requesting support.
Unable to reproduce.
it is strange, only happening on one of my characters, on another server, a moonkin druid. Turning off rarity fixed it. Perhaps another addon conflicting with it? I believe I had all the same addons turned on.
Update: I have seemed to solve it for the moment. I believe either Breeze or BattleGroundTargets was conflicting or something.
So Rarity is extremely light-touch when it comes to this particular feature. It just adds a checkbox and a timer that clicks the existing button provided by Blizzard. It's maybe 15 lines of code I think. The 7.0.3 client does seem very crashy, so it wouldn't surprise me if something was going on here, but I don't think Rarity would be to blame. My thinking would be it was some other add-on.
fix worked.. doesnt crash with ninjapanel anymore thank you for the quick and good work :D
Out of combat, fresh login, could be Rarity/ElvUI/TSM ... Not sure
Message: Interface\AddOns\Rarity\Core.lua:2967: attempt to compare string with number
Time: 08/01/16 20:05:29
Count: 1
Stack: ...rface\AddOns\TradeSkillMaster\Debug\ErrorHandler.lua:317: in function <...rface\AddOns\TradeSkillMaster\Debug\ErrorHandler.lua:300>
[C]: ?
Interface\AddOns\Rarity\Core.lua:2967: in function <Interface\AddOns\Rarity\Core.lua:2931>
Interface\AddOns\Rarity\Core.lua:3237: in function `ShowTooltip'
Interface\AddOns\Rarity\Core.lua:743: in function `func'
...AddOns\ElvUI\Libraries\AceTimer-3.0\AceTimer-3.0.lua:55: in function <...AddOns\ElvUI\Libraries\AceTimer-3.0\AceTimer-3.0.lua:48>
Locals: errMsg = "Interface\AddOns\Rarity\Core.lua:2967: attempt to compare string with number"
isTSMError = false
tsmErrMsg = nil
AceGUI = <table> {
objPools = <table> {
}
RegisterAsContainer = <function> defined @Interface\AddOns\ElvUI\Modules\skins\addons\ace3.lua:259
RegisterWidgetType = <function> defined @Interface\AddOns\AddOnSkins\Libs\AceGUI-3.0\AceGUI-3.0.lua:559
WidgetBase = <table> {
}
RegisterAsWidget = <function> defined @Interface\AddOns\ElvUI\Modules\skins\addons\ace3.lua:108
counts = <table> {
}
LayoutRegistry = <table> {
}
GetLayout = <function> defined @Interface\AddOns\AddOnSkins\Libs\AceGUI-3.0\AceGUI-3.0.lua:583
GetWidgetVersion = <function> defined @Interface\AddOns\AddOnSkins\Libs\AceGUI-3.0\AceGUI-3.0.lua:613
Create = <function> defined @Interface\AddOns\AddOnSkins\Libs\AceGUI-3.0\AceGUI-3.0.lua:172
GetWidgetCount = <function> defined @Interface\AddOns\AddOnSkins\Libs\AceGUI-3.0\AceGUI-3.0.lua:607
GetNextWidgetNum = <function> defined @Interface\AddOns\AddOnSkins\Libs\AceGUI-3.0\AceGUI-3.0.lua:596
WidgetRegistry = <table> {
}
WidgetVersions = <table> {
}
RegisterLayout = <function> defined @Interface\AddOns\AddOnSkins\Libs\AceGUI-3.0\AceGUI-3.0.lua:573
Release = <function> defined @Interface\AddOns\AddOnSkins\Libs\AceGUI-3.0\AceGUI-3.0.lua:206
ClearFocus = <function> defined @Interface\AddOns\AddOnSkins\Libs\AceGUI-3.0\AceGUI-3.0.lua:257
WidgetContainerBase = <table> {
}
SetFocus = <function> defined @Interface\AddOns\AddOnSkins\Libs\AceGUI-3.0\AceGUI-3.0.lua:247
}
TSM = <table> {
Operations = <table> {
}
SetDefaultModuleLibraries = <function> defined @Interface\AddOns\ElvUI\Libraries\AceAddon-3.0\AceAddon-3.0.lua:398
_author = "Sapu94, Bart39"
DeleteCustomPriceSource = <function> defined @Interface\AddOns\TradeSkillMaster\CoreAPI\Prices.lua:56
EnableModule = <function> defined @Interface\AddOns\ElvUI\Libraries\AceAddon-3.0\AceAddon-3.0.lua:363
modules = <table> {
}
baseName = "TradeSkillMaster"
IterateEmbeds = <function> defined @Interface\AddOns\ElvUI\Libraries\AceAddon-3.0\AceAddon-3.0.lua:473
CreateGroupTree = <function> defined @Interface\AddOns\TradeSkillMaster\GUI\TSMFrames\GroupTree.lua:291
SecureHookScript = <function> defined @Interface\AddOns\ElvUI\Libraries\AceHook-3.0\AceHook-3.0.lua:410
GetAuctionPlayer = <function> defined @Interface\AddOns\TradeSkillMaster\GUI\AuctionFrame.lua:45
RawHookScript = <function> defined @Interface\AddOns\ElvUI\Libraries\AceHook-3.0\AceHook-3.0.lua:395
_desc = "Core addon for the TradeSkillMaster suite. Does nothing without modules installed."
Printf = <function> defined @Interface\AddOns\TradeSkillMaster\CoreAPI\Modules.lua:147
SetDefaultModulePrototype = <function> defined @Interface\AddOns\ElvUI\Libraries\AceAddon-3.0\AceAddon-3.0.lua:440
NO_SOUND_KEY = "TSM_NO_SOUND"
defaultModuleState = true
IsEnabled = <function> defined @Interface\AddOns\ElvUI\Libraries\AceAddon-3.0\AceAddon-3.0.lua:482
LDBIcon = <table> {
}
Delay = <table> {
}
OnTSMDBShutdown = <function> defined @Interface\AddOns\TradeSkillMaster\TradeSkillMaster.lua:402
operations = <table> {
}
RegisterModule = <function> defined @Interface\AddOns\TradeSkillMaster\TradeSkillMaster.lua:329
toggleBankUI = <function> defined @Interface\AddOns\TradeSkillMaster\GUI\BankUI.lua:307
ShowConfigError = <function> defined @Interface\AddOns\TradeSkillMas
What revision of Rarity is this?
Sorry, forgot to add
r546-release
Try r549: https://www.wowace.com/addons/rarity/files/
Let me know if it helps. If it doesn't, post the error you get again, as line numbers have changed.
Date: 2016-07-31 00:39:52
ID: 1
Error occured in: AddOn: Rarity
Count: 9
Message: Note: AddOn Rarity attempted to call a protected function (MountJournal:SetShown()) during combat lockdown.
Debug:
[C]: SetShown()
...AddOns\Blizzard_Collections\Blizzard_Collections.lua:50: CollectionsJournal_UpdateSelectedTab()
...AddOns\Blizzard_Collections\Blizzard_Collections.lua:7:
...AddOns\Blizzard_Collections\Blizzard_Collections.lua:4
Rarity\Core.lua:3738: CollectionsJournal_SetTab()
...ce\AddOns\Blizzard_Collections\Blizzard_Wardrobe.lua:718: WardrobeCollectionFrame_CheckLatestAppearance()
...ce\AddOns\Blizzard_Collections\Blizzard_Wardrobe.lua:680:
...ce\AddOns\Blizzard_Collections\Blizzard_Wardrobe.lua:657
This specific error will be fixed in the next build, but it may cause issues with transmog detection during combat on Blizzard's end. No idea why that function is protected to begin with. In order to get around that, I'll have to remove Rarity's hook which means I can't put the Collections tab back where you found it after scanning toys. Will see if just disallowing the call in combat is good enough.
As of 7.0.3, Rarity no longer tracks AOE looting. This is due to changes Blizzard made in the client that make it impossible to track. If this affects you and you'd like to see it fixed, here is the thread for it on the official forums: http://us.battle.net/forums/en/wow/topic/20747794934
Still crashes very often for me.
I'm unable to reproduce.
I'll try and investigate more but it just happens whenever I hover over the map icon.
The game will just freeze up and require a restart.
Is there something I can send like a log file? Because I just tried it with ONLY Rarity enabled and my game crashed right on schedule.
Are you using the latest build, r539? There may be a single item that is causing the problem, which would be a Blizzard bug. I'm pretty sure this isn't Rarity's fault at this point, I've done all I can and it behaves perfectly for me.
Yup latest r539.
That YouTube clip was very helpful! Let's keep working through this if you don't mind. First, can you try with an LDB add-on like Fortress, and turn off the Rarity mini-map? Does it still happen in that scenario?
Before you test, also turn on Rarity's Debug Mode and Profiling mode.
If this doesn't get us anywhere I can add more debug output to help us isolate precisely where the hang/crash occurs.
Also: does it always take several hovers before it crashes, like in the video? Or does it sometimes do it on the first one?
If I could get this to reproduce I would do it, but I've opened the tooltip zillions of times and it always works for me. :(
wow thanks so much for this reply!
I'm going out for a meal in a minute but i will DEFINITELY do all that when I get back!
"Also: does it always take several hovers before it crashes, like in the video? Or does it sometimes do it on the first one?"
It sometimes does it on the first one. I haven't been keeping track but it seems to be a 20-30% rate.
I'll be back asap to do the rest!
Hey jacob30, I may have figured it out just now. I am posting a new alpha, r542. Can you try that when it appears and see if it fixes the problem?
http://www.wowace.com/addons/rarity/files/