Wow Use Trinket Slot Macro

Macros
General guides

Macros Beginners Guide
Making a macro
Macro conditionals
Macro commands
Category:Macros

Useful macros by class


To make maximum use of this macro you will have to make sure that your 'use' trinket is in the same item slot. This is because all items on your character has a slot number. For example, your Weapons, offhand and mainhand, have the slot numbers of 17 and 16, and your relic, wand, or ranged weapon slot number is 18. For example, if you have an Ancient Petrified Seed equipped in your bottom trinket slot, you could macro it in with Bestial Wrath, like this: /use 14 /cast Aspect of the Wild /cast Bestial Wrath. Now, let’s say your PvP gear setup uses a Prideful Gladiator’s Badge of Conquest in the bottom trinket slot instead. No problem, you don’t have. It is possible to use items equiped by /use number. The slot is numbered ingame and trinkets are the most commonly used this way such as /use 13 or /use 14 for top trinket and bottom trinket respectively. /use can also be used with a coresponding item in your bag by slot. Each bag has a numerical value from 0 to 4, starting with the backpack.

  • 1Macro Formatting Guidelines
  • 2Not Type Specific
  • 3Smart Mount Macros
  • 7Ground and Flying without Cold Weather Flying
  • 8Ground and Flying with Cold Weather Flying
  • 9Ground Only or Not Type Specific

Macro Formatting Guidelines

Note: With the release of 6.0.2, many spells have been renamed, and much of the scripted command functionality has been modified. In an effort to keep Wowpedia posts relevant, please re-validate and re-post macros that work in the current version.

Re-Creating Old Macros

When re-creating a macro in Useful macros please

  • follow the example format posted below (to get the frame around your macro, add a space before you start it)
  • describe what it does
  • note the version of WoW in which you tested it
  • remove it from the Old Macros page

Example Macro

  • Use: This yells, 'Hooray, I made a macro!'
  • Works in 6.x

    Not Type Specific

Favorite Flying/Swimming and Vendor/Broom

  • Choose from your favorite mounts in your collection
  • Always mounts the proper category of mount
  • Right Click to summon vendor mount
  • Dynamic Icon based on if you can mount
  • Validated: 9.0.2

Completely Random Mount

  • Validated: 4.0.1a, tested working 7.2
  • Summons a completely random mount of the ones you have learned.
  • Note: This may try to summon flying or aquatic mounts where they are not allowed, which will produce an error message.

    Smart Mount Macros

    Random Smart Mount with Sea Horse in Vashj'ir (improved)

  • Validated: 4.0.6
  • Replace g,g,g with your preferred ground mount slot numbers, f,f,f with flyers, and s,s,s with water mounts. If only one mount is desired in any time, just place one number in the {} with no commas. The number of mounts you can list is limited by the 255 character macro limit. The macro has been adjusted to function throughout Vashj'ir
  • Note: This macro will dismount you if you are already mounted/flying, so be mindful.

Flying mount, ground mount and Sea Horse in Vashj'ir (Blizzard macro modifier version)

  • Validated: 4.2.2
  • Replace mount names with your preferred mounts
  • Using a modifier (in this example: shift) will force the flying mount, for when you are swimming at the water's surface.
  • Note: This macro will dismount you even while flying, be mindful!

Flying/Ground/Sea Horse Macro with more flexibility and one-press dismount

  • Validated 4.3.2
  • Replace mount names with your preferred mounts
  • Works similar to preceding macro, with the following differences
    • Flying mount has priority while swimming (i.e. clicking macro will default to flying mount, use shift to select sea horse)
    • Allows for selecting ground mount in flyable area by pressing any modifier key (shift/ctrl/alt) and clicking button
    • clicking button while mounted will dismount you - regardless of mount (i.e. if on ground mount in flyable area, simply pressing the button will dismount you, instead of dismounting and using flying mount)

One Flying or Land Mount

  • Validated: 4.0.1a
  • This will use mount a if it is possible to fly, and mount x if it is not. The tooltip will let you know if the zone is flyable or not. If you were mounted already, you will dismount.
  • Note: This macro will dismount you even while flying, be mindful!

One Flying or Land Mount via Modifier

  • Validated 4.0.3

This is based off of the macro above, but with a conditional modifier added.You don't get forced onto your flying mount, or your ground mount unless the zone prevents you from doing so.

A second version of that same macro, but on one line:

You don't need the '/dismount [mounted]' line, unless you want to start mounting the other mount immediatly.

Random Flying or Land Mount

  • Validated: 4.0.1a
  • This will use a random one of mount a, mount b or mount c if it is possible to fly, and a random one of mount x, mount y or mount z if it is not. If you were mounted already, you will dismount for 1.5 seconds as the random mount is cast.
  • Note: This macro will dismount you even while flying, be mindful!

Right Click forces ground mount or dismounting while in flight

  • Validated: ??
  • Right Click forces ground mount or dismounting while in flight.

Ground and Flying mount macro that will not dismount you when flying unless you hold alt

Replace mount a and mount b with the names of your preferred flying and ground mounts. Only dismounts when you are not flying or if you hold alt while flying.

And you can take it further too, by adding a safety spell to the macro. So now holding ctrl-alt while activating the macro will dismount you even in air and then cast your safety spell so you don't go squish. Priest's [Levitate], Mage's [Slow Fall] or an engineer's parachute can be added. Add this line to the macro:

  • Validated: ??

Multi-purpose Mounts

  • Validated: 4.0.1a
  • This enables you to summon a mount of choice while only taking up one bar space or keybind. Particularly useful when you want several mounts with different purposes to be easily accesible, but don't want to use them all the time, such as a vendor mount, aquatic mount or passenger mount.
  • Press normally to summon mount a, hold Shift to summon mount b, Alt to summon mount c or Ctrl to summon mount d. If you were mounted already, you will dismount.

Mount Outside

  • Validated: 3.1
  • This will attempt to mount if you are outside and not mounted. There will be no reaction if you are in an area that does not permit mounts. It will produce an error if you are in combat.


Random mount

  • Validated: 3.1
  • This will randomly use one of the mounts listed in the macro. If you were mounted already, you will dismount for 3 seconds as the random mount is channeled.
  • Note: This macro will dismount you even while flying, be mindful!

    Need testing post-4.0

Random Smart Mount with Sea Horse in Vashj'ir

Replace g,g,g with your preferred ground mount slot numbers, f,f,f with flyers, and s,s,s with water mounts. If only one mount desired in any type, place one number in the {} with no commas. The number of mounts you can list is limited by the 255 character macro limit. The macro does not currently work everywhere in Vashj'ir because it is technically three zones: Kelp'thar Forest, Shimmering Expanse, and Abyssal Depths.

Fly where possible, ride, dismount if mounted

This will work in any area. Replace the number of the mount with the desired mount, 1 is the first mount in your mounts list.


Ground and Flying without Cold Weather Flying

Fly where possible without Cold Weather Flying

If, you have not yet mastered [Cold Weather Flying], this macro will only summon your flying mount in Outland. My flying mount is in slot 2 on the Mounts pane, while my two epic ground mounts are in slots 1 and 4. Replace these numbers as appropriate. (I have not found a function to show the continent you are currently in, only what continent the map shows. If you have just switched continent and this macro doesn't work as it should, a quick double-tap on the M-button should update your map, and fix it.)

  • Validated: 3.2.0a
  • Credit: Eldhannas of Wildhammer(EU)

Ground and Flying with Cold Weather Flying


Mount Macro for the right place and time

  • Validated: 3.2
  • Focus: Universal
  • This just checks to see whether the area you're in is flyable or not, works for Dalaran depending if you are inside the city, then your ground mount will be selected or if you're on Krasus' landing then your flying mount since IsFlyableArea() works for this. IsFlyableArea() also works Wintergrasp, but when the battle for wintergrasp starts then it will check to see if you're in Wintergrasp and if the timer is 0, it will then select your ground mount if so, but if you're in Wintergrasp and the timer is not 0 then you will use your flying mount. Also added IsSwimming() if you decide to mount when in water, although if you have a underwater mount then you can change the macro to the following to use your underwater mount.
  • Replace the values of m=(1) to the slot of your ground mount and m=(3) to the slot of your flying Mount and if you have a swimming mount, m=(2) to the slot of your Swimming mount
Wow trinket slot macro
  • Note: this macro will dismount you in mid air. Use it wisely.
  • By Ryarc of Sunstrider
Macro

Random-from-list Mount and Dismount 3.2

  • Validated: 3.2
  • Focus: Universal
  • Credit: Smiteness of Barthilas
  • Use: This will fly if possible, and mount a grounded mount if possible, and if mounted OR in a vehicle, will get off. Works perfectly in Dalaran, Wintergrasp, Outland and Old World. Aka everywhere.
  • Replace: Simply add or remove mounts from the first line for flying mounts, and add or remove mounts from the second line for ground mounts.
  • Note: This works on ANY character, WITH or WITHOUT Cold Weather flying. Also works with lazy people who don't wish to count their mount's specific placing and just put the name down. This may produce an error on use, but you will mount anyway so I doubt you will care.

Random Smart Mount

  • Validated: 3.3.3a
  • Focus: Universal
  • Credit: Xaeros of Shadowmoon, Faceeater of Nozdormu
  • Use: When you are mounted the macro will dismount you (unless you are flying), when you are in any non-flyable zone (Kalimdor/Eastern Kingdoms/Dalaran/Wintergrasp) it will use your ground mount. When you can fly (anywhere else + Krasus' Landing in Dalaran) it will put you on a flying mount.
  • Replace G with a ground mount, and F with a flying mount. To find your mount number, open your mounts tab and count from left-to-right, top-to-bottom. (eg: The top-left mount on the first page is 1, the bottom-right mount on the first page is 12)
  • This macro produces no errors (for the most part, you can mount up manually in the room between Krasus' Landing and Dalaran, but not with this macro. This happens because you are being recognized as being in Krasus' Landing so the macro attempts to mount you on your flying mount, but the room itself is still in-doors.) and will not start re-casting a mount if you are already mounted.

Random Smart Mount with Flying Dismount

  • Validated: 3.2.2.10505
  • Focus: Universal
  • Credit: Magumbadin of Sen'Jin, Xaeros of Shadowmoon, Faceeater of Nozdormu
  • Use: When you are mounted the macro will dismount you (even if you are flying - only difference from the above 'Random Smart Mount'), when you are in any non-flyable zone (Kalimdor/Eastern Kingdoms/Dalaran/Wintergrasp) it will use your ground mount. When you can fly (anywhere else + Krasus' Landing in Dalaran) it will put you on a flying mount.
  • Replace G with a ground mount, and F with a flying mount. To find your mount number, open your mounts tab and count from left-to-right, top-to-bottom. (eg: The top-left mount on the first page is 1, the bottom-right mount on the first page is 12)
  • This macro produces no errors (for the most part, you can mount up manually in the room between Krasus' Landing and Dalaran, but not with this macro. This happens because you are being recognized as being in Krasus' Landing so the macro attempts to mount you on your flying mount, but the room itself is still in-doors.) and will not start re-casting a mount if you are already mounted.

Random Smart Mount 3.1 (Compact)

  • Validated: 3.1.3
  • Focus: Universal
  • Credit: Blindsight of Spirestone
  • Use: When you are mounted the macro will dismount you (including when you are flying), when you are in any non-flyable zone (Kalimdor/Eastern Kingdoms/Dalaran/Wintergrasp) it will use your ground mount. When you can fly (anywhere else + Krasus' Landing in Dalaran) it will put you on a flying mount.
  • Replace a,b,c with a list of ground mounts, and x,y,z with a list of flying mounts. To find your mount number, open your mounts tab and count from left-to-right, top-to-bottom. (eg: The top-left mount on the first page is 1, the bottom-right mount on the first page is 12. For each page add +12.)
  • This macro removes as many unnecessary characters as possible to allow for a longer list of mounts. Still be mindful of the 255 character limit.
  • This macro will summon a land mount in the Dalaran Sewer pipe and the top of the Violet Tower.
  • Note: This macro will dismount you even while flying, be mindful!


Random Smart Mount 3.1 (Alternate Compact)

  • Validated: 3.1.3
  • Focus: Universal
  • Credit: Faceeater of Nozdormu
  • Use: same as Blindsight's macro above.
  • Replace a,b,c with a list of ground mounts, and x,y,z with a list of flying mounts. (see above)
  • This macro offers the exact same functionality as the one from Blindsight.


Supercompact Smart Mount 3.1 (Works with large numbers of mounts)

  • Validated: 3.1
  • Focus: Universal
  • Due to the checks for Dalaran and Wintergrasp there is very little room left in other macros for mounts (because the game thinks Dalaran/Wintergrasp are flyable areas-some consider this a defect). This version uses a different technique to circumvent the lengthy wintergrasp/dalaran check: it attempts to mount twice - normally the second attempt will fail because you are already mounting. However in the case of wintergrasp or dalaran or other non-flyable areas the original mount attempt will have failed so the second mount command will succeed.
  • Replace a,b,c with a list of your flying mounts (e.g. 4,6,9,12,15), n,o,p with your ground mounts.
  • This macro will cause a 'You cant use that here' or 'Action already in progress' error. If you prefer not to see errors then you should choose a different mount macro but you may be limited in the number of mounts you can specify.
  • Note: This macro will dismount you even while flying, be mindful!

Supercompact Smart Mount 3.3

  • Validated: 3.2.2a and 3.3.0
  • Updated to fix will no longer cast second mount instead of dismount
  • Focus: Universal
  • They seem to have fixed the IsFlyableArea() script command, so this allows you to use a random mount. The second macro dismounts you, and dismounts you in-flight if you hold alt to click it.
  • Replace a,b,c and d,e,f with the list of your flying mounts and ground mounts, respectfully.
    • The list consists of the number of you mount as it appears in your pet tab on you character pane. (The first mount is 1, the last mount on the first page is 12, the first mount on the 2nd page is 13, and so on.)
    • You can have more or less than 3 in each list, just have a comma between each mount number.
  • Note: This macro is very similar to the one from above, it just allows you to use alt to dismount in air and does not show any errors.
    • Does work during in Wintergrasp during the battle.

Random Smart Mount 4.0 (Alliance version, english client)

  • Validated: 4.0.1
  • Focus: Universal
  • Credit: Puriella of Gilneas
  • There is still no easy way to determine if a mount is capable of flying
  • Use: When you are in any non-flyable zone it will use one of your ground mounts. When you can fly it will put you on a flying mount.
  • Replace G1,G2 with a list of ground mounts (watch for 255 characters!). To find your mount number, open your mounts tab and count from left-to-right, top-to-bottom. (eg: The top-left mount on the first page is 1, the bottom-right mount on the first page is 12. For each page add +12.)
  • It will look for certain parts in the mount name (p.e. 'rake' finds 'Red Proto Drake' as well as 'Albino Drake', 'ryp' will find 'Ebon Gryphon' as well as 'Cenarion War Hippogryph' or 'Argent Hippogryph', 'rpet' will find all sorts of 'Carpet', and 'qui' all 'Vanquishers'. You can localize your macro or adapt it to Horde (p.e. you could change 'ryp' to 'd R' for Wind Rider). But those parts should be unique to flying mounts, or there is a chance you may get a ground mount (p.e. 'Swift' will find 'Swift Green Gryphon' as well as 'Swift Frostsaber'). And it is case-sensitive.
  • This macro removes as many unnecessary characters as possible to allow for a longer list of mounts. Still be mindful of the 255 character limit.

Mount Macro Addon

There is an addon that creates an maintains a mount macro. It uses a LUA function call to an addon that keeps track of your location. The macro shows the icon of your favorite mount for flying or riding, depending on what it will operate. The macro will also exit from vehicles. This addon works everywhere as of patch 3.2.0. The addon is Mounty.Draewind (talk) 17:26, 14 August 2009 (UTC)


Mount Macro for the right place and time

Wow Macro Use Trinket Slot 1

  • Validated: 3.2
  • Focus: Universal
  • This just checks to see whether the area yur in is flyable or not, works for Dalaran depending if you inside the city, then your ground mount will be selected or if your on Krasus' landing then your flying mount since IsFlyableArea() works for this. IsFlyableArea() also works Wintergrasp, but when the battle for wintergrasp starts then it will check to see if your in wintergrasp and if the timer is 0, it will then slect your ground mount if so, but if your in wintergrasp and the timer is not 0 then you will use your flying mount. Also added IsSwimming() if you decide to mount when in water, although if you have a underwater mount then you can change the macro tot he following to use your underwater mount.
  • Replace the values of m=(1) to the slot of your ground mount and m=(3) to the slot of your flying Mount and if you have a swimming mount, m=(2) to the slot of your Swimming mount
  • Note: this macro will dismount you in mid air. Use it wisely.

by Ryarc of Sunstrider

Left/Right Click for Random Flying/Ground Mount

  • Credit: Xaeros of Shadowmoon
  • Use: Left-click to summon random flying mount, right-click to summon random ground mount. Replace the first set of numbers with your flying mounts, and the second set with your ground mounts. To find your mount number: open your mounts tab and count from top-left to bottom-right, starting on the first page. (ex: The first mount on page 1 is '1', the first mount on page 2 is '13')
  • Works in 3.3.3a


Left/Right Click for Random Flying/Ground Mount with swimming support

similar to previous one

  • Credit: Xaeros of Shadowmoon and my humble self nkv1
  • Use: Left-click to summon random flying mount, right-click to summon random ground mount. Replace the first set of numbers with your flying mounts, and the second set with your ground mounts, while third set of numbers are swimming mounts. To find your mount number: open your mounts tab and count from top-left to bottom-right, starting on the first page. (ex: The first mount on page 1 is '1', the first mount on page 2 is '13')
  • Works in 4.0.3

Ground Only or Not Type Specific


One-button flyer or ground mount with emote

  • Validated: 3.1.1
  • Replace Albino Drake, talbuk etc. with flyers and ground mounts of your choice.
  • This mounts you on your flying mount anywhere you can fly, if you are not already mounted. In Old School WoW and in no-fly zones (Dalaran, Wintergrasp etc.Tested in 3.1.1a, you still need a conditional for Dalaran, etc.) and Northrend if you don't have the skill) it summons your ground mount. Holding down alt will summon a 'showing off' ground mount. Pressing the macro when you are already mounted will do the 'mountspecial' emote (rearing, growling, stretching).



Mount macros written before Patch 3.1 that have not been re-validated in newer patches can be found on the Old Mount Macros page.

Retrieved from 'https://wow.gamepedia.com/Mount_macros?oldid=5926755'

Warlocks are a class of far too many key bindings and niche spells for niche situations. Having a solid knowledge of macros will help you intelligently combine multiple actions to a single key, increase your responsiveness to emergent situations, and, to an extent, automate tedious tasks.

My goal with this document is not only to list out what I have found to be the most commonly employed warlock macros, but to give you enough information so that you can begin to modify and even write your own macros going forward. For this reason, I strongly encourage you not to simply copy and paste these macros, and instead hope that you try to understand what the syntax means.

This document was originally written for the Classic Warlock Discord. Credits to @Dive#5157, @Anilusion#5842

Macro Basics

The macro editing window can be brought up by typing /m in the chat window. There you can write, edit, and store macros either for your entire account (if the macro is useful for multiple characters) or for just the current character (if you have a class-specific macro, for example).

Create a new macro by clicking “New”. Then you will have to give the macro a name and an icon. Personally, I don’t like text appearing over my skill icons so I tend to name my macros “ “ which is just a press of the spacebar. For the icon I typically suggest using the first icon, the red “?”. This icon is special, because it will adapt to the functionality of the macro. It will automatically attempt to find the appropriate icon based on the action performed by the macro.

First Macros

After you’ve chosen a name and icon for the macro, you must write the functionality of the macro – what will the macro do? In the big box at the bottom of the macro editor window (where it says “Enter Macro Commands”) you can type something as simple as:

/s Hi

Then, if you drag the icon for this macro to an action bar, and press/click it, your character should say “Hi”.

Now try something more useful. Create a macro that has the following command:

/cast Demon Armor

Now you’ve written a macro that will cast the warlock spell Demon Armor for you! You might not think this is very useful, since you could have just had the spell on your action bar in place of the macro. You’d be correct, but this macro’s functionality is more subtle and useful than you think. This macro will automatically use the highest rank of the spell! As you level, you will never need to replace Demon Armor with the new rank; just use this macro and you will automatically have the highest-rank spell available.

A More Useful Macro

Macros are only useful if they save you time, key presses, or action bar slots. Getting the most out of a macro means having a basic knowledge of what a macro can do. Here’s an example:

/cast [@player] Devour Magic

This macro will use the Felhunter’s Devour Magic spell (assuming he is the active summoned demon) on you, even if you have an enemy targeted.

Notice the “@player” inside the square brackets. This is called a conditional and it modifies the nature of the action being performed.

Actions

Most macros are meant to use and/or equip items, cast spells, announce your actions to appropriate chat channels. Here are some of the basic actions a macro can perform:

/cast Cast a spell. Probably going to be your most-used type of macro command.

/stopcasting Interrupts a spellcast. Useful in front of /cast or /use commands, to interrupt your cast and complete your next action faster.

/castsequence Cast several spells in a pre-determined order. You can have the sequence reset upon special circumstances.

/use Use an item, such as health/soul/spellstones, potions, food/water, trinkets, whatever.

/equip Equip an item from your bag. Will induce a 30-second cooldown on items with a Use effect.

/say Self-explanatory

/party Self-explanatory

/raid Self-explanatory

/r Responds to a whisper. Can make a macro that says “Leave me alone I’m watching Asmongold!”

/dismount Takes you off your mount. This is handy to put in front of a /cast macro for your opener spells.

/userandom Uses a random item from a list you specify. The only use I can think for this is to summon a random non-combat pet 😛

/petaggressive Set your demon to aggressive.

/petattack Command your demon to attack.

/petautocasttoggle One button to turn on/off autocast for a specific demon ability.

/petautocaston Turns autocast on for a specific demon ability.

/petautocastoff Turns autocast off for a specific demon ability.

/petfollow Recalls your pet to follow you.

/petpassive Set your pet to aggressive.

/petstay Command your pet to stay in place.

/targetlasttarget Targets your previous target, without having to find their name/unitframe/nameplate/character.

Conditionals

Here is the focus of the guide portion of this document. If you can understand this, you’ll be able to write useful macros for any situation, on any class (though of course you only play Warlock, right?).

You can chain these together to make very nice macros. Mix and match them to suit your needs.

Here are some of the most important conditionals, with a brief description of what they do:

Targeting

Target tags can be chained together as well. For example, @targettargetpettarget will cast at your target’s target’s pet’s target.

  • @player Casts the spell towards the player (you) regardless of what you have targeted. Good example being the previously shown Self-Devour macro.
  • @pet Casts the spell towards your pet regardless of what you have targeted.
  • @targetpet Casts the spell towards your target’s pet regardless of what you have targeted.
  • @mouseover Casts the spell towards the unit your cursor is floating over. This is an extremely important modifier for pvp, for two reasons: first, it eliminates the time/hassle of clicking or tab targeting. Second, it doesn’t show which target you are casting your spell towards. Make sure you have important curses, fear, spell lock, etc, on mouseover.
  • @cursor Similar to mouseover, but this is for “aimed” abilities with reticules like Rain of Fire, Inferno, and Iron Grenade. With this modifier, you won’t have to activate the ability and then click the location – the spell will automatically cast at the location of your mouse pointer.
  • @targettarget Casts at your target’s target. This is pretty useful in PVP; for example, you can fear the target of your healer.

Key Modifiers

These conditionals completely change the function of the macro when a modifier-key is held before pressing the key of the original macro. For example, you might bind the /s Hi macro to the button F. You can add another line to the macro /s [mod:shift] Bye so that when you press Shift + F you say Bye instead of Hi.

IMPORTANT: The modified key combination must be available (not taken by any other action) in order for these macros to work. For example, you would not be able to put a macro on the 1 slot, and then use a shift modifier (resulting in the key press Shift + 1) because Shift + 1 is already bound to Action Page 1 by Blizzard Default. You must unbind the modified key combination to use these.

These are self-explanatory I think, so I won’t note them individually.

  • mod:shift
  • mod:alt
  • mod:ctrl

Demons

These conditionals change the function of the macro depending on which demon you currently have summoned. These are also self-explanatory.

  • pet:imp
  • pet:voidwalker
  • pet:succubus
  • pet:felhunter

Misc

These don’t fit nicely into the other sections but they are important in my opinion, so I’ve just thrown them in a pile here. You might find several useful. Several of these really benefit from using the ‘no’ prefix (example: noparty, noharm, noexists)

  • worn:item_name_or_slot_number Changes the behavior of the macro if a specific item is equipped (“worn”). This may be useful for Spellstone macros, or engineering trinket macros.
  • btn:1 or btn:2 Allows you to make a macro that performs differently depending on left-click (1) or right-click (2). Normally you don’t want to click anything, but for some things it can be okay.
  • group:party_or_raid Changes the behavior of the macro depending on whether you are in a party or a raid group.
  • party Changes the behavior of the macro if your target is a party member
  • raid Changes the behavior of the macro if your target is a raid member
  • dead Changes the behavior of the macro if your target is dead
  • exists Changes the behavior of the macro if your target exists. Sounds weird, but this is most useful for things that you don’t want to cast unless you have something targetted.
  • harm Changes the behavior of the macro if your target is an enemy (someone/something you can attack and that can attack you)
  • help Changes the behavior of the macro if your target is friendly (unable to attack you or be attacked by you)
  • channeling Changes the behavior of the macro if you are currently channeling a spell (such as Drain Soul, Rain of Fire, etc). Works will with the ‘no’ prefix (nochanneling)

For a full list of macro conditionals, see this article (note that some of these may not work in Classic, as they are written with BfA context): https://wow.gamepedia.com/Macro_conditionals

Other Things

  • #showtooltip spell_name This should go at the start of most macros. Adds a tooltip and icon to macros (assuming you use the red ? icon). If you do not put the spell_name, the macro will attempt to figure out what the correct spell should be automatically.
  • /stopmacro Stops the execution of the macro past this line. A slightly more advanced command, this can be combined with conditions (such as [pet:imp]) to make more complex macro functionality.
  • /script UIErrorsFrame:Hide() Disables the red error messages “Out of range”, “Not in line of sight”, etc. Reduces some visual clutter for macros you are going to spam.

Concrete Examples and Actually Useful Classic Warlock Macros

Leveling Macros

Max Rank Spells

/cast spell_name

  • Casts the highest rank of spell_name. Great while leveling, so you never forget to put the new rank of the spell on your bars after training new spells.

Spammable Wand

/castsequence !Shoot,!Shoot

  • Starts your Shoot wand ability, and won’t cancel the wanding if you press again. Helps a lot if you like to spam your keys. Note: this will occasionally misbehave. No idea why.

Drain Soul / Delete Shards v1 (easily modifiable)

#showtooltip Drain Soul(Rank 1)

/cast Drain Soul(Rank 1)

/run local bN = GetBagName(4) if bN”Small Soul Pouch” or bN”Soul Pouch” or bN”Box of Souls” then local nS=GetContainerNumSlots(4) PickupContainerItem(4,nS) DeleteCursorItem() end

  • The classic “Drain Soul” macro. Casts Rank 1 Drain Soul and deletes a Soul Shard from the last slot of your shard bag, as long as the shard bag is in the left-most slot (furthest from the Backpack). This macro does not recall the pet, since Improved Drain Soul procs from pet killing blows in Classic (on beta, at least). Does not work with the high-level shard bags, to save characters in the macro – but that shouldn’t be an issue as long as you aren’t trying to get Improved Drain Soul buff at level 60! 😛 Note: this version is easily modifiable to include non soulbags, simply replace the bag names with the bag you will be using for shards.

Repair only main hand weapon or wand

/click MerchantRepairItemButton

/click CharacterMainHandSlot or /click CharacterRangedSlot

  • When talking to a repair NPC, repairs only your mainhand or wand slot (with one button).

Drain Soul / Delete Shards v2 (smarter)

/use [nochanneling:drain soul]Drain Soul(Rank 1)

/run for i=1,4 do n=GetBagName(i)if n then if n:find(‘[Sl][oca][ulk]’) then if GetContainerNumFreeSlots(i)0 then PickupContainerItem(i,GetContainerNumSlots(i))DeleteCursorItem()break end end end end

  • The same as the previous, but you don’t have to have a shard bag in the left-most slot. This will find your shard bag for you! Again, does nothing for non-soul bags.

1-button Grinding

/castsequence reset=target Immolate, Curse of Agony, Corruption, Shoot

  • Converts your entire grinding rotation into one button. Modify the spells as it suits you. Can make long grinding sessions a bit similar to playing a retribution paladin. The sequence of spells will reset when you change targets.

Drain Life without canceling itself

#showtooltip Drain Life

/cast [nochanneling:Drain Life] Drain Life

  • Allows you to spam Drain Life without interrupting ticks, which reduces the mana efficiency of your spell. Also works for Drain Mana, Drain Soul, Rain of Fire, Hellfire, etc.

Unstuck + Hearthstone Warning

/run a,b=GetItemCooldown(6948)if a+b<GetTime()and GetItemCount(6948)>0 then message(“124cffff0000WARNING: USING HEARTHSTONE!124r”)PlaySoundFile(“SoundcreatureVoljinVoljinAggro01.ogg”)else PlaySound(8585)end

/click HelpFrameCharacterStuckStuck

  • Uses your “unstuck”, and makes a popup warning if you are about to use your Hearthstone. Useful for death skips! If you don’t want the popup, you can have a chat message by changing message to print.

XP bar text

/console xpBarText 1

  • Enables displaying the numeric value of your XP Bar progress. May need to mouse-over your bar to get it to display the first time.

Stones, Buffs, and Other Party-Support Macros

Soulstone clicking

/cast [button:1] Create Soulstone (Major)

/use [nomod,button:2] Major Soulstone; [mod:shift, @player, button:2] Major Soulstone

  • Creates a Major Soulstone on left-click, applies/uses the Soulstone on right-click, and soulstones yourself on shift-right-click. Modify this to suit you.

Self- and Target- Buffing

/cast [mod:shift, @player][] Detect Greater Invisibility

  • Casts Detect Greater Invisibility (you can replace this with Underwater Breathing) on your target, unless you press Shift, in which case it will buff yourself instead.

Wow Macro Use Trinket Slot 2

Summon Announcer (raid, party)

#showtooltip

/cast Ritual of Summoning

/run local msg=strjoin(“”,”Summoning “,UnitName(“target”),” to “,GetMinimapZoneText(),”, please assist.”) SendChatMessage(msg,(UnitInRaid(“player”) and “RAID” or “PARTY”))

  • Summons your target and announces in raid or party chat (depending on which group type you are in) “Summoning (target) to (zone), please assist.” Feel free to modify the message as you like.

Summon Announcer (say, whisper)

#showtooltip

/cast Ritual of Summoning

/run t=UnitName(“target”) msg=strjoin(” “,”Summoning you to”,GetMinimapZoneText()) SendChatMessage(msg,”WHISPER”,nil,t)

  • Summons your target and announces it in /say and whispers the target “Summoning you to (zone), please assist.” Feel free to modify the message as you like.

Curse of Recklessness Rank Control

/cast [group:raid] Curse of Recklessness; Curse of Recklessness(Rank 1)

  • Casts maximum-rank Curse of Recklessness if you’re in a raid, Rank 1 Curse of Recklessness if you are not in a raid.

Minimap Tracking Cycler

/castsequence Sense Demons, Find Minerals, Find Herbs

  • Changes the currently-tracked objects on your minimap from Demons, to Ore, to Herbs, and back again

Unequip Everything

/script local t={1,3,5,6,7,8,9,10,16,17,18}; for k,v in pairs(t) do PickupInventoryItem(v); PutItemInBackpack(); end

  • Removes all your gear. Great for deathskips!

PvP, Items, and Crowd-Control Macros

Use ALL the heals

/use Major Healthstone

/use Greater Healthstone

/use Healthstone

/use Major Healing Potion

/use Greater Healing Potion

/use Healing Potion

Macro

/use Furbolg Medicine Pouch

….

  • Uses as many healing items as possible, using the largest heal from each category first. Since healthstone does not share a cooldown with potions (and there are other items with their own cooldowns), this macro can look like a Lay On Hands. It’s up to you to decide which items you toss into this macro.

Mouseover spells

/cast [@mouseover,exists] spell_name

  • Casts spell_name at your current mouseover target. Does nothing if your mouse is not hovering over a target. Great candidates for this macro would be: Fear, Death Coil, Curse of Tongues, Seduction, Spell Lock, Devour Magic. You may want to add harm to the list of conditions.

Mouseover/target cast toggle

Use

/cast [mod:shift, @mouseover][] spell_name

  • Casts spell_name at your current mouseover target if you are holding shift, otherwise casts it at your target. Great candidates for this macro would be: Fear, Death Coil, Curse of Tongues, Seduction, Spell Lock, Devour Magic. You may want to add harm to the list of conditions.

Infernal on cursor

/cast [@cursor] Inferno

  • Summons an Infernal at the location of your mouse, without having to click the location.

Rank 1 Rain of Fire on cursor

/cast [@cursor] Rain of Fire(Rank 1)

  • Casts Rank 1 Rain of Fire at the location. Great for unstealthing rogues/druids, and interrupting the flag in AB/AV.

Iron Grenade on cursor, with interrupt

/use [@cursor] Iron Grenade

/stopcasting

  • Uses an Iron Grenade at the location of the mouse cursor, and interrupts the throw upon a second press. You don’t want to spam this macro! The stopcasting command is useful because enemies will often run out of your previous target circle, and you can stop the grenade from being wasted.

Self trash-buff cycler

/castsequence [@player] Detect Greater Invisibility, Underwater Breathing

  • Casts “trash buffs” on yourself with one key press per buff. Great for preventing dispels.

Shadow reflect downranker

/cast [mod:shift] Corruption(Rank 1); Corruption

  • Casts a Rank 1 Corruption on yourself when shift is held, very useful against Shadow Reflectors because the DoT can make you immune to CC but deal very little damage. Additionally, you can get instant Shadowbolt casts if you are specced for Nightfall. Other great candidates are Siphon Life (long duration, damage cancels itself out), Curse of Recklessness(Rank 1) (make yourself immune to fear at the cost of some armor).

Totem stomping

/petattack

/petattack [@mana tide totem]

/petattack [@windfury totem]

/petattack [@tremor totem]

/petattack [@grounding totem]

  • Sends your pet to attack, and destroy, shaman totems of high PVP impact. If no totems are found, simply attacks your current target. The totems listed at the bottom of the macro will be attacked first. Add totems to this as you see fit.

Spellstone equip/use/switch back to offhand (need testing)

/use Major Spellstone

/equip name_of_offhand

/equip Major Spellstone

  • Equips your spellstone on first press. Another press will use your Spellstone and immediately equips your normal offhand (substitute name_of_offhand for your offhand item). NOTE: If you press this again before the 30-second timer of equipping your Spellstone, the timer will be reset!

Max camera distance

/console cameraDistanceMaxZoomFactor 3.5

  • ESets your maximum camera zoom to as far as the game will allow, letting you see much more area around your character. This is extremely helpful while in battlegrounds or questing/grinding in areas of dense PVP, as it helps you detect attackers sooner.

Use equipment slot (for engi gadgets, trinkets, offhands, etc)

#showtooltip

/use number

Uses the item in the slot number number. 1 = helm, 6 = belt, 8 = boots, 17 = offhand, 13 = trinket1, 14 = trinket2. Feel free to add mouseover conditions and such to this!

Pet Macros

Pet-specific binds, with modifier set

#showtooltip

/cast [pet:imp] Fire Shield; [pet:voidwalker] Sacrifice; [pet:succubus] Seduction; [pet:felhunter] Spell Lock;

/cast [pet:imp,mod:shift] Firebolt; [pet:voidwalker,mod:shift] Torment; [pet:succubus,mod:shift] Lash of Pain; [pet:felhunter,mod:shift] Devour Magic;

  • Casts a different pet ability depending on which pet you have out. Changes to a second set of abilities when Shift is pressed. The tooltip should update to the correct spell. Modify this to suit your needs.

Devour Magic on mouseover, targeted ally, self

/cast [@mouseover,exists][help][@player] Devour Magic

  • Casts Devour Magic at your mouseover target (if there is one), casts Devour Magic at your target if your target is an ally, casts Devour Magic at yourself if you have no mouseover target and your target is not an ally (or you have no target).

Pet Attack Mouse Over, Pet Attack Target, and Pet Return in one

/petfollow

/petattack

Wow macro use trinket slot 2

/petfollow [@pettarget,exists]

/petattack [@mouseover]

/script UIErrorsFrame:Clear()

  • Commands your pet to attack your current mouse-over target. If you do not have a mouse-over target, attacks your current target. Will also command the pet to return if your pet is currently attacking and you have no mouse-over target. If you have a target and a mouse-over target, your pet will begin attacking mouse-over target. Also command pet to follow if pet is initially on “stay”. Suppresses “You don’t have a target.” errors.