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.
In reply to Aus404:
When the attempt is displayed depends on what method is used to detect it. There generally isn't a reliable way for addons to track many things, so it might not be possible to control the exact timing of the notification. At most I could try to add a configurable delay so you can artificially "postpone" the message, but since no one has asked for a feature like this in all those years I doubt it's worth the time and effort to implement.
FWIW, Rarity shouldn't spoil the surprise as it won't be able to detect whether or not the game server will decide to generate the item ahead of time. For example, it might display an attempt when your kill statistics increase (which is controlled by Blizzard). At this point you haven't even looted the boss yet, so the attempt is showing "too early". Then when you actually loot the boss, the game rolls and if you win it will notify the WOW client (and therefore Rarity) that you got it - at which point you'll see the achievement popup.
Does that explanation make sense? If you have some specific items in mind I can look into what method they use and if the timing might be improved. Alternatively, you could try changing the output channel settings (General tab, scroll down) to "hide" the notification or move it by routing them to a different output sink. With some WeakAuras-like scripting applied to the target frame/chat window/etc, it could even show up delayed, but that's where things get fairly technical and too specific for an addon like Rarity to provide a generic solution... I think.
Getting this error when hovering the mouse over the display on the bar from the Bazooka addon, the game freezes for some seconds and then it does gave me that error, no that its an issue as i do not know what is supossed to do but will report it just in case
Date: 2024-11-07 20:21:18
ID: 1
Error occured in: Global
Count: 1
Message: ...rface/AddOns/Rarity/Libs/LibQTip-1.0/LibQTip-1.0.lua line 356:
script ran too long
Debug:
[string "@Interface/AddOns/Rarity/Libs/LibQTip-1.0/LibQTip-1.0.lua"]:356: SetupCell()
[string "@Interface/AddOns/Rarity/Libs/LibQTip-1.0/LibQTip-1.0.lua"]:1064:
...rface/AddOns/Rarity/Libs/LibQTip-1.0/LibQTip-1.0.lua:966
[string "@Interface/AddOns/Rarity/Libs/LibQTip-1.0/LibQTip-1.0.lua"]:1128:
...rface/AddOns/Rarity/Libs/LibQTip-1.0/LibQTip-1.0.lua:1094
[string "=(tail call)"]: ?
[string "@Interface/AddOns/Rarity/Core/GUI/MainWindow.lua"]:1270: AddItem()
[string "@Interface/AddOns/Rarity/Core/GUI/MainWindow.lua"]:1303:
Interface/AddOns/Rarity/Core/GUI/MainWindow.lua:819
[string "@Interface/AddOns/Rarity/Core/GUI/MainWindow.lua"]:1519: ShowTooltip()
[string "@Interface/AddOns/Rarity/Core/GUI/DataBrokerDisplay.lua"]:49: ShowDelayedTooltip()
[string "@Interface/AddOns/Rarity/Core/GUI/DataBrokerDisplay.lua"]:38:
...terface/AddOns/Rarity/Core/GUI/DataBrokerDisplay.lua:37
Locals:
self = Frame {
_colSpan = 1
_line = 659
_provider = <table> {
}
_font = GameTooltipText {
}
_column = 3
_justification = "RIGHT"
fontString = FontString {
}
}
tooltip = Frame {
regularFont = GameTooltipText {
}
layoutType = "TooltipDefaultLayout"
headerFont = GameTooltipHeaderText {
}
key = "RarityTooltip"
scrollFrame = ScrollFrame {
}
autoHideTimerFrame = Frame {
}
columns = <table> {
}
scrollChild = Frame {
}
colspans = <table> {
}
width = 1268.357565
cell_margin_h = 6
labelProvider = <table> {
}
cell_margin_v = 3
height = 11189.072054
lines = <table> {
}
NineSlice = Frame {
}
}
value = ""
justification = "RIGHT"
font = GameTooltipText {
fontStyle = "SHADOWOUTLINE"
font = "Interface\AddOns\ElvUI_ToxiUI\Media\Fonts\ToxiUI.ttf"
fontSize = 14
}
leftPadding = 0
rightPadding = 0
maxWidth = nil
minWidth = nil
fontString = FontString {
}
line = Frame {
height = 13.999999
cells = <table> {
}
}
width = 0
height = 1
(*temporary) = FontString {
}
(*temporary) = "BOTTOMRIGHT"
(*temporary) = Frame {
_colSpan = 1
_line = 659
_provider = <table> {
}
_font = GameTooltipText {
}
_column = 3
_justification = "RIGHT"
fontString = FontString {
}
}
(*temporary) = "BOTTOMRIGHT"
(*temporary) = 0
(*temporary) = 0
(*temporary) = "script ran too long"
AddOns:
Swatter, v11.x.BETA.4 (TheWarWithBlizzardAPIs)
AIVoiceOver, v0.0.0
AIVoiceOverDataDragonflightenUS, v0.1
AIVoiceOverDataWarWithinesES, v0.1
Auctionator, v11.0.14
Auctioneer, v11.x.BETA.4 (TheWarWithBlizzardAPIs)
AuctioneerStatsOverTime, v11.x.BETA.4 (TheWarWithBlizzardAPIs)
AuctioneerUtilDealFinder, v11.x.BETA.4 (TheWarWithBlizzardAPIs)
AuctioneerUtilValuer, v11.x.BETA.4 (TheWarWithBlizzardAPIs)
AutoConfirmEquip, v2.1.1
BattlePetDailyTamer, v3.3.2
BattlePetBattleUITweaks, v2.2.3
Bazooka, vv3.1.2
BazookaOptions, vv3.1.2
BetterBags, vv0.3.18
BetterBagsTeleports, v2.2.3
BetterBagsThemes, v1.0.9
BetterBagsBattlePetItems, vv1.0.13
BetterBagsBetterSort, vv1.1.6
BetterBagsBound, vv1.8.2
BetterBagsDFCrafting, vv1.2.1
BetterBagsDragonflight, vv1.4.1
BetterBagsDragonflightReputationInsignia, vv1.2.2
BetterBagsFishing, v11.0.2
BetterBagsGearsets, v1.2.1
BetterBagsHearthstones, v1.19
BetterBagsSecrets, v1.11
BetterBagsTabards, v1.3.0
BetterBagsTheWarWithin, vv1.2.1
BetterBagsWarWithin, vv1.4.2
BetterBagsWorldEvents, vv1.6.2
BetterFishing, v1.3.2
BetterItemPreview, v3.0.0
BetterWardrobe, v5.5
BigWigs, vv367.2
BigWigsVoiceGura, v0.1
BigWigsVoicePipkinPippa, v0.3
BtWQuests, v2.48.4
BtWQuestsTheWarWithin, v5.3
CanIMogIt, v11.0.2v2.4
Collectionator, v1.22
Dejunk, v2.0.2
DeleteHearthstone, v0.8.5
Details, v#Details.20241107.13189.161
DetailsCompare2, v
DetailsEncounterDetails, v
DetailsRaidCheck, v
DetailsStreamer, v
DetailsTinyThreat, v
DetailsVanguard, v
DragonRider, v0.5.0
DynamicCam, v2.9.3
EasyDelete, v2
ElvUI, vv13.80
ElvUIActionBarBuddy, v2.3
ElvUILibraries, vv13.80
ElvUIRatioMinimapAuras, v1.16
ElvUIToxiUI, v6.8.7
ElvUIWindTools, v3.84
EmoteLDB, v11.0.2.01
EquipRecommendedGear, vv11.0.2-006
FasterLoot, vv20241031
FastInstanceReset, v5.6
FastReviveAccept, v4.3
FastRoleCheck, v5.4
GatherMate2, v1.50.2.2
HandyNotes, vv1.6.22
HandyNotesDungeonLocations, v2.7.3
Immersion, v1.4.41
InstanceAchievementTracker, v5.13.0
ItemCountTooltip, v8.1
KayrWiderTransmogUI, v0.2.1
KrowiExtendedVendorUI, v8.6
ManuscriptsJournal, v11.0-007
MapPinTimers, vv24
MogIt, vv4.0.0
MountJournalEnhanced, v2.43.0
MoveAny, v1.7.50
MyEmote, v1.0.3
MythicDungeonTools, v5.2.5
Narcissus, v1.7.2
NoAutoClose, vv1.3.4
NovaInstanceTracker, v1.80
OmniCD, v11.0.2.2807
OpenableBeGone, v1.38
PetBattleAutoheal, v
PetTracker, v11.0.8
PetTrackerConfig, v
PetTrackerJournal, v
Plater, vPlater-v595-Retail
Postal, vv4.2.1
QuestCounter, vv11.0.5.X-10.16.24
RareScanner, v11.0.5.2
Rarity, v1.0 (r738-release)
Rematch, v5.2.4
Scrap, v11.0.10
SkyridingRaceTimer, v1.4.1
SlideBar, v11.x.BETA.4 (TheWarWithBlizzardAPIs)
Stubby, v11.x.BETA.4 (TheWarWithBlizzardAPIs)
TomPoints, v110002_32
VaultButton, v5.6
WarpDeplete, v3.2.0
WeakAuras, v5.17.5
WhereToGather, v0.17.1
WolfHat, v1.0.36
WorldQuestTracker, vv11.0.2.521-Retail
BlizRuntimeLib v11.0.5.57388(US) <esES>
(ck=bec)
and also :Date: 2024-11-07 20:21:19
ID: 2
Error occured in: Global
Count: 1
Message: ...rface/AddOns/Rarity/Libs/LibQTip-1.0/LibQTip-1.0.lua line 364:
attempt to perform arithmetic on field '_paddingL' (a nil value)
Debug:
[string "@Interface/AddOns/Rarity/Libs/LibQTip-1.0/LibQTip-1.0.lua"]:364: getContentHeight()
[string "@Interface/AddOns/Rarity/Libs/LibQTip-1.0/LibQTip-1.0.lua"]:955:
...rface/AddOns/Rarity/Libs/LibQTip-1.0/LibQTip-1.0.lua:901
[string "@Interface/AddOns/Rarity/Libs/LibQTip-1.0/LibQTip-1.0.lua"]:231:
...rface/AddOns/Rarity/Libs/LibQTip-1.0/LibQTip-1.0.lua:227
Locals:
self = Frame {
_colSpan = 1
_line = 659
_provider = <table> {
}
_font = GameTooltipText {
}
_column = 3
_justification = "RIGHT"
fontString = FontString {
}
}
fontString = FontString {
}
(*temporary) = FontString {
}
(*temporary) = 0
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to perform arithmetic on field '_paddingL' (a nil value)"
AddOns:
Swatter, v11.x.BETA.4 (TheWarWithBlizzardAPIs)
AIVoiceOver, v0.0.0
AIVoiceOverDataDragonflightenUS, v0.1
AIVoiceOverDataWarWithinesES, v0.1
Auctionator, v11.0.14
Auctioneer, v11.x.BETA.4 (TheWarWithBlizzardAPIs)
AuctioneerStatsOverTime, v11.x.BETA.4 (TheWarWithBlizzardAPIs)
AuctioneerUtilDealFinder, v11.x.BETA.4 (TheWarWithBlizzardAPIs)
AuctioneerUtilValuer, v11.x.BETA.4 (TheWarWithBlizzardAPIs)
AutoConfirmEquip, v2.1.1
BattlePetDailyTamer, v3.3.2
BattlePetBattleUITweaks, v2.2.3
Bazooka, vv3.1.2
BazookaOptions, vv3.1.2
BetterBags, vv0.3.18
BetterBagsTeleports, v2.2.3
BetterBagsThemes, v1.0.9
BetterBagsBattlePetItems, vv1.0.13
BetterBagsBetterSort, vv1.1.6
BetterBagsBound, vv1.8.2
BetterBagsDFCrafting, vv1.2.1
BetterBagsDragonflight, vv1.4.1
BetterBagsDragonflightReputationInsignia, vv1.2.2
BetterBagsFishing, v11.0.2
BetterBagsGearsets, v1.2.1
BetterBagsHearthstones, v1.19
BetterBagsSecrets, v1.11
BetterBagsTabards, v1.3.0
BetterBagsTheWarWithin, vv1.2.1
BetterBagsWarWithin, vv1.4.2
BetterBagsWorldEvents, vv1.6.2
BetterFishing, v1.3.2
BetterItemPreview, v3.0.0
BetterWardrobe, v5.5
BigWigs, vv367.2
BigWigsVoiceGura, v0.1
BigWigsVoicePipkinPippa, v0.3
BtWQuests, v2.48.4
BtWQuestsTheWarWithin, v5.3
CanIMogIt, v11.0.2v2.4
Collectionator, v1.22
Dejunk, v2.0.2
DeleteHearthstone, v0.8.5
Details, v#Details.20241107.13189.161
DetailsCompare2, v
DetailsEncounterDetails, v
DetailsRaidCheck, v
DetailsStreamer, v
DetailsTinyThreat, v
DetailsVanguard, v
DragonRider, v0.5.0
DynamicCam, v2.9.3
EasyDelete, v2
ElvUI, vv13.80
ElvUIActionBarBuddy, v2.3
ElvUILibraries, vv13.80
ElvUIRatioMinimapAuras, v1.16
ElvUIToxiUI, v6.8.7
ElvUIWindTools, v3.84
EmoteLDB, v11.0.2.01
EquipRecommendedGear, vv11.0.2-006
FasterLoot, vv20241031
FastInstanceReset, v5.6
FastReviveAccept, v4.3
FastRoleCheck, v5.4
GatherMate2, v1.50.2.2
HandyNotes, vv1.6.22
HandyNotesDungeonLocations, v2.7.3
Immersion, v1.4.41
InstanceAchievementTracker, v5.13.0
ItemCountTooltip, v8.1
KayrWiderTransmogUI, v0.2.1
KrowiExtendedVendorUI, v8.6
ManuscriptsJournal, v11.0-007
MapPinTimers, vv24
MogIt, vv4.0.0
MountJournalEnhanced, v2.43.0
MoveAny, v1.7.50
MyEmote, v1.0.3
MythicDungeonTools, v5.2.5
Narcissus, v1.7.2
NoAutoClose, vv1.3.4
NovaInstanceTracker, v1.80
OmniCD, v11.0.2.2807
OpenableBeGone, v1.38
PetBattleAutoheal, v
PetTracker, v11.0.8
PetTrackerConfig, v
PetTrackerJournal, v
Plater, vPlater-v595-Retail
Postal, vv4.2.1
QuestCounter, vv11.0.5.X-10.16.24
RareScanner, v11.0.5.2
Rarity, v1.0 (r738-release)
Rematch, v5.2.4
Scrap, v11.0.10
SkyridingRaceTimer, v1.4.1
SlideBar, v11.x.BETA.4 (TheWarWithBlizzardAPIs)
Stubby, v11.x.BETA.4 (TheWarWithBlizzardAPIs)
TomPoints, v110002_32
VaultButton, v5.6
WarpDeplete, v3.2.0
WeakAuras, v5.17.5
WhereToGather, v0.17.1
WolfHat, v1.0.36
WorldQuestTracker, vv11.0.2.521-Retail
BlizRuntimeLib v11.0.5.57388(US) <esES>
(ck=bec)
In reply to LeinadDaerz:
It's a known issue. The tooltip library wasn't made to handle as many items as Rarity now supports. As a workaround, you can reduce the number of items by hiding some categories or only showing items in your current zone.
In reply to RDW: Oh, okay thanks for the info!
Is there any way we could get an update for the bosses at the anniversary event to show for tracking mount drops?
In reply to crockcw:
I've started looking into the event, but there are some problems. No ETA until I know more.
Status: https://github.com/WowRarity/Rarity/issues/784
In reply to RDW: Ok. Thanks so much for everything!
In reply to crockcw:
After some ingame testing, it seems that the loot method used doesn't allow Rarity to detect attempts at all. I mean, it can show a notification ("achievement popup") if you got the item, but there's no way to count how many times you've killed the boss and received loot, at least none that would allow tying the generic loot window to the boss kill.
Combat log events could be scanned, but they will cause false positives - and therefore bug reports - as you might not have tagged the boss before it dies. Unless someone figures out a way to detect this reliably I'm afraid I can't offer a workable solution, and I don't have time to try out some of the more exotic ideas.
(There must be a way since wowhead is able to list the drops, though I've no idea how)
There's a delay in loot collection. Is anyone else experiencing this problem?
In reply to Xxex:
Didn't see this comment (no notification was sent from CF). Is the problem still relevant?
If yes, can you make sure it can be reproduced with all other addons disabled and provide a debug log (type /rarity dump after it happens)? Some "fast loot" addons have caused problems like this in the past, so it might not be Rarity causing the delay.
In reply to pokettz:
I didn't encounter any such issue in my testing, so the best guess I can offer is that some other addon might be interfering. If the problem persists, disable all other addons and check for script errors, as well as the debug log (type /rarity dump after it happens).
For now, I'll close the GitHub issue since I can't reproduce the problem.
With r734 installed in retail, got the following error just now:
1x Rarity/Core/GUI/GameTooltipHooks.lua:524: Failed to extract item ID from item link (format might have changed?)
[string "=[C]"]: in function `assert'
[string "@Rarity/Core/GUI/GameTooltipHooks.lua"]:524: in function <Rarity/Core/GUI/GameTooltipHooks.lua:513>
[string "=(tail call)"]: ?
[string "=[C]"]: in function `securecallfunction'
[string "@Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua"]:61: in function <...lizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua:56>
[string "@Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua"]:81: in function <...lizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua:77>
[string "@Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua"]:117: in function <...lizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua:107>
[string "=[C]"]: in function `SetAttribute'
[string "@Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua"]:142: in function <...lizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua:135>
[string "@Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua"]:288: in function <...lizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua:238>
[string "=[C]"]: in function `securecallfunction'
[string "@Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua"]:235: in function <...lizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua:234>
[string "=(tail call)"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: in function `SetBagItem'
[string "@Blizzard_UIPanels_Game/Mainline/ContainerFrame.lua"]:1553: in function `OnUpdate'
[string "@Blizzard_UIPanels_Game/Mainline/ContainerFrame.lua"]:1512: in function `OnEnter'
[string "@Blizzard_UIPanels_Game/Mainline/ContainerFrame.lua"]:1508: in function <...s/Blizzard_UIPanels_Game/Mainline/ContainerFrame.lua:1507>
Locals:
(*temporary) = nil
(*temporary) = "Failed to extract item ID from item link (format might have changed?)"
In reply to gaviin1242:
Yup, I'm aware. First reported here: https://github.com/WowRarity/Rarity/issues/740
Have had an issue today where any kill is adding an attempt to the last mount I tried to get.
I.e. Killed Ruhkmar, 80 attempts. Kept playing and every mob kill has added an attempt to Solar Spirehawk, now at 186 attempts. I have found that if I reload my UI after each boss kill it stops any further "attempts" tracking.
In reply to pokettz:
That sounds very peculiar, but I'm not aware of any other reports describing this problem.
You can try disabling all other addons to see if something might be interfering with Rarity. Also enable script errors (see FAQ) and potentially check if there's something in the debug log (/rarity debug or /rarity dump). Does it also happen with other NPCs or just Rukhmar?
In reply to Cakechart: I will try that but to answer your question it is happening with any boss that drops a mount. Lately I have been running Helfire Citadel, Freehold, Kings Rest and Mechagon, after every boss kill the count goes up for whatever the last mount attempt was.
Eg. I run Freehold, kill the last boss only, count for Sharkbait goes up by 1, then I head to Mechagon and because I have to kill 3 bosses to trigger the Aerial Unit the count for Sharkbait goes up by a further 3, then when I kill the Aerial Unit the count for the Mechagon Peacekeeper goes up by 1. etc.
In reply to pokettz:
Well, not all bosses use the same method of detection. Rukhmar would be using combat log events, while Sharkbait is tracked by looting the NPC. Others use kill statistics from Blizzard.
Without a discernible pattern or additional information/a way to reproduce, hard to debug.
In reply to Cakechart: I'm not sure it helps but I do think I was wrong about how the attempts were going up. I do now believe that it was entering and exiting combat that was raising the attempt counts, in every instance. Either way I am now just reloading my UI after every mount attempt to stop the count from increasing incorrectly. Thanks for looking into it.
In reply to pokettz:
I've created this issue to track the status, just in case it can be reproduced:
* https://github.com/WowRarity/Rarity/issues/743
I notice Crispin is missing! I dunno what possessed me to boop that shaman anyway!
https://www.wowhead.com/item=129175/crispin