From 89fe843194564971874fd2451d8d3804e327f98f Mon Sep 17 00:00:00 2001 From: Brues <5278969+brues-code@users.noreply.github.com> Date: Thu, 10 Sep 2026 14:22:48 -0500 Subject: [PATCH] Document button, set, bg, pethappiness, playercontrolled and the short aliases --- Conditionals.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/Conditionals.md b/Conditionals.md index f8717f4..7c61898 100644 --- a/Conditionals.md +++ b/Conditionals.md @@ -14,6 +14,8 @@ These always evaluate against the player. Cannot be redirected with `@unit`. | Conditional | Description | No | Multi | Example | Addon | |-------------|-------------|:--:|:-----:|---------|-------| +| `bg` | Player is in an active battleground | ✅ | — | `[bg]` `[nobg]` | | +| `button` | Mouse button held (1=Left, 2=Right, 3=Middle, 4/5=extra; bare = any) | ✅ | ✅ | `[button:1]` `[button:1/2]` `[nobutton]` | | | `cdgcd` | Spell/item CD remaining (includes GCD) | ✅ | ✅ | `[cdgcd:Sprint>0]` | | | `channeled` | Player is channeling | ✅ | ✅ | `[channeled]` `[channeled:Arcane_Missiles]` | | | `checkcasting` | True if NOT casting (specific spell) | — | ✅ | `[checkcasting]` `[checkcasting:Frostbolt]` | | @@ -67,12 +69,14 @@ These always evaluate against the player. Cannot be redirected with `@unit`. | `onswingpending` | On-swing spell pending | ✅ | — | `[onswingpending]` | | | `outdoors` | Player is outdoors (open sky / not inside a WMO interior) | ✅ | — | `[outdoors]` `[nooutdoors]` | | | `pet` | Has active pet (with family) | ✅ | ✅ | `[pet]` `[pet:Cat/Wolf]` | | +| `pethappiness` | Hunter pet happiness (`unhappy`/`content`/`happy`, or 1-3) | ✅ | ✅ | `[pethappiness:happy]` `[pethappiness:content/happy]` | | | `queuedspell` | Spell is queued | ✅ | ✅ | `[queuedspell]` `[queuedspell:Fireball]` | | | `reactive` | Reactive ability available (on bar) | ✅ | ✅ | `[reactive:Overpower]` | | | `resting` | In rest area | ✅ | — | `[resting]` | | | `rooted` | Player is rooted | ✅ | — | `[rooted]` `[norooted]` | | | `rtimer` | Alias for rangedtimer | ✅ | ✅ | `[rtimer:<15]` | SP_SwingTimer | | `selfcasting` | Player is casting or channeling | ✅ | ✅ | `[selfcasting]` `[noselfcasting:Hearthstone]` | | +| `set` | Equipped piece count of a named item set (name or ItemSet ID) | ✅ | ✅ | `[set:Judgement_Battlegear>=3]` `[set:Nightslayer]` | | | `slamclip` / `noslamclip` | Slam now will/won't clip auto-attack | ✅ | — | `[noslamclip]` | SP_SwingTimer | | `spellcasttime` | Spell cast time from tooltip (real-time) | ✅ | ✅ | `[spellcasttime:>1.5]` `[spellcasttime:Frostbolt<2]` | | | `standing` / `sitting` | Player is standing / seated (sit, chair, sleep, kneel) | — | — | `[standing]` `[sitting]` | | @@ -137,6 +141,7 @@ These default to checking the current target. Most can be redirected with `@unit | `othertag` | Target is tapped by someone else | ✅ | — | `[othertag]` `[noothertag]` | | | `outrange` | Out of spell range / count out | ✅ | ✅ | `[outrange:Charge]` `[outrange:Charge>0]` | UnitXP_SP3 (count) | | `party` | Unit is in your party | ✅ | ✅ | `[party]` `[party:focus]` | | +| `playercontrolled` | Unit is player-controlled (player, pet, mind-controlled) | ✅ | — | `[playercontrolled]` `[noplayercontrolled]` | | | `poison` | Target has a Poison debuff | ✅ | — | `[poison]` `[@party1,poison]` | | | `power` | Target mana/rage/energy % | — | ✅ | `[power:<30]` | | | `powerlost` | Target power deficit | — | ✅ | `[powerlost:>100]` | | @@ -153,6 +158,25 @@ These default to checking the current target. Most can be redirected with `@unit | `ttk` | Time to kill target (seconds) | ✅ | ✅ | `[ttk:<10]` | TimeToKill | | `type` | Creature type | ✅ | ✅ | `[type:Undead/Beast]` | | +## Short Aliases + +Shorter spellings for the most-used conditionals, to fit more into the 261-character macro limit. An alias behaves exactly like its full form — same arguments, same multi-value logic — and negates the same way (`[nocd:Sprint]` is `[nocooldown:Sprint]`). + +| Alias | Full form | Alias | Full form | +|-------|-----------|-------|-----------| +| `cd` | `cooldown` | `osp` | `onswingpending` | +| `chan` | `channeled` | `queued` | `queuedspell` | +| `chtime` | `channeltime` | `react` | `reactive` | +| `ct` | `casttime` | `scast` | `selfcasting` | +| `dist` | `distance` | `sct` | `spellcasttime` | +| `eq` | `equipped` | `stl` | `stealth` | +| `ihit` | `incominghit` | `swim` | `swimming` | +| `los` | `insight` | `tgt` | `targeting` | +| `melee` | `meleerange` | `ic` | `combat` | +| `mv` | `moving` | `ooc` | `nocombat` | + +`ic` / `ooc` are the one pair that isn't a `no` prefix: `[ic]` is `[combat]` and `[ooc]` is `[nocombat]`, so there is no `noic` or `noooc`. `stimer` and `rtimer` are the same idea for `swingtimer` / `rangedtimer` (listed in the tables above with their addon requirement). + ## Extended Unit Tokens (Nampower v2.41+) With Nampower v2.41+, all `[@unit]` redirects support additional token formats beyond standard tokens: