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.
Not at this time. No plans for it.
aww
ok X_X
thanks for answering at least
is there anyway i can modify the addon? or a similar addon for loot annoucnemtns? just wondering
Just turn off the announcements if you don't want them happening on every attempt, or change where it announces. I don't currently have plans for announcements on obtaining, due to limitations in how that code works.
yeah, i suppose, just a thought XD
Hey guys.
Is possble track and show the date and time you kill some npc ?
We are using this right now, but is no so good...
[code]/run for k, v in pairs({ Galleon = 32098, Sha = 32099, Nalak = 32518, Oondasta = 32519}) do print(format("%s: %s", k, IsQuestFlaggedCompleted(v) and "\124cff00ff00Yes\124r" or "\124cffff0000No\124r")) end [/code]
Thanks and Have fun :D
Rarity already tells you if you've defeated the world bosses that week.
Has anyone else reported to you about Rarity just completely not working? It's a great addon and I love it, but since 5.2 it's been not working or it will work for a split second and then spit out some error about trying to compare with null value.
You're the first. Please post the error. Rarity has been working for me just fine.
Date: 2013-03-27 22:33:21
ID: 1
Error occured in: Global
Count: 1
Message: ..\AddOns\Rarity\Core.lua line 1721:
attempt to compare nil with number
Debug:
Rarity\Core.lua:1721:
Rarity\Core.lua:1689
Rarity\Core.lua:1796: ShowTooltip()
Rarity\Core.lua:1412: OnEnter()
...face\AddOns\Arh\libs\LibDBIcon-1.0\LibDBIcon-1.0.lua:93:
...face\AddOns\Arh\libs\LibDBIcon-1.0\LibDBIcon-1.0.lua:84
[C]: ?
Locals:
group = <table> {
name = "Custom"
Zin'rokh, Destroyer of Worlds = <table> {
}
}
requiresGroup = nil
line = 25
added = false
g = <table> {
1 = <table> {
}
}
(for generator) = <function> defined =[C]:-1
(for state) = <table> {
1 = <table> {
}
}
(for control) = 1
k = 1
v = <table> {
type = "ITEM"
method = "ARCH"
raceId = 8
name = "Zin'rokh, Destroyer of Worlds"
time = 4
dates = <table> {
}
itemId = 64377
attempts = 45
}
groupName = "Custom"
(*temporary) = nil
(*temporary) = nil
(*temporary) = <unnamed> {
0 = <userdata>
regularFont = GameTooltipText {
}
columns = <table> {
}
scrollChild = <unnamed> {
}
colspans = <table> {
}
width = 526.87410926819
headerFont = GameTooltipHeaderText {
}
cell_margin_h = 6
key = "RarityTooltip"
cell_margin_v = 3
height = 363.34836196899
labelProvider = <table> {
}
lines = <table> {
}
scrollFrame = <unnamed> {
}
}
(*temporary) = 25
(*temporary) = "OnMouseUp"
(*temporary) = <function> defined @Interface\AddOns\Rarity\Core.lua:1649
(*temporary) = <table> {
name = "Custom"
Zin'rokh, Destroyer of Worlds = <table> {
}
}
(*temporary) = <function> defined @Interface\AddOns\Rarity\Libs\LibQTip-1.0\LibQTip-1.0.lua:1230
(*temporary) = <unnamed> {
0 = <userdata>
_OnMouseUp_arg = <table> {
}
height = 15.540791511536
cells = <table> {
}
_OnMouseUp_func = <function> defined @Interface\AddOns\Rarity\Core.lua:1649
}
(*temporary) = "OnMouseUp"
(*temporary) = <function> defined @Interface\AddOns\Rarity\Core.lua:1649
(*temporary) = <table> {
name = "Custom"
Zin'rokh, Destroyer of Worlds = <table> {
}
}
(*temporary) = <function> defined =[C]:-1
(*temporary) = <unnamed> {
0 = <userdata>
_OnMouseUp_arg = <table> {
}
height = 15.540791511536
cells = <table> {
}
_OnMouseUp_func = <function> defined @Interface\AddOns\Rarity\Core.lua:1649
}
(*temporary) = "OnLeave"
(*temporary) = <function> defined @Interface\AddOns\Rarity\Libs\LibQTip-1.0\LibQTip-1.0.lua:1211
(*temporary) = nil
(*temporary) = 1
(*temporary) = 8
(*temporary) = nil
(*temporary) = 8
(*temporary) = ""
(*temporary) = "Custom"
(*temporary) = "Attempts"
(*temporary) = "Likelihood"
(*temporary) = "Time"
(*temporary) = "Luckiness"
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to compare nil with number"
R = <table> {
NewBarFromPrototype = <function> defined @Interface\AddOns\Rarity\Libs\LibBars-1.0\LibBars-1.0.lua:255
SetDefaultModuleLibraries = <function> defined @Interface\AddOns\DataStore\libs\AceAddon-3.0\AceAddon-3.0.lua:383
GetBarGroup = <function> defined @Interface\AddOns\Rarity\Libs\LibBars-1.0\LibBars-1.0.lua:399
SetSinkStorage = <function> defined @Interface\AddOns\Rarity\Libs\LibSink-2.0\LibSink-2.0\LibSink-2.0.lua:752
ReleaseBar = <function> defined @Interface\AddOns\Rarity\Libs\LibBars-1.0\LibBars-1.0.lua:288
EnableModule = <function> defined @Interface\AddOns\DataStore\libs\AceAddon-3.0\AceAddon-3.0.lua:348
modules = <table> {
}
CancelTimer = <function> defined @Interface\AddOns\DataStore\libs\AceTimer-3.0\AceTimer-3.0.lua:161
IterateEmbeds = <function> defined @Interface\AddOns\DataStore\libs\AceAddon-3.0\AceAddon-3.0.lua:458
string_methods = <table> {
}
ScanAllArch = <function> defined @Interface\AddOns\Rarity\Core.lua:1254
profileFrame = <unnamed> {
}
profileOptions = <table> {
}
SpellFailed = <function> defined @Interface\AddOns\Rarity\Core.lua:1204
optionsFrame = <unnamed> {
}
options = <table> {
}
Printf = <function> defined @Interface\AddOns\DataStore\libs\AceConsole-3.0\AceConsole-3.0.lua:69
SetDefaultModulePrototype = <function> defined @Interface\AddOns\DataStore\libs\AceAddon-3.0\AceAddon-3.0.lua:425
GetSinkAce3OptionsDataTable = <function> defined @Interface\AddOns\Rarity\Libs\LibSink-2.0\LibSink-2.0\LibSink-2.0.lua:603
barGroup = <unnamed> {
}
ImportFromBunnyHunter = <function> defined @Interface\AddOns\Rarity\Core.lua:2252
defaultModuleState = true
defaults = <table> {
}
IsEnabled = <function> defined @Interface\AddOns\DataStor
AddOns:
Swatter, v4.2.0 (<%codename%>)
NPCScan, v5.0.0.5
NPCScanOverlay, v5.0.0.3
Altoholic, v5.2.001
Arh, v1.1.4
Babylonian, v5.1.DEV.332(/embedded)
BloodShieldTracker, v0.25
CollectMe, v2.3.3
Configator, v5.1.DEV.344(/embedded)
DataStore, v5.2.001
DataStoreAchievements, v5.2.001
DataStoreAgenda, v5.2.001
DataStoreAuctions, v5.2.001
DataStoreCharacters, v5.2.001
DataStoreContainers, v5.2.001
DataStoreCrafts, v5.2.001
DataStoreCurrencies, v5.2.001
DataStoreInventory, v5.2.001
DataStoreMails, v5.2.001
DataStorePets, v5.2.001
DataStoreQuests, v5.2.001
DataStoreReputations, v5.2.001
DataStoreSpells, v5.2.001
DataStoreStats, v5.2.001
DataStoreTalents, v5.2.001
DBMCore, v
DocsDebugRunes, v1.2
Gatherer, v4.2.0
LiteMount, v5.2.0
MikScrollingBattleText, v5.7.127
Overachiever, v0.71
QuestCompletist, v100.0
RaidAchievement, v1.120
RaidAchievementAchieveReminder, v
Rarity, v1.0
RarityOptions, v
Recount, v
SexyMap, v2.4.5
SlideBar, v4.2.0 (<%codename%>)
TargetPercent, v3.1
TipTac, v13.02.19
TipTacItemRef, v13.02.19
TipTacTalents, v13.02.19
WorldBossStatus, v1.0
BlizRuntimeLib_enUS v5.2.0.50200 <us>
(ck=4a2)
This happens and then rarity just stops working.
Oh and I haven't tried just deleting it and reinstalling, I was hoping to not lose all my data if at all possiable and if it helps it started freaking out right after the skyshard achievement bug (where if you got one in the first week of 5.2 everytime you logged in for about another week it popped up again and rarity kept tracking that achievement...at least for me, don't know about others.)
Thanks. Looks like you have a custom item for Zin'rokh. Did you leave the Chance empty? I think that's your issue. I just posted r182 which should fix that one, but you'll want to fill in the Chance.
Hurray it works! Also yes, chance is empty as I don't think I ever put it in there and had that problem.
Thanks a million.
Yeah it wasn't strictly necessary until a recent build, but now it's theoretically optional again. Glad it works!
@dysng
Those are supposed to be soloed. You need to personally loot the boss for an attempt to be counted.
Hi
I have added Rarity. Tested in world enviroment. I have no problems with Whelpings in Wetlands, Mr Pinchy, Hyacinth Macaw.
My question - for heroic dungeons for Reins of the Raven Lord & Swift White Hawkstrider mount drops - Rarity is not picking this up. Is supposed to be grouped or solo'ed.
I am doing something wrong?
Thanks for your time! :)
Yeah, but its almost faster with a friend, ah found the options, but wil it filter out mounts / pets i already have ?
Thx for quick reply.
If you're level 90 it would be a lot faster to solo it. I'm not sure what question you're asking, can you try to rephrase?
Ah sorry :D
Vill it show mounts you already have, or vil it filter them out and only show those you are missing ?
Rarity automatically detects mounts and pets that you already have, and turns them off. It will track ones you don't already have.