Rarity
NEW: 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.
[09:21 PM] Rarity: Oh no! Something went horribly wrong. This is what happened:
Failed to add tooltip line for item 1 (AV4xXlReU2l0ZW1zXlReTjFeVF5TZW5hYmxlZF5CXlN0eXBlXlNJVEVNXlNtZXRob2ReU0ZJU0hJTkdeU2V4cG9ydF5CXlNyZXBlYXRhYmxlXkJeU3pvbmVzXlReTjFeUzE5NzBedF5TY2hhbmNlXk41MDBeU25hbWVeU1N0cmFuZ2V+YEdvb3BeU2l0ZW1JZF5OMTg3NjYyXlNkYXRlc15UXk4yMDIyMDIyM15UXlN0aW1lXkY0ODMxMjE4OTA4MDc1NjUzXmYtNDFeU2F0dGVtcHRzXk4xODFedF50XlN0aW1lXkY0ODMxMjE4OTA4MDc1NjUzXmYtNDFeU3Nlc3Npb25eVF5TYXR0ZW1wdHNeTjc2XnReU2F0dGVtcHRzXk4xODFedF50XlNzaWduYXR1cmVeU1JGSTJQRDRqT2pKME5udGdJbmMvWkE9PV5TYnVpbGReTjcxNV50Xl4=) in group Custom (invalid ID or the server didn't return any data)
If you didn't change anything that might've caused this, please report the error to the addon developer so it can be fixed :)
In reply to deannlenahan:
Check your custom items. One of them seems to have some invalid data in there :)
I think it would be cool if we could track perception/finesse procs when mining or herbing as well as things that come from base mining such as khaz'gorite ore.
In reply to LGhost:
Tracked here: https://github.com/WowRarity/Rarity/issues/556
setup latest alpha, drop mount with Rukhmar, screenshot not taken.
In reply to clancyby:
Do you still have the same script error? "Screenshot not taken" doesn't tell me anything useful since that's handled by the WOW client itself.
494x ...eBlizzard_CombatText/Blizzard_CombatText.lua:448: attempt to compare two nil values
[string "@Blizzard_CombatText/Blizzard_CombatText.lua"]:448: in function <...eBlizzard_CombatText/Blizzard_CombatText.lua:429>
[string "=[C]"]: in function `CombatText_AddMessage'
[string "@Rarity/Libs/LibSink-2.0-100000/LibSink-2.0/LibSink-2.0.lua"]:399: in function `func'
[string "@Rarity/Libs/LibSink-2.0-100000/LibSink-2.0/LibSink-2.0.lua"]:532: in function <.../Rarity/Libs/LibSink-2.0/LibSink-2.0/LibSink-2.0.lua:518>
[string "@Rarity/Libs/LibSink-2.0-100000/LibSink-2.0/LibSink-2.0.lua"]:538: in function `Pour'
[string "@Rarity/Core/Interoperability/LibSink/Output.lua"]:6: in function `DisplayText'
[string "@Rarity/Core/Announcements.lua"]:43: in function `AnnounceAttemptForItem'
[string "@Rarity/Core/GUI.lua"]:132: in function `OutputAttempts'
[string "@Rarity/Core/Detection.lua"]:225: in function `ScanStatistics'
[string "@Rarity/Core/EventHandlers.lua"]:364: in function `?'
[string "@Accountant_Classic/Libs/CallbackHandler-1.0-7/CallbackHandler-1.0.lua"]:119: in function <...sic/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua:119>
[string "=[C]"]: ?
[string "@Accountant_Classic/Libs/CallbackHandler-1.0-7/CallbackHandler-1.0.lua"]:29: in function <...sic/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua:25>
[string "@Accountant_Classic/Libs/CallbackHandler-1.0-7/CallbackHandler-1.0.lua"]:64: in function `Fire'
[string "@Accountant_Classic/Libs/AceEvent-3.0-4/AceEvent-3.0.lua"]:120: in function <...ccountant_Classic/Libs/AceEvent-3.0/AceEvent-3.0.lua:119>
got two mounts from world bosses and a pet from a crab on a timeless island, and it turned out that the addon did not take screenshots. the only mistake when killing bosses.
In reply to clancyby:
Probably this issue: https://github.com/WowRarity/Rarity/issues/530
Should be fixed if you update to the latest alpha :)
I don't know if it's just me or if this addon isn't being updated anymore? I'm so confused, there are no mounts, pets, toys, nothing from Dragonflight listed in Rarity and when you try and create a custom thing for anything in DF it can't seem to do it either.
In reply to rainiepie:
Blizzard changed a lot of things, and it seems to have broken Rarity in more ways than one. Unfortunately some of the issues are tricky to debug, and there's no one doing much work on Rarity these days (except for the bare minimum required to not have it break down completely)
There's an alpha version that has some new items, but the other issues aren't yet fixed.
any plans to add new rares from DF to the list or is there a add on pack for that ?
In reply to Slypknott:
What rares exactly are you referring to? I'm a bit out of the loop currently.
The latest alpha has some new mounts, but toys and pets are still missing.
Recently I've noticed that Rarity no longer seems to be tracking my attempts at any of the Legion Paragon reward boxes that can contain mounts. I've just obtained and opened a Valarjar Strongbox. When I placed the cursor over the box Rarity added the "Valarjar Stormwing: 4 Attempts" text to the bottom of the tooltip. I then checked the Rarity LDB dropdown because I thought I had more attemts than that, but the list does indeed show that I only have 4 attempts at the Valarjar Stormwing. After opening the Valarjar Strongbox and not getting the mount, I checked Rarity once again and it still shows "Valarjar Stormwing: 4 Attempts" despite having just opened a Valarjar Strongbox, which should have increased the number of attempts to 5 shouldn't it?
So then I checked all the other Legion Paragon mount rewards and none of them have increased recently. According to Rarity I only have 1 attempt at the Wild Dreamrunner despite having opened two Dreamweaver Cache in the last couple of weeks! About 3 weeks ago I got the last Felcrusher I needed from a Gleaming Footlocker and Rarity triggered it's notice that I had obtained the mount and automatically captured a screenshot as well. So it seems as though Rarity still sees when you obtain one of these mounts but for some reason it's no longer tracking attempts. No idea when this issue started, but for me it only seems to be the Legion Paragon mount rewards that are no longer being tracked correctly.
I've tried to add as much info as possible, but I'm not really sure what you might need to know to investigate this one, so if you need more info then let me know what you need.
EDIT (Dec 31, 2022): Got a Farondis Chest last night, checked Rarity before opening the chest and it showed "Cloudwing Hippogryph: 2 Attempts". After opening the Farondis Chest and NOT getting the mount, I checked Rarity again and it still showed "Cloudwing Hippogryph: 2 Attempts". So, Rarity did not record an increase in the number of attempts, despite just opening a chest. Also, there was no message in chat, usually there's a message showing the name of the mount and the number of attempts.
I don't know if it's just the Legion Paragon mount rewards that are affected or whether all of the special items (mounts, pets & toys) are not being recorded correctly.
In reply to RealGrizzlyUK:
Hi, it's probably because container items aren't reliably tracked since the DF prepatch. Unfortunately I was unable to deterministically reproduce the problem, which means I can't fix it.
Specifically, since I would need lots of container items and can only open them once, debugging this would be prohibitively time-consuming unless there's a better way of testing the detection. So far I haven't found one, hence the problem remains unsolved.
Status here: https://github.com/WowRarity/Rarity/issues/500
In reply to Cakechart:
I kinda had a bit of a suspicion that this may be due to something that Blizzard changed rather than an actual Rarity issue. I did take a look at my Rarity.lua file to see if I could work out roughly when the problem may have started and the last recorded date for any of the Legion Paragon rewards was early December.
I'll just make a note of which Paragon rewards I open and then manually edit the Rarity.lua file to keep the number of attempts correct, at least then I'll have an accurate record of attempts when/if I eventually do get the mounts.
This addon seems to try do the same thing...
Causing each of the addon to NOT work properly together
# Prat 3.0
# Rarity
# CharacterNotes
Can you please fix so they dont clash, and breaks the other addons please?
-------------------------------------------
Message: ...e/AddOns/Blizzard_CombatText/Blizzard_CombatText.lua:448: attempt to compare two nil values
Time: Tue Dec 6 13:27:53 2022
Count: 1
Stack: ...e/AddOns/Blizzard_CombatText/Blizzard_CombatText.lua:448: attempt to compare two nil values
[string "@Interface/AddOns/Blizzard_CombatText/Blizzard_CombatText.lua"]:448: in function <...e/AddOns/Blizzard_CombatText/Blizzard_CombatText.lua:429>
[string "=[C]"]: in function `CombatText_AddMessage'
[string "@Interface/AddOns/Prat-3.0_Libraries/LibSink-2.0/LibSink-2.0.lua"]:399: in function `func'
[string "@Interface/AddOns/Prat-3.0_Libraries/LibSink-2.0/LibSink-2.0.lua"]:532: in function <...ddOns/Prat-3.0_Libraries/LibSink-2.0/LibSink-2.0.lua:518>
[string "@Interface/AddOns/Prat-3.0_Libraries/LibSink-2.0/LibSink-2.0.lua"]:538: in function `Pour'
[string "@Interface/AddOns/Rarity/Core/Interoperability/LibSink/Output.lua"]:6: in function `DisplayText'
[string "@Interface/AddOns/Rarity/Core/Announcements.lua"]:43: in function `AnnounceAttemptForItem'
[string "@Interface/AddOns/Rarity/Core/GUI.lua"]:132: in function `OutputAttempts'
[string "@Interface/AddOns/Rarity/Core/Detection.lua"]:233: in function `ScanStatistics'
[string "@Interface/AddOns/Rarity/Core.lua"]:331: in function `DelayedInit'
[string "@Interface/AddOns/Rarity/Core.lua"]:311: in function `func'
[string "@Interface/AddOns/CharacterNotes/Libs/AceTimer-3.0/AceTimer-3.0.lua"]:57: in function <...ns/CharacterNotes/Libs/AceTimer-3.0/AceTimer-3.0.lua:50>
Locals: message = " Nameless Octopode: 8 attempts"
scrollFunction = <function> defined @Interface/AddOns/Blizzard_CombatText/Blizzard_CombatText.lua:644
r = 1
g = 1
b = 1
displayType = nil
isStaggered = false
string = CombatText1 {
scrollTime = 0
scrollFunction = <function> defined @Interface/AddOns/Blizzard_CombatText/Blizzard_CombatText.lua:644
0 = <userdata>
}
noStringsAvailable = nil
yDir = nil
lowestMessage = nil
useXadjustment = 0
(*temporary) = nil
(*temporary) = nil
(*temporary) = 1
(*temporary) = <userdata>
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to compare two nil values"
In reply to H8FaTe:
Could you adress the issue quickly please?
In reply to H8FaTe:
What is the issue exactly? The errors you mentioned are in Blizzard's code, originating from LibSink. Rarity doesn't deal with this itself and there is no way for me to change anything about how either of the two work internally.
The only thing related to the floating combat text that I can find are here:
* https://www.wowace.com/projects/libsink-2-0/files/4072503
* Also, lots of people have reported that their output channel settings in Rarity and other addons has recently been reset
This is almost certainly due to some change on Blizzard's end and not something I have control over. I would recommend you double-check those settings (General tab, scroll down) and see if that changes anything. It's also possible some of the other addons you're running interfere with the output library, or ship an outdated version that no longer works. Make sure they're updated and all use the latest release of LibSink.
Lastly, if the issue is with Blizzard's code then you're probably SOL because they often take years to fix minor problems that don't affect many people. But hopefully it can be resolved just by checking the above items first :)
After using portal of any kind im getting error that Rarity is trying to access forbidden action and that i should disable it
2x [ADDON_ACTION_FORBIDDEN] AddOn 'Rarity' tried to call the protected function 'UseAction()'.
[string "@!BugGrabber/BugGrabber.lua"]:480: in function <!BugGrabber/BugGrabber.lua:480>
[string "=[C]"]: in function `UseAction'
[string "@FrameXML/SecureTemplates.lua"]:364: in function `handler'
[string "@FrameXML/SecureTemplates.lua"]:690: in function <FrameXML/SecureTemplates.lua:672>
[string "@FrameXML/SecureTemplates.lua"]:704: in function <FrameXML/SecureTemplates.lua:697>
[string "@FrameXML/SecureTemplates.lua"]:746: in function `SecureActionButton_OnClick'
[string "@FrameXML/ActionButton.lua"]:109: in function `TryUseActionButton'
[string "@FrameXML/ActionButton.lua"]:144: in function `ActionButtonDown'
[string "ACTIONBUTTON11"]:2: in function <[string "ACTIONBUTTON11"]:1>
In reply to PedjaSenpai:
Most likely a bug in Blizzard's new UI :/