WoW macros are simple scripts, consisting of the text commands which can then be placed on the bar and used as a normal spell. The macros window and their creation are located in the main menu (ESC) or after writing /m or /macro.

Below you can find out how to easily create and customize it. In the download section you there are some ready-made examples.

WoW Macros Overview

Through the following macro we will use the Heroic Strike ability, 2 trinkets (13th and 14th in the inventory), and depending on whether we are in battle / defensive stance, we will use the Overpower or Revenge.
/Cast heroic strike
/Use 13
/Use 14
/Cast [stance: 1] Overpower; [Stance: 2] Revenge

You do not need to know any special C++, Perl or Python language to create wow macros. Everything consists of a dozen simplest commands. The entire “course” of writing wow macros I just decided to write as a list and a brief description of them.

Conditions

Almost every command consists of 3 parts – /target_name [terms] target; [Terms] goal; objective. Parts, conditions, and targets can be repeated without rewriting – if conditions are not met, then conditions are checked. For example:

/Cast [nocombat] Charge; [Combat, stance: 3] Intercept; Berserker Stance
The above macro will use Charge when you are not in combat; When in battle and in the Berserker Stance position – uses Intercept skill; Otherwise, it will turn on the Berserker Stance.

Below you will find a list of conditions. When you want to achieve the opposite effect, add before the “no”. “Combat” – checks if you are in combat; “Nocombat” checks if you are not in combat.

Help – the target is an ally
Harm – the target is an enemy
Exists – the target exists
Dead – the target is dead
Stance: 0/1/2 / … / n – in a given position / form
Stealth – stealth mode enabled
Modifier: shift / ctrl / alt or mod: shift / ctrl / alt – the key is active
Button: 1 / … / 5 or btn: 1 / … / 5 – the macro was enabled with the mouse button
Equipped: type item – the given type of item is in the inventory
Channeling: name of the spell – channel the spell
Actionbar: 1 / … / 6 – spell bar with a given number is active
Pet: – given pet is active
Combat – in the fight
Mounted – on monday
Swimming – swimming
Flying – on a flying monday / position & in the air
Flyable – in a zone where you can fly
Indoors – in building, cave, instance
Outdoors – the opposite of the above
Party – the target is in your party
Raid – the target is in your party / raid
Group: party / raid – you are in party / raid
Target = xxx / player / mouseover / focus – the given line of code will be invoked on: a player with the name xxx / you / player that points to your mouse cursor / your focus

Commands

#showtooltip Pyroblast – The macro has an icon and tooltip Pyroblast. Typically, this is written in almost every wow macro at the very beginning. You can skip the spell name, then automatically add a description.
/ Use 3 1, / use 13, / use Conjured Croissant – uses 1st item from 3rd backpack; Uses 13 items in the trinket, uses an item called Conjured Croissant
/ Equip 3 1, / equip Warglaive of Azzinoth – assumes the item.
/ Target target_name – Mark the target. Names do not need to be written to the end.
/ Assist target_name – Mark the purpose of your target (when the squirrel is marked Walnut, / assist Squirrel selects Walnut).
/ Cleartarget – Uncheck (deletes current target)
/ Petattack target_name – The pet starts attacking the target.
/ Petfollow – The pet starts following you, stopping attacking the previous target.
/ Petautocaston, / petautocastoff, / petautocasttoggle – W (y) links auto-enchanting given skill.
/ Cast Arcane Shot – charms a given skill.

Prior to the name of spells such as Stealth, Auto Shoot or Retribution Aura (which, if we keep spamming all the time, they will turn each other off and on again), we can add an exclamation mark – this command will only be used if we do not have the same buff on ourselves. Example: /cast Stealth will alternately turn on and disable invisibility, and /cast! Stealth will only enter Stealth when we are not in it. NOTE: This does not work with regular buffs such as Arcane Intellect, since re-casting this buff to a player already wearing it will simply refresh the buff duration.
/Castsequence reset = shift / combat / target / dead Immolate, Corruption, Curse of Agony, Siphon Life – Every time you use this macro, another spell is used.
Before the names of spells, you can add the reset = attributes that cause the sequence reset (the macro will return to the 1st spell in the queue): n – n seconds after the last use; Shift / ctrl / alt – when you use a wow macro with the button pressed; Combat – when you’re done fighting; Target – when you change the target; Dead – when your current target dies. The example given can make it easier for dps warlock.
/Castrandom_user_name, name_of_user_name, name_of_user_name – uses one random spell selected
/Stopcasting – instantaneously casting (sparkling, channeling)
/Startattack – starts attacking the target
/Cancelaura Blessing of Sacrifice – Clears the buff
/Cancelform – returns to the normal “human” form
/Dismount – descends from the mount