← All projects

WoW: Forever Addons

Shelved · Solo project, porting and API research (AI-assisted coding)

A port of my swing timer addon to WoW: Forever, Blizzard's Vanilla-based Classic+ mode, started during the beta. The client's Interface number (16001) was confirmed from an existing addon's files, which showed that Forever uses the Classic Era API. The port had separate melee and ranged bars, spell-ID-based Auto Shot and Shoot resets, and detection of on-next-attack abilities. I stopped the project when it turned out WoW: Forever already includes this in the base game.

PersonalGameModdingLua

Updates

Porting an addon to WoW Forever, and why I stopped

When WoW: Forever (Blizzard’s Vanilla-based “Classic+” mode) went into beta, I wanted to bring my swing timer over.

The problem: there was very little reliable information about the API. A lot of what turned up in searches was low-quality or just wrong.

The fix: look at something that already works. I grabbed an existing addon that supports Forever and checked its .toc file. That confirmed the Interface number (16001) and showed that Forever uses the Classic Era API, so none of the Retail-only C_ namespaces are available.

With that confirmed, the swing timer was ported with:

  • separate melee and ranged bars
  • Auto Shot and Shoot resets matched by spell ID
  • dodge-haste handling
  • detection of on-next-attack abilities like Heroic Strike and Raptor Strike

One bug along the way: Classic Era reads combat log data through CombatLogGetCurrentEventInfo() instead of the older positional arguments, so the combat log handling had to change.

Why I stopped. It turned out WoW: Forever already includes this in the base game, so there was no point maintaining my own version. I shelved it.

Two lessons from this one: when docs are missing, a working addon’s files tell you more than search results, and it’s worth checking what the game already offers before building something.