MacroAnvil
Every World of Warcraft player has been there: you paste a macro from a guide, it does nothing, and you spend an hour guessing why. MacroAnvil for World of Warcraft exists to end that guessing. It is a macro library, a macro builder, and a macro linter in a single addon, and it gets the details right by reading them from your own client instead of trusting a table someone hard-coded. If you want to download MacroAnvil, you are getting tools that behave the way your game actually behaves.
What Is MacroAnvil?
Three tools, one frame. The library hands you ready-made macros you can drop onto your action bars in one click. The builder writes a correct macro for any spell in your spellbook. The linter reads any macro, yours or anyone else's, and tells you exactly what the client is going to do with it, including what it will silently refuse to do.
The Library: 412 Macros, Sorted and Verified
The library is a convenience, but it is a fast one. It ships 412 macros, sorted by class, talent tree, and skill type, that you can put on your action bar in one click:
- Warrior 39, Paladin 43, Hunter 40, Rogue 41, Priest 40
- Shaman 39, Mage 40, Warlock 40, Druid 40
- 50 more that work whatever you play
Filter by class, talent tree, and type: Attack, Heal, Buff, Defensive, Pet, Utility, Movement, Consumable, PvP, Profession. Tick "Only what I can use" and the list narrows to what your character can actually cast, because the check is read from your spellbook rather than from a table. Level, talent, race, and profession requirements are all handled by one mechanism that cannot disagree with the game. Every spell id was resolved against the client's own spell tables; stance, form, weapon, and totem-slot requirements each came from a primary source. Anything that could not be verified was left out rather than guessed, and the handful of macros with uncertain behaviour carry a visible note saying so.
The Builder: /ma new
Pick a spell, choose where it should be cast, your target, whatever your cursor is over, your focus, yourself, or the smart order of all of them, and add modifier branches: Shift casts this instead, Ctrl casts that. Tick the extras you want, such as stop what you are casting first, start auto-attack, leave your form, dismount, or show the tooltip. The body is assembled in the right order as you go, with a live preview and live linting underneath. Clause order is the part people get wrong: the first matching clause wins, so a bare clause anywhere but last makes everything after it dead. The builder cannot produce that.
The Linter: /ma lint
Feed it your macro, a friend's macro, or a macro off a forum from 2007, and thirty-three checks run against it. They catch two spells that both spend the global cooldown, dead clauses no matter how the conditions read, unguarded @mouseover that silently does nothing over open ground, friendly casts with no nodead that aim at corpses, and conditions that do not exist. Command names are read from your own command tables, so /spell, /tar, /eq, and localised names like the German /wirken are all recognised instead of flagged. The linter also catches state conflicts between forms and stances, two totems in the same slot, a rank you have not trained, a castsequence with no reset, unbalanced brackets, the 255-character cap, and the 16-character name limit. It has one rule: when it is not sure, it says nothing. Findings come at three levels, STOP, CHECK, and a quiet note, and /ma health runs the same checks over every macro you own.
Game Versions and Addon Compatibility
MacroAnvil follows the client, which keeps version compatibility simple. It is built around Burning Crusade Classic's macro language, and it reads conditions, command names, and spell ids straight from the client you are running. That design carries over cleanly whether you play Retail, Classic, TBC, Wrath of the Lich King, Cataclysm, or Mists of Pandaria, and it checks the conditions that exist in your version while ignoring the ones that do not. If you are juggling addons between characters, MacroAnvil travels by macro id and by content, so a friend on a different client language still gets macros that resolve on theirs. The foxygame.net launcher makes that setup work without friction, since its addon catalog keeps MacroAnvil installed with the right version for each server you log into.
Speaking Your Game's Language
There is nothing to configure. Everything the client owns comes from the client: spell names, item names, talent tree names, key names, and the slash commands themselves. On a German client a macro is built as /cast Heiliges Licht, because that is what your client calls spell 635. The addon's own text is translated into the nine languages WoW ships in, and terminology follows your client's own strings, so a German player reads Makro, Aktionsleiste, and Rang. Prefer your addons in English on a localised client? /ma lang en. Those who keep several builds patched through the same launcher will find that auto-updates handle version juggling for them, so downloading MacroAnvil through foxygame.net never leaves you stranded on an outdated file.
Sets, Key Bindings, and Sharing
A set is a group of macros plus where they sit on your bars and which keys press them. /ma set save stores what you have now, /ma set load puts it back after a respec, /ma set undo backs out the last load, and /ma set export produces a string you can send to someone, who pastes it back with /ma set import. Loading a set never overwrites a macro you wrote and never takes a key that is bound to something else.
Known Limits, Written Down on Purpose
Before you install, know what it will not do. One GCD per keypress is a client rule no addon can change, so macros whose notes say "two presses" mean it. TBC has no [@cursor], so ground-targeted AoE still needs a manual click. Warrior, Rogue, and Druid swap the main bar's first twelve slots with stance and form, so MacroAnvil prefers a side bar you have switched on and warns you when it has to use the main one. The builder does not produce castsequence macros; the library ships several and the linter reads them, but you write new ones by hand.
How to Install MacroAnvil
How to install is straightforward. Put the MacroAnvil folder into the World of Warcraft Interface AddOns directory so that MacroAnvil.toc sits directly inside it, then restart the game completely. A /reload is not enough for a new addon. Log in and type /ma. If something looks wrong, /ma verify checks every spell id against your client and /ma health checks every macro you own; those two outputs make the most useful bug report you can attach.
You no longer have to trust guides that went out of date the week they were written. MacroAnvil asks the client instead, builds what your character can actually cast, and warns you when the tool itself is not sure. That is a macro addon you can rely on.