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.
Seems like a Curse bug. In any case, I've now posted an actual new build that fixes the extra debug message problem from below. Should show up in about 15 minutes.
Also, good lord, that's really strange that Curse did that.
@Rarity developers, I am very happy this addon exsists it's amazing however for a couple of weeks now the amounts aren't correct. It says I have only 15 attempts on Yogg-Saron when I have 94x on a single character already. How can I fix this? (this happens to multiple mounts)
Nothing has changed recently. Did you reset your saved variables? You can correct the amounts yourself and Rarity should count them correctly from there. I haven't had any attempt counts change on me unexpectedly.
Yikes, sorry guys. I accidentally committed a build with a bunch of debug messages that shouldn't have been there. I'll revert out that file now. Just go back one build. Sorry about that! Was doing too many things at once.
Rarity: Scanning calendar (FINAL INIT)
Rarity: Scanning for existing items (FINAL INIT)
Rarity: ScanExistingItems: Mounts/Pets/Achievements/Archaeology took 89.390298ms
Rarity: BuildStatistics: 9.866299ms
Rarity: ScanStatistics: 67.458928ms
Rarity: Scanning toys (FINAL INIT)
Rarity: Toys took 15.432766ms
Rarity: Scanning calendar (FINAL INIT)
Rarity: Calendar took 0.256548ms
Rarity: Scanning instance locks (FINAL INIT)
Rarity: Instances took 0.345114ms
Rarity: ScanExistingItems: Total time 174.224217ms
Rarity: 773178
Rarity: UpdateText: 0.378417ms
Rarity: no texture
Rarity: 773178
Rarity: 773178
Rarity: 773178
Rarity: Debug mode ON
Rarity: Scanning calendar (DELAYED INIT)
Rarity: Scanning toys (DELAYED INIT)
Rarity: 773178
Rarity: Profiling ON
Rarity: 773178
Rarity: UpdateText: 0.345114ms
Rarity: 773178
Rarity: UpdateText: 0.333403ms
Rarity: 773178
Rarity: UpdateText: 0.292413ms
Rarity: 773178
Rarity: UpdateText: 0.200554ms
Dont know whether its another addon or rarity (whenever I hover something...)
Message: Interface\AddOns\Rarity\Core.lua:1925: attempt to index field 'db' (a nil value)
Time: 07/20/16 22:30:19
Count: 51
Stack: ...rface\AddOns\TradeSkillMaster\Debug\ErrorHandler.lua:317: in function <...rface\AddOns\TradeSkillMaster\Debug\ErrorHandler.lua:300>
[C]: ?
Interface\AddOns\Rarity\Core.lua:1925: in function <Interface\AddOns\Rarity\Core.lua:1924>
[C]: ?
...ns\TradeSkillMaster\Libs\LibExtraTip\LibExtraTip.lua:437: in function <...ns\TradeSkillMaster\Libs\LibExtraTip\LibExtraTip.lua:431>
(tail call): ?
[C]: ?
Locals: errMsg = "Interface\AddOns\Rarity\Core.lua:1925: attempt to index field 'db' (a nil value)"
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\CrossRealmAssist\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\CrossRealmAssist\Libs\AceGUI-3.0\AceGUI-3.0.lua:583
GetWidgetVersion = <function> defined @Interface\AddOns\CrossRealmAssist\Libs\AceGUI-3.0\AceGUI-3.0.lua:613
Create = <function> defined @Interface\AddOns\CrossRealmAssist\Libs\AceGUI-3.0\AceGUI-3.0.lua:172
GetWidgetCount = <function> defined @Interface\AddOns\CrossRealmAssist\Libs\AceGUI-3.0\AceGUI-3.0.lua:607
GetNextWidgetNum = <function> defined @Interface\AddOns\CrossRealmAssist\Libs\AceGUI-3.0\AceGUI-3.0.lua:596
WidgetRegistry = <table> {
}
WidgetVersions = <table> {
}
RegisterLayout = <function> defined @Interface\AddOns\CrossRealmAssist\Libs\AceGUI-3.0\AceGUI-3.0.lua:573
Release = <function> defined @Interface\AddOns\CrossRealmAssist\Libs\AceGUI-3.0\AceGUI-3.0.lua:206
ClearFocus = <function> defined @Interface\AddOns\CrossRealmAssist\Libs\AceGUI-3.0\AceGUI-3.0.lua:257
WidgetContainerBase = <table> {
}
SetFocus = <function> defined @Interface\AddOns\CrossRealmAssist\Libs\AceGUI-3.0\AceGUI-3.0.lua:247
}
TSM = <table> {
Operations = <table> {
}
SetDefaultModuleLibraries = <function> defined @Interface\AddOns\CrossRealmAssist\Libs\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\CrossRealmAssist\Libs\AceAddon-3.0\AceAddon-3.0.lua:363
modules = <table> {
}
baseName = "TradeSkillMaster"
IterateEmbeds = <function> defined @Interface\AddOns\CrossRealmAssist\Libs\AceAddon-3.0\AceAddon-3.0.lua:473
CreateGroupTree = <function> defined @Interface\AddOns\TradeSkillMaster\GUI\TSMFrames\GroupTree.lua:295
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\CrossRealmAssist\Libs\AceAddon-3.0\AceAddon-3.0.lua:440
NO_SOUND_KEY = "TSM_NO_SOUND"
defaultModuleState = true
IsEnabled = <function> defined @Interface\AddOns\CrossRealmAssist\Libs\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\Trade
Hey I love Rarity, and I use it for keeping track of mount runs. HOWEVER, since the most recent update, when I scroll over the rarity panel on my Titan bar, it adds into my chat every single item id for what it's checking, and occasionally will crash my game. I can provide more information as to what's going on, the crash seems to happen if I check the menu too many times, but every time I check it, it updates the chat with all the item ids which is a problem. I'm going to have to remove it from my Titian Panel until it's fixed, just so I can keep doing my mount runs. Thanks, and keep up the good work!
Same problem here, no idea how to fix it. Just gonna have to disable it for now unfortunately.
happening here 2
Same issue, just spams chat with "no texture" and then weird number strings. Keep up the hard work, dev - I know how patches can be. Will check back! Cheers
I'm getting the following LUA error when attempting to run Rarity in 7.0:
Message: AceLocale-3.0: Rarity: Missing entry for 'Orb of the Sin'dorei'
Time: Wed Jul 20 14:16:10 2016
Count: 1
Stack: ...Externals\curse\svn\Ace3-AceLocale\AceLocale-3.0.lua:31: in function <...Externals\curse\svn\Ace3-AceLocale\AceLocale-3.0.lua:29>
Interface\AddOns\Rarity\Options_Defaults.lua:841: in function `PrepareDefaults'
Interface\AddOns\Rarity\Core.lua:441: in function `DoEnable'
Interface\AddOns\Rarity\Core.lua:434: in function <Interface\AddOns\Rarity\Core.lua:433>
(tail call): ?
[C]: ?
[string "safecall Dispatcher[1]"]:9: in function <[string "safecall Dispatcher[1]"]:5>
(tail call): ?
...y\Externals\curse\svn\Ace3-AceAddon\AceAddon-3.0.lua:558: in function `EnableAddon'
...y\Externals\curse\svn\Ace3-AceAddon\AceAddon-3.0.lua:651: in function <...y\Externals\curse\svn\Ace3-AceAddon\AceAddon-3.0.lua:636>
[C]: in function `LoadAddOn'
Interface\AddOns\PitBull4\Main.lua:1168: in function `LoadModules'
...
(tail call): ?
[C]: ?
[string "safecall Dispatcher[1]"]:9: in function <[string "safecall Dispatcher[1]"]:5>
(tail call): ?
...y\Externals\curse\svn\Ace3-AceAddon\AceAddon-3.0.lua:558: in function `EnableAddon'
...y\Externals\curse\svn\Ace3-AceAddon\AceAddon-3.0.lua:651: in function <...y\Externals\curse\svn\Ace3-AceAddon\AceAddon-3.0.lua:636>
[C]: in function `LoadAddOn'
Interface\FrameXML\UIParent.lua:391: in function `UIParentLoadAddOn'
Interface\FrameXML\UIParent.lua:482: in function `TimeManager_LoadUI'
Interface\FrameXML\UIParent.lua:993: in function <Interface\FrameXML\UIParent.lua:891>
Locals: <none>
Will be fixed in upcoming build. Thanks for reporting!
Hey,
first of all, rarity is an amazing addon I use it every day, kepp it <3
If I open the little frame, there is a little issue and I dont know how to fix it..
The Icon or Symbol does not depend on the right Item.
I made a screenshot so it's a lot easier to understand.
I'm from germany but I will write the english names!
1: Azure whelpling, 2: Glorious legplates
http://prntscr.com/bvc3mj
This appears to be a tricky problem. Will keep working on it. Thanks for reporting!
still showing "Old"
What is?
Any chance you'll update to include tmogs now?
Definitely not, but you can add your own items yourself if you like. Rarity supports anything that can drop.