Brues 4dd5326172 Drop the action-bar overrides now that ClassicAPI draws macro buttons
Removes the nine Lua replacements the macro display integration makes
redundant: GameTooltip.SetAction, GetActionCooldown, GetActionCount,
IsConsumableAction, IsUsableAction, IsActionInRange, ActionHasRange,
IsCurrentAction and GetActionTexture. The client now derives all of it from the
value published via C_Macro.SetMacroDisplay, including the drag cursor and macro
window grid that Lua could never reach, and answers range for the macro slot
itself instead of via a borrowed proxy slot. Also drops GetSlotMacroTexture,
which only GetActionTexture used.

Behavior change: a macro with a hand-picked icon now keeps that icon. The
deleted GetActionTexture substituted the active action's icon unconditionally;
the client only substitutes when the macro's own icon is the question mark.
That is the engine's rule, matching 3.3.5's macro icon getter.

Two things the integration guide expected to fall out did not, and are kept:

- GetProxyActionSlot still has six callers unrelated to macro display
  (/startattack, [stopattack], and [channeled] for Attack/Auto Shot/Shoot).
  Only three of its callers lived in the deleted range.
- Hooks.IsCurrentAction and Hooks.OriginalIsUsableAction are used outside the
  overrides they were saved for, so the aliases stay. They now simply name the
  unmodified globals. The auto-attack drift check specifically needs the real
  current-action state, which the old override could not give it.

PickupAction is untouched: it invalidates our per-slot caches on drag, which is
not display and is still needed.
2026-09-10 14:40:16 -05:00
2026-06-21 03:38:50 -05:00
2026-09-09 12:46:48 -05:00
2026-09-09 12:46:48 -05:00
2025-08-18 16:15:25 -04:00

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 ✅ Modern C_* API: dispel-type conditionals ([magic], [curse], …), [moving] speed

Installation

  1. Download and extract to Interface/AddOns/SuperCleveRoidMacros
  2. 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 no prefix: [nobuff], [nomod:alt]
  • Target with @: [@mouseover,help], [@party1,hp:<50]
  • Spell names with spaces: "Mark of the Wild" or Mark_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

S
Description
Requires ClassicAPI
Readme MIT
8.9 MiB
Languages
Lua 100%