A World of Warcraft addon library that provides rarity data for mounts among the playerbase.
Download this library addon to provide the most current database. Your addons that use this library will pick it up automatically.
Internally, only the newest version of this library will be loaded and used for all addons.
This library can be included with the deployment of your addon. I recommend you regularly update the version that you ship with your addon as the data is updated multiple times per week.
Players can opt into installing this addon separately to have a more recent version available as well. Interally, only the most recent version will be loaded, regardless of where it is provided from.
Mount rarities are floating point values between 0 (no player has it) and 100 (every player has it).
To load the library, or access an already initialized instance of it, load it as a LibStub library.
local MountsRarity = LibStub("MountsRarity-2.0")To get the rarity value of a mount, call GetRarityById(mountID).
local mountId = 6
local rarity = MountsRarity:GetRarityByID(mountId)To get the entire dataset, organized by mount id and its rarity, call GetData().
local data = MountsRarity:GetData()The data source for the rarity data is Data for Azeroth.
Each day, there is a check for new data that publishes a new version with updated rarity values. This happens effectively twice a week.
The addon interface version in MountsRarity.toc is updated from Blizzard's patch CDN.
The updater reads the retail mainline product and the retail PTR/beta product, then writes both interface versions when they differ.
Run the updater locally:
./scripts/update-interface-version.shVerify that the TOC is already current without writing changes:
./scripts/update-interface-version.sh --checkGitHub Actions runs the same updater every Tuesday and commits MountsRarity.toc when Blizzard has published a new interface version.
If you find any issues with this project, feel free to raise them here.