diff --git a/Conditionals.md b/Conditionals.md index 7c61898..40f9949 100644 --- a/Conditionals.md +++ b/Conditionals.md @@ -85,11 +85,14 @@ These always evaluate against the player. Cannot be redirected with `@unit`. | `stimer` | Alias for swingtimer | ✅ | ✅ | `[stimer:<15]` | SP_SwingTimer | | `swimming` | Swimming (Druid only) | ✅ | — | `[swimming]` | | | `swingtimer` | Swing timer % elapsed | ✅ | ✅ | `[swingtimer:>80]` | SP_SwingTimer | +| `totem` | Player's own totem is out, by element or name (with time left) | ✅ | ✅ | `[totem:fire]` `[totem:Searing_Totem<5]` `[nototem:water]` | | | `usable` | Spell/item is usable now | ✅ | ✅ | `[usable:Overpower]` | | | `zone` | Current zone name | ✅ | ✅ | `[zone:Ironforge/Stormwind]` | | > **Note on `myspellhaste`:** the value is a percentage of cast-speed change, not a multiplier — `0` unhasted, positive when casts are sped up (Berserking, Mind Quickening Gem), negative while slowed (Curse of Tongues). A signed amount can't be written, so test for being slowed at all with `[myspellhaste:<0]` rather than a specific negative threshold. +> **Note on `totem`:** an empty slot counts as having no time left, the same way a missing buff does for `[mybuff:X<5]`. So `[totem:Searing_Totem<5]` is true both while the totem is expiring *and* while it is absent, which makes `/cast [totem:Searing_Totem<5] Searing Totem` a complete recast macro on its own — no `[nototem]` needed. Bare `[totem]` takes the action as its argument (again like `[mybuff]`), so `/cast [nototem] Searing Totem` is the drop-if-missing form. A totem is either up or it isn't, so stack comparisons read `1` when out: `[totem:fire#1]`. Only your own totems are tracked — another shaman's are invisible — and a totem that is *killed* can read as still up for up to a quarter second, where one that expires on its timer is exact. See [[Reference Tables]] for the slots. + ## Target Conditionals (default @target) These default to checking the current target. Most can be redirected with `@unit` (e.g., `[@focus,hp:<30]`, `[@mouseover,exists]`). diff --git a/Reference-Tables.md b/Reference-Tables.md index 53f0eb2..05bcdc2 100644 --- a/Reference-Tables.md +++ b/Reference-Tables.md @@ -59,6 +59,19 @@ For use with `[stat]` conditional. | Defense | `armor`, `defense` | | Resistances | `arcane_res`, `fire_res`, `frost_res`, `nature_res`, `shadow_res` | +## Totem Slots + +For use with `[totem]`, `[nototem]`. Name a slot by element or by index, or name the totem itself (`[totem:Searing_Totem]`). + +| Index | Element | Examples | +|-------|---------|----------| +| `1` | `fire` | Searing, Magma, Fire Nova, Flametongue, Frost Resistance | +| `2` | `earth` | Stoneskin, Strength of Earth, Stoneclaw, Earthbind, Tremor | +| `3` | `water` | Healing Stream, Mana Spring, Poison Cleansing, Disease Cleansing | +| `4` | `air` | Windfury, Grace of Air, Grounding, Nature Resistance, Sentry | + +Slots are read from the summon spell itself (`SUMMON_TOTEM_SLOT1`–`4`), never from a spell list, so server-custom totems classify themselves. + ## Aura Capacity Player: 32 buffs, 16 debuffs. NPCs: 16 debuff slots + 32 overflow = 48 total.