The four readers that answered "what is on this unit, for how long, cast by whom" spliced two sources together: the engine's aura array for existence and icon, lib.objects for duration and caster. Everything the second half supplied is now in the AuraData the first half already returns -- duration is the caster-modified value when ClassicAPI saw the cast, expirationTime gives the true remaining, sourceUnit names the caster -- so they read one source. That deletes the overflow-slot rule with them. UnitDebuff used to split its index space at 16 and map 17-48 onto buff slots, because a debuff can be parked in a buff slot on an NPC, then filter the results through GetDuration to guess which of those buffs were really debuffs. isHarmful is the aura's real polarity, so the HARMFUL range already contains them and the guess is gone. timeleft keeps its -1-means-unknown convention. ClassicAPI reports expirationTime 0 for an aura whose cast it never observed -- one predating login, or a max-stack refresh whose cache entry elapsed -- which is the same "present but untimed" state the store expressed by having no record, so callers testing `timeleft > 0` see no change. GetDebuffCaster, IsOurDebuff and GetAllDebuffsOnTarget are deleted outright rather than re-based: all three have no callers anywhere in the addon, and they were the only readers of the slotOwnership and allSlots mirrors.
SuperCleveRoid Macros
Enhanced macro addon for World of Warcraft 1.12.1 (Vanilla/Turtle WoW) with dynamic tooltips, conditional execution, and extended syntax.
Full Documentation on the Wiki
Requirements
| Mod | Required | Purpose |
|---|---|---|
| Nampower (v3.0.0+) | ✅ | Spell queueing, DBC data, auto-attack events |
| UnitXP_SP3 | ✅ | Distance checks, [multiscan] enemy scanning |
| ClassicAPI (v1.15.0+) | ✅ | Modern C_* API: dispel-type conditionals ([magic], [curse], …), [moving] speed, unit-filtered events |
Installation
- Download and extract to
Interface/AddOns/SuperCleveRoidMacros - Recommended pfUI: Use brues-code/pfUI for full compatibility with macro spell scanning and action bar features
Quick Start
#showtooltip
/cast [mod:alt] Frostbolt; [mod:ctrl] Fire Blast; Blink
- Conditionals in
[]brackets, space or comma separated - Arguments use colon:
[mod:alt],[hp:>50] - Negation with
noprefix:[nobuff],[nomod:alt] - Target with
@:[@mouseover,help],[@party1,hp:<50] - Fallback groups, Blizzard-style:
[@mouseover,help][@focus,help][] Rejuvenationtries each[...]in order and the first that passes casts the shared spell;[]always passes. Mixes freely with; - Spell names with spaces:
"Mark of the Wild"orMark_of_the_Wild
Multi-value logic:
| Syntax | Logic | Example |
|---|---|---|
[buff:X/Y] |
OR | Has X or Y |
[buff:X&Y] |
AND | Has X and Y |
[nobuff:X/Y] |
NOR | Missing both |
[nobuff:X&Y] |
NAND | Missing at least one |
Comparisons: [hp:>50], [hp:>20&<50], [buff:"Name"<5] (time), [debuff:"Name">#3] (stacks)
Wiki
See the Wiki for complete documentation:
- Quick Start — Syntax, multi-value logic, comparisons, special prefixes
- Slash Commands — All 35+ commands, priority macros, UnitXP scanning
- Conditionals — 150+ conditionals (player & target), short aliases, extended unit tokens, multiscan
- Reference Tables — CC types, damage schools, stat types, swing types
- Features — Debuff timers, combo tracking, talent modifiers, TWoW mechanics
- Overflow Buff Frame — Hidden buff display for 32+ buffs
- Immunity Tracking — Auto-learned NPC immunities
- Settings — Configuration and console commands
- Supported Addons — Compatible addons and integrations
Known Issues
- Action-bar macros are identified by slot, so blank or duplicate macro names are fine. Only macros referenced by name (
{MacroName}nesting,/runmacro "Name") still need a unique name to disambiguate. - Reactive abilities must be on action bars for detection
- Debuff time-left conditionals only work on own debuffs unless pfUI libdebuff or Cursive has data
- Macro line length: 261 characters max (MacroLengthWarn extension prevents crashes)
Supported Addons
Unit Frames: pfUI, LunaUnitFrames, XPerl, Grid, CT_UnitFrames, agUnitFrames, and more
Action Bars: Blizzard, pfUI, Bongos, Discord Action Bars
Integrations: SP_SwingTimer, TWThreat, TimeToKill, QuickHeal, Cursive, ClassicFocus, SuperMacro
Note: For pfUI users, the brues-code/pfUI fork includes native SuperCleveRoidMacros integration for proper cooldown, icon, and tooltip display on conditional macros.
Credits
Based on CleverMacro and Roid-Macros.
MIT License