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.
In reply to Ookami313:
I'm not an addon developer, got no idea how that stuff works. I just posted the link that was working for me trying to help other people but you could try to disable any other addon and only have rarity up to see if it works then. Otherwise I would just suggest reinstalling it by deleting the 2 rarity folders and put the ones from the zip file back in.
In reply to Ookami313:
Whichever version you're using doesn't have all the required changes.
Since uploads on Curse are currently broken, please try the (temporary) link at the top here: https://www.curseforge.com/wow/addons/rarity
In reply to Forge_User_98854240:
Hi guys,
I used the new temporary fix you shared (thank you for sharing this) everything works like before, but once I get something I am tracking it doesn't pop up the achievement notification, like it used to do before.
Is there any option I can toggle on in order to have it working like before? I really liked the achievement notification poping up! Or this is something to be fixed with the official shadowlands update?
Thank you in advance for your feedback on this.
In reply to Forge_User_98854240:
Hi guys,
I used the new temporary fix you shared (thank you for sharing this) everything works like before, but once I get something I am tracking it doesn't pop up the achievement notification, like it used to do before.
Is there any option I can toggle on in order to have it working like before? I really liked the achievement notification poping up! Or this is something to be fixed with the official shadowlands update?
Thank you in advance for your feedback on this.
In reply to Forge_User_98854240:
Eeeeeek, thank you so much!!
In reply to Forge_User_98854240:
ty for updating this for us all :) I was wondering though,,,when I am in an old raid for transmog items I used to be able to open the map, mouse over a boss & it would show me what items I am missing that the boss would have. It doesnt do that now but Im also wondering if maybe it was another addon, would you or anyone else here happen to know? Thanks
After several attempts with the patched up fix I now get this:
60x ...rfaceRarity\Libs\LibBars-1.0\LibBars-1.0-90024.lua:362: attempt to call method 'SetBackdrop' (a nil value)
[string "@Rarity\Libs\LibBars-1.0\LibBars-1.0-90024.lua"]:362: in function `NewBarGroup'
[string "@Rarity\Core\GUI.lua"]:129: in function `InitialiseBar'
[string "@Rarity\Core.lua"]:194: in function `DoEnable'
[string "@Rarity\Core.lua"]:165: in function <Rarity\Core.lua:164>
[string "=[C]"]: ?
[string "@Bartender4\libs\AceAddon-3.0\AceAddon-3.0-13.lua"]:70: in function <Bartender4\libs\AceAddon-3.0\AceAddon-3.0.lua:65>
[string "@Bartender4\libs\AceAddon-3.0\AceAddon-3.0-13.lua"]:527: in function `EnableAddon'
[string "@Bartender4\libs\AceAddon-3.0\AceAddon-3.0-13.lua"]:630: in function <Bartender4\libs\AceAddon-3.0\AceAddon-3.0.lua:615>
The addon still just says "loading" and shows absolutely nothing.
After clicking the minimap button I just "activated" this:
16x Rarity\Core\GUI.lua:138: attempt to index field 'barGroup' (a nil value)
[string "@Rarity\Core\GUI.lua"]:138: in function `UpdateBar'
[string "@Rarity\Core\GUI.lua"]:443: in function <Rarity\Core\GUI.lua:410>
[string "@Titan\LDBToTitan.lua"]:273: in function <Titan\LDBToTitan.lua:271>
Locals:
self = <table> {
defaults = <table> {
}
lockouts_detailed = <table> {
}
OnMouseOver = <function> defined @Rarity\Core\EventHandlers.lua:635
ReleaseBar = <function> defined @Rarity\Libs\LibBars-1.0\LibBars-1.0.lua:288
modules = <table> {
}
CancelTimer = <function> defined @DataStore\libs\AceTimer-3.0\AceTimer-3.0.lua:147
string_methods = <table> {
}
OnChatCommand = <function> defined @Rarity\Core\EventHandlers.lua:675
advancedSettings = <table> {
}
OnSpellcastFailed = <function> defined @Rarity\Core\EventHandlers.lua:878
ProfileStart = <function> defined @Rarity\Core\Debugging.lua:25
GetSinkAce3OptionsDataTable = <function> defined @Rarity\Libs\LibSink-2.0\LibSink-2.0\LibSink-2.0.lua:662
OnQuestTurnedIn = <function> defined @Rarity\Core\EventHandlers.lua:455
bagitems = <table> {
}
advancedSettingsFrame = <unnamed> {
}
IsEnabled = <function> defined @DataStore\libs\AceAddon-3.0\AceAddon-3.0.lua:451
CreateGroup = <function> defined @Rarity_Options\Options.lua:1327
ScheduleTimer = <function> defined @DataStore\libs\AceTimer-3.0\AceTimer-3.0.lua:94
OnBagUpdate = <function> defined @Rarity\Core\EventHandlers.lua:898
GetZone = <function> defined @Rarity\Core\GUI.lua:2244
RegisterMessage = <function> defined @DataStore\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:90
UnregisterMessage = <function> defined @DataStore\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:153
RegisterSink = <function> defined @Rarity\Libs\LibSink-2.0\LibSink-2.0\LibSink-2.0.lua:781
ProfileStart2 = <function> defined @Rarity\Core\Debugging.lua:31
tempbagitems = <table> {
}
db = <table> {
}
guids = <table> {
}
zones = <table> {
}
EventHandlers = <table> {
}
architems = <table> {
}
itemsMasterList = <table> {
}
GetBars = <function> defined @Rarity\Libs\LibBars-1.0\LibBars-1.0.lua:222
Options_DoEnable = <function> defined @Rarity_Options\Options.lua:90
UpdateInterestingThings = <function> defined @Rarity\Core.lua:496
relevantSpells = <table> {
}
NewCounterBar = <function> defined @Rarity\Libs\LibBars-1.0\LibBars-1.0.lua:280
holiday_textures = <table> {
}
OnInitialize = <function> defined @Rarity\Core.lua:157
UnregisterAllEvents = <function> defined @DataStore\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:174
npcs_to_items = <table> {
}
ach_npcs_achId = <table> {
}
npcs = <table> {
}
items_with_stats = <table> {
}
optionsFrame = <unnamed> {
}
ScanArchProjects = <function> defined @Rarity\Core\Collections.lua:405
OnCursorUpdate = <function> defined @Rarity\Core\EventHandlers.lua:829
ProfileDebug = <function> defined @Rarity\Core\Debugging.lua:51
OnCriteriaComplete = <function> defined @Rarity\Core\EventHandlers.lua:613
OnSpellcastSucceeded = <function> defined @Rarity\Core\EventHandlers.lua:129
GetName = <function> defined @DataStore\libs\AceAddon-3.0\AceAddon-3.0.lua:279
GetBarGroups = <function> defined @Rarity\Libs\LibBars-1.0\LibBars-1.0.lua:395
name = "Rarity"
used = <table> {
}
Statistics = <table> {
}
Pour = <function> defined @Rarity\Libs\LibSink-2.0\LibSink-2.0\LibSink-2.0.lua:522
Disable = <function> defined @DataStore\libs\AceAddon-3.0\AceAddon-3.0.lua:314
OnIslandCompleted = <function> defined @Rarity\Core\EventHandlers.lua:572
NewTimerBar = <function> defined @Rarity\Libs\LibBars-1.0\LibBars-1.0.lua:284
Print = <function> defined @DataStore\libs\AceConsole-3.0\AceConsole-3.0.lua:54
lockouts_holiday = <table> {
}
IterateBars = <function> defined @Rarity\Lib
In reply to Dismis:
You probably haven't updated all the libraries that use the backdrop API, most notably LibQTip (and possibly LibBars according to the error message).
In reply to Cakechart:
I'm not finding any updates for LibQTip, I have brokereverything, Lib Ace3 and Lib sharedmedia i think, I have updated what has come up on twitch, but don't see to get a combo that allows Rarity to work at all.
Before patch I didn't have a single Lib addon and all my addons worked fine ?
I feel I'm doing something wrong ? :D
In reply to Dismis:
Since uploads on Curse are currently broken, please try the (temporary) link at the top here: https://www.curseforge.com/wow/addons/rarity
Hopefully that'll include everything just like the normal pre-packaged releases.
Getting a this error
Message: ...\AddOns\SilverDragon\lib\LibQTip-1.0\LibQTip-1.0.lua:540: attempt to call method 'SetBackdrop' (a nil value)
Time: Fri Oct 16 17:46:01 2020
Count: 1
Stack: ...\AddOns\SilverDragon\lib\LibQTip-1.0\LibQTip-1.0.lua:540: attempt to call method 'SetBackdrop' (a nil value)
[string "@Interface\AddOns\SilverDragon\lib\LibQTip-1.0\LibQTip-1.0.lua"]:540: in function <...\AddOns\SilverDragon\lib\LibQTip-1.0\LibQTip-1.0.lua:534>
[string "@Interface\AddOns\SilverDragon\lib\LibQTip-1.0\LibQTip-1.0.lua"]:127: in function `Acquire'
[string "@Interface\AddOns\Rarity\Core\GUI.lua"]:1598: in function `ShowTooltip'
[string "@Interface\AddOns\Rarity\Core\GUI.lua"]:404: in function `OnEnter'
[string "@Interface\AddOns\DBM-Core\Libs\LibDBIcon-1.0\LibDBIcon-1.0.lua"]:77: in function <...AddOns\DBM-Core\Libs\LibDBIcon-1.0\LibDBIcon-1.0.lua:60>
Locals: tooltip = <unnamed> {
0 = <userdata>
scrollChild = <unnamed> {
}
scrollFrame = <unnamed> {
}
}
key = "RarityTooltip"
backdrop = <table> {
backdropColor = <table> {
}
edgeSize = 16
tileEdge = true
backdropBorderColor = <table> {
}
tileSize = 16
edgeFile = "Interface/Tooltips/UI-Tooltip-Border"
tile = true
bgFile = "Interface/Tooltips/UI-Tooltip-Background"
insets = <table> {
}
}
(*temporary) = nil
(*temporary) = <unnamed> {
0 = <userdata>
scrollChild = <unnamed> {
}
scrollFrame = <unnamed> {
}
}
(*temporary) = <table> {
backdropColor = <table> {
}
edgeSize = 16
tileEdge = true
backdropBorderColor = <table> {
}
tileSize = 16
edgeFile = "Interface/Tooltips/UI-Tooltip-Border"
tile = true
bgFile = "Interface/Tooltips/UI-Tooltip-Background"
insets = <table> {
}
}
(*temporary) = "attempt to call method 'SetBackdrop' (a nil value)"
GameTooltip = GameTooltip {
BottomLeftCorner = <unnamed> {
}
OnBackdropLoaded = <function> defined @Interface\SharedXML\Backdrop.lua:205
textLeft1Font = "GameTooltipHeaderText"
GetBackdropColor = <function> defined @Interface\SharedXML\Backdrop.lua:443
SetBackdropBorderColor = <function> defined @Interface\SharedXML\Backdrop.lua:475
RightEdge = <unnamed> {
}
textRight2Font = "GameTooltipText"
ApplyBackdrop = <function> defined @Interface\SharedXML\Backdrop.lua:347
SetBackdrop = <function> defined @Interface\SharedXML\Backdrop.lua:382
ClearBackdrop = <function> defined @Interface\SharedXML\Backdrop.lua:335
TopOverlay = <unnamed> {
}
GetBackdropBorderColor = <function> defined @Interface\SharedXML\Backdrop.lua:462
GetBackdrop = <function> defined @Interface\SharedXML\Backdrop.lua:400
SetBorderBlendMode = <function> defined @Interface\SharedXML\Backdrop.lua:319
comparing = false
BottomRightCorner = <unnamed> {
}
backdropInfo = <table> {
}
shoppingTooltips = <table> {
}
TextLeft1 = GameTooltipTextLeft1 {
}
0 = <userdata>
ItemTooltip = <unnamed> {
}
SetupTextureCoordinates = <function> defined @Interface\SharedXML\Backdrop.lua:267
OnBackdropSizeChanged = <function> defined @Interface\SharedXML\Backdrop.lua:235
BottomOverlay = <unnamed> {
}
Center = <unnamed> {
}
HasBackdropInfo = <function> defined @Interface\SharedXML\Backdrop.lua:331
textRight1Font = "GameTooltipHeaderText"
BottomEdge = <unnamed> {
}
GetEdgeSize = <function> defined @Interface\SharedXML\Backdrop.lua:241
updateTooltip = 0.117000
textLeft2Font = "GameTooltipText"
TopEdge = <unnamed> {
}
TextRight2 = GameTooltipTextRight2 {
}
TextLeft2 = GameTooltipTextLeft2 {
}
TopRightCorner = <unnamed> {
}
TopLeftCorner = <unnamed> {
}
SetBagItem = <function> defined =[C]:-1
needsReset = true
SetupPieceVisuals = <function> defined @Interface\SharedXML\Backdrop.lua:299
SetBackdropColor = <function> defined @Interface\SharedXML\Backdrop.lua:452
LeftEdge = <unnamed> {
}
TextRight1 = GameTooltipTextRight1 {
}
}
AcquireTable = <function> defined @Interface\AddOns\SilverDragon\lib\LibQTip-1.0\LibQTip-1.0.lua:514
labelProvider = <table> {
cells = <table> {
}
cellMetatable = <table> {
}
cellPrototype = <table> {
}
heap = <table> {
}
In reply to Marynx84:
I don't know anything about coding, but I don't really know what this is saying.
when the prepatch hits yesterday the addon doenst even show anymore is it a bug or i need to reset the addon ?
In reply to Forge_User_33376126:
It is neither; Blizzard broke a million things with the patch and work is currently in progress to fix them all.
In reply to Cakechart:
Thank you)
In reply to Cakechart:
Thanks for the addon! Absolutely indispensable for collectors!
In reply to Forge_User_33376126:
Try this one https://cdn.discordapp.com/attachments/242423099184775169/766623596704694292/Rarity.zip
quick 9.0.1 fix
https://cdn.discordapp.com/attachments/609476323156557978/766034074132414504/Rarity.zip
In reply to aznamir:
The menu is not working with that fix either
In reply to Forge_User_98854240:
which menu?