My First WoW Addon - BiS items on hover and catalogue

ENGINEERING
TECH
GAMING
5 min read
Views0
Loves0

I can't believe I've just finished coding my first World of Warcraft addon. For many people, creating something like this might seem trivial, but I'm genuinely bursting with excitement and a sense of accomplishment. I've been playing this game since I was eight years old, and now I've finally contributed something back to the community that shaped so much of my gaming life.

A few years after coding my GTA server, I decided this year to dive into a series of open source projects across different domains. The first one had to be for my favorite video game, WoW.

The Problem I Wanted to Solve

Anyone who's played WoW at a competitive level knows the struggle: you're in a raid or dungeon, an item drops, and you have about 2 minutes to decide if you need it. Do you remember if it's BiS for your spec? Was it ranked highly in that Wowhead/IcyVeins guide you read three weeks ago? Is it better for Mythic+ or Raid content?

So you do what every players does: you alt tab, search for the item on Wowhead or Icy Veins, scroll through walls of text and you're loosing a lot of time. Or worse, you pass on an item only to discover hours later that it was actually perfect for your character.

How many times have I passed up an item in a dungeon, only to discover hours later on Wowhead that it was actually BiS for my spec?

Trinkets are especially notorious and important in game. With their tier rankings (S, A, B, C, D), you need to know all the passive effects which can be offensive, defensive, and also the situational utility.

WOWRN BiS indicator on item tooltip

WOWRN shows BiS indicators directly on item tooltips

Introducing WOWRN : "Is it worth being WORN ?"

So we are here now. The name is a play on words "Is it worth being WORN?" Get it? Anyway, you just have to love it because it was the wonderful idea of my partner. WOWRN is my answer to get instant response of what you need to be optimized. It's a lightweight addon that instantly shows you an item is Best-in-Slot the moment you hover over it.

Here's the features :

  • Instant BiS indicators : Hover over any item and see if it's BiS for your class and spec
  • Context recommendations : Different indicators for Overall, Raid, and Mythic+ scenarios
  • Trinket tier lists : See S, A, B, C, D rankings directly on trinket tooltips
  • Cartel Chips integration : Special tooltips for Puzzling Cartel Chips
  • Ingame catalog : Type /wowrn or /rn to open a searchable catalog of all ranked items
  • Minimap button : Quick access to the catalog UI
  • Lightweight performance : Simple data lookups with zero impact on FPS (because you will loose them during raid or MM+ anyway)
WOWRN in-game catalog interface

The ingame catalog shows all BiS items organized by slot

The Technical Part

So far, I've only finished the scraping script for WoWHead, and honestly it took way longer than I expected. The annoying part ? Item names and IDs aren't just sitting in the HTML, they're hidden in JavaScript blobs that get injected via WH.Gatherer.addData(). On top of that, each class/spec page is structured differently. Some guides use different tab layouts, others organize their tier lists in their own way, super fun.

Building the actual addon in Lua was way smoother. WoW's API is pretty well documented. What really sealed the deal on doing all the heavy work in Python was Blizzard's "addon disarmament" coming with Midnight. They're basically killing off any addon that does real time combat calculations (RIP WeakAuras, you served me well...). Addons can't process live game data for decision making anymore.

Try WOWRN

Download WOWRN from CurseForge or check out the source code on GitHub. Contributions welcome!

What's Next?

This is just the beginning. I have plans to do other scraper for Icy Veins, BloodMallet and more. After getting the data from multiple sources, I want to implement a ranking algorithm that aggregates the recommendations and provides even more accurate BiS indicators. In game, players can see from each source where the recommendation comes from. Here we go guys!

Frequently Asked Questions

What is BiS gear in World of Warcraft?
BiS stands for "Best-in-Slot" — the optimal item your character can equip in a given slot for a given specialisation, content type and patch. Community sites like Wowhead, Icy Veins and BloodMallet publish BiS lists per spec, role and content (Mythic+ vs Raid).
How does the WOWRN addon work?
WOWRN displays Best-in-Slot information directly on the item tooltip when you hover over a piece of gear in World of Warcraft. The data is scraped from community sources with a Python pipeline, packaged into LUA tables, and shipped with the addon, so the lookup happens locally inside the game without alt-tabbing.
How do I install a WoW addon from CurseForge?
Install the CurseForge desktop app, search for the addon by name (for example WOWRN), and click install — it places the addon folder in your World of Warcraft\_retail_\Interface\AddOns directory automatically. Restart the game, enable the addon from the in-game AddOns menu on the character select screen, then log in.
What language are WoW addons written in?
World of Warcraft addons are written in LUA, using Blizzard's in-game UI API. Data and assets can come from anywhere (Python scrapers, JSON files, static tables) but the in-game logic itself runs through LUA scripts that hook into game events and tooltips.

Written by Sahra Vadrot, software engineer based between France and Spain. Sahra writes about software engineering, tech careers, women in tech, and the realities of moving across borders. Read more about the author at https://sahravadrot.com/about.