A paladin's white swing refreshes their own judgement debuff on the victim, and the server's edit is packet-silent, so pfUI#45 was the visible symptom: the timer ran to zero while the debuff stayed up. This addon worked around it three ways at once -- a UNIT_CASTEVENT MAINHAND/OFFHAND handler in Core.lua, an AUTO_ATTACK_OTHER fallback in Conditionals.lua, and a CHAT_MSG_COMBAT_SELF_HITS parser in Utility.lua that string-matched "hit"/"crit" and guessed at melee vs spell by looking for a parenthesis -- each rewriting rec.start and pushing the result into pfUI by hand. ClassicAPI mirrors the server rule in the DLL (src/aura/JudgementRefresh.cpp), keyed off SMSG_ATTACKERSTATEUPDATE, which is the visible trigger for the invisible edit. It matches judgements by their DBC marker -- SPELLFAMILY_PALADIN with SPELL_ATTR_EX3_ALWAYS_HIT -- for any paladin's judgements, not only ours. That last detail retires the auto-detection too. The hardcoded judgementSpells list could not cover Turtle's custom judgement ranks, so a cast queued a pending scan that read the target's debuffs 0.5s later, matched names against "^Judgement", and grew the list at runtime. Matching on the DBC attribute needs no list to grow. Gone with it: judgementSpells, pendingJudgements, detectedJudgementDebuffIDs, the pending-scan pass and its queue buffer, and both cast-site hooks. The scan also registered each ID it discovered into lib.sharedDebuffs so [debuff] fallback matching worked for custom IDs. That mattered when detection went through the tracking store; the read path resolves auras through C_UnitAuras now, which returns a debuff whether or not we have a row for it.
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