Description

Mage Bars
Decurse and buff your party in one click. A compact bar that lights up the moment somebody needs something, and does nothing at all when they don't.
Built for WoW Classic Era & Hardcore (1.15.9). No dependencies. No Blizzard panel chrome — a custom interface that scales cleanly and gets out of your way.
What it does
Decurse
Watches every party member for curses only — not Magic, not Disease, not Poison. Anything else is someone else's job, and a bar that cries wolf gets ignored. The button lights up amber, you click, the curse is gone.
- Sensible priority. When somebody has two curses, the worse one is the one shown — Curse of Tongues ahead of Curse of Agony, and so on. Anything unrecognised still appears, just ranked below the ones that matter most.
- Countdown on the button. Two seconds left on a curse is not worth a GCD, and the only way to know that is to see it.
- Low health pulses. A cursed player at 20% is the one to click first. It pulses rather than changing colour — colour already carries the action type and the out-of-mana warning, and a third meaning on the same channel is just noise.
Arcane Intellect
Shows who is missing it, and sends the right rank for their level.
Higher buff ranks refuse low-level targets, so blindly casting your best rank at a level 12 alt simply fails. Mage Bars picks the highest rank each member can actually receive. If you'd rather not think about it, one switch sends your best rank and lets the game decide.
- Druids in bear form are included. Mana is checked with
UnitPowerMax, not the current power type — checking the current type hides shapeshifted druids, which is exactly backwards. - Expiry warnings. A member four minutes from dropping lights up in a different colour from one with no buff at all: a top-up before the pull, not a scramble mid-fight.
- Arcane Brilliance suggestion. When enough people are missing it and you're carrying Arcane Powder, a group-cast row appears. One GCD and one reagent instead of four casts. Members who are merely expiring never trigger it, so it can't cost you a reagent.
Your own Ice Barrier
A row for your shield: how much is left, how long it has, and a button to recast it. Falls back to Mana Shield if you haven't taken the talent, and hides entirely if you have neither.
Honest about the numbers. Classic Era has no API that reports remaining absorb. The duration is exact — it comes from the aura. The absorb figure is computed from the rank's own coefficients and reduced by what the combat log reports absorbed, which is the same method the well-known nanShield WeakAura uses. It is very good, but it is not a readout.
Making it yours
Everything is in /mb config, split across five tabs.
Spells — which of the three you want, the Brilliance threshold, rank selection, and whether
to include yourself. Shows what this character actually knows, read passively from your
spellbook — no need to open anything.
Layout — vertical rows or horizontal cells, with a live three-member preview so you can
see the shape before you commit. The real bar is usually solo, which shows nothing of what
"one cell per member" means. Row height, cell width, grow direction, and where to show it.
Style — scale, font size, background and border opacity, idle brightness, and the curse
timer's size and colour. All safe to change mid-fight; a slider dragged during a pull takes
effect immediately.
Alerts — sound and flash on a curse, expiry and low-health thresholds, Test mode, and an
optional line to party chat when you remove a curse. That last one is off by default: party
chat isn't hardware-gated so it genuinely fires by itself, and most groups read it as spam.
{spell} and {target} are yours to arrange.
About — version, and where to find me.
Grow direction matters more than it sounds
If the bar sits above your action bars, turn on Grow upward. The bottom edge then stays put and rows stack upward, so a fifth party member joining can't push the bar down over your buttons. Below your unit frames, leave it off. The preview marks which edge is fixed.
When it hides
Three settings can each make the bar disappear: hide when idle, only show in combat, and show when not in a group. The Layout tab tells you which one is currently responsible, with a button to override it — so losing the bar is never a puzzle.
They fade rather than truly hiding, deliberately. A hidden frame that parents protected buttons cannot be shown again once combat starts, so a real hide would leave a curse landing mid-fight invisible until the fight ended.
Test mode
/mb test, or the Test button in the settings header. Fills every slot with a fake curse
and a fake missing buff so you can position and style the bar without waiting for a real fight.
The buttons stay bound to their real targets, so clicking one really does cast. That's stated on the button rather than hidden.
Keybinds
Every button can be bound under Key Bindings → Mage Bars: decurse or buff any party slot, or cast Arcane Brilliance.
A bound key delivers a real click, so the cast goes through exactly as if you'd pressed the button. Slots are fixed for the session, so a key bound to "Party 2" keeps hitting the same person.
Commands
| Command | What it does |
|---|---|
/mb |
Show or hide the bars |
/mb show |
Force them on screen, whatever the settings say |
/mb config |
Open settings |
/mb lock |
Lock or unlock the frame position |
/mb reset |
Move the frame back to the centre |
/mb test |
Fill every slot with fake work, for positioning |
/mb barrier |
What the shield tracker can see |
/mb status |
What the addon currently sees |
/mb bindings |
What each button is actually bound to |
/mb debug |
Verbose logging |
/magebars works too, and /mb help lists the lot.
Requirements
Classic Era or Hardcore, interface 11509. Mage. Nothing else — no Ace, no libraries, no external dependencies.
Found a bug, or want something added?
I'm 0x29a — a career software engineer from San Diego, playing Hardcore on Doomhowl.
If you or your guild need a custom or one-off addon, I'll build it at a fair price and quickly: repairs to old addons that have stopped working, new ones from scratch, or anything else you need. Come and say hello on Discord.
More of my work: CurseForge.

