Professional Documents
Culture Documents
There are a number of tricks and shortcuts you can use in your macros to make
them go a bit further within the 255 character limit. For example, /cast and /use
function exactly the same way. So in our initial example, you could instead write
it as:#showtooltip
/use Flash Healto shorten it by 1 character.
Multiple modifiers can be used in the same macro command. For example, the
following macro combines all useful teleport spells for a mage, including
hearthstones, and blink, into a single line:#showtooltip
/use
[mod:ctrlaltshift]Teleport:Shattrath;[mod:ctrlalt]Teleport:
Dalaran;[mod:ctrlshift]Teleport:Stormshield;[mod:altshift]T
eleport:Vale of Eternal
Blossoms;[mod:ctrl]Teleport:Stormwind;[mod:alt]Garrison
Hearthstone;[mod]Hearthstone;Blink
Certain abilities can be macroed together to be used at the same time - provided
they don't incur a Global Cooldown. Common examples are Trinkets, Potions,
DPS Cooldowns, Interrupts, Tank's Active Mitigation, among others.
Example:#showtooltip Trueshot
/use Potion of Deadly Grace
/use Blood Fury
/use 13
/use 14
/use TrueshotIn this case, the idea is to pop all your DPS cooldowns at once,
ensuring maximum benefit (particularly during Bloodlust, or a phase where a
boss takes increased damage). Another possible usage would be to add a strong
DPS ability, like Marked Shot, ensuring that your DPS cooldowns are used as
many times as possible to maximum effect. Abilities that can be used in this way
are different for every class/spec, so experiment! If you report off-GCD abilities in
this thread, I will compile a list in one of the later posts.
PvP Targeting can be tricky - you want to be able to easily TAB target, but with
pets, guardians, and totems around it can be difficult to select the target you
actually want to attack. This macro will swap your TAB key between "Target
Enemy" and "Target Enemy Player":/run local
T,t,P,m="TargetNearestEnemy","TAB","Player"," is now set to
"if GetBindingAction(t)==T then
SetBinding(t,T..P)print(t..m..T..P)else
SetBinding(t,T)print(t..m..T)end