Classes & races

Warrior Macros WoW Classic: Top Commands for PvE and PvP

Section: Classes & races 5 min read Vanilla 1.12.1 · x5 Updated 08.10.2026
Warrior
WarriorMaster of melee combat
Charge
ChargeEngage and stun the target
Battle Shout
Battle ShoutAttack power buff for the whole party
Defensive Stance
Defensive StanceTank stance

Macros help warriors switch stances faster, apply buffs to the whole group, and execute combos without extra clicks. On WowX5 x5 server, the right macros mean the difference between clean control and chaos in raids or PvP.

Совет

WoW Classic 1.12.1 macros are limited to 255 characters. Bracket conditionals (like mod:shift, stance:1, noexists), /castsequence and /startattack do not exist in the 1.12.1 client — anything "smart" is done with /script and the client's Lua functions.

Contents
  1. Basic Macros for All Warriors
  2. Tank Macros (Protection)
  3. DPS Macros (Fury/Arms)
  4. PvP Macros
  5. Useful Warrior Macros Table
  6. Related

Basic Macros for All Warriors

The two key opening buttons of every warrior are Charge and Battle Shout:

ChargeChargeRank 3Instant8 - 25 yd range15 sec cooldownRequires Battle StanceCharge an enemy, generate 15 rage, and stun it for 1 sec. Cannot be used in combat.Battle ShoutBattle ShoutRank 710 RageInstant castThe warrior shouts, increasing the melee attack power of all party members within 20 yards by 232. Lasts 2 min.

Charge with Auto-Target

If no target exists, selects the nearest enemy and charges:

/script if not UnitExists("target") then TargetNearestEnemy() end
/cast Charge

Battle Shout — No Error Spam

/cast Battle Shout
/script UIErrorsFrame:Clear()

Stance Switching

Toggle between Battle Stance and Defensive Stance with one button (form index: 1 = Battle, 2 = Defensive, 3 = Berserker):

/script local _,_,a=GetShapeshiftFormInfo(1) if a then CastShapeshiftForm(2) else CastShapeshiftForm(1) end

Tank Macros (Protection)

The core tank kit in 1.12.1 is single-target Taunt, AoE Challenging Shout and Shield Block:

TauntTauntRank 1Melee RangeInstant10 sec cooldownRequires Defensive StanceTaunts the target to attack you, but has no effect if the target is already attacking you.Challenging ShoutChallenging ShoutRank 15 RageInstant cast10 min cooldownForces all nearby enemies to focus attacks on you for 6 sec.Shield BlockShield BlockRank 110 RageInstant cast5 sec cooldownRequires Defensive StanceIncreases chance to block by 75% for 5 sec, but will only block 1 attack.

Universal Taunt

ModifierAction
No ShiftTaunt (single-target)
ShiftChallenging Shout (AoE taunt)
/script if IsShiftKeyDown() then CastSpellByName("Challenging Shout") else CastSpellByName("Taunt") end

Equip Shield

The shield sits in your backpack (bag 0), slot 1; 17 is the off-hand slot. The removed item drops into the freed bag slot:

/script PickupContainerItem(0,1) PickupInventoryItem(17)

Once the shield is on, press Shield Block with a separate button. There is no /equipslot command in the 1.12.1 client.

Важно

Swapping weapons in combat in 1.12.1 resets your auto-attack swing timer. Avoid swapping gear mid-boss without good reason.

Taunt with Defensive Stance Switch

A stance change and an ability on one press do not both fire: the stance goes through, the ability does not. So this macro takes two presses — the first sets Defensive Stance, the second casts Taunt:

/script local _,_,a=GetShapeshiftFormInfo(2) if a then CastSpellByName("Taunt") else CastSpellByName("Defensive Stance") end

DPS Macros (Fury/Arms)

The key DPS warrior strikes: the Bloodthirst talent (Fury) or Mortal Strike (Arms), plus Execute and Whirlwind:

BloodthirstBloodthirstTalent, Rank 430 RageMelee RangeInstant cast6 sec cooldownInstantly attack the target causing damage equal to 45% of your attack power. In addition, the next 5 successful melee attacks will restore 20 health. This effect lasts 8 sec.Mortal StrikeMortal StrikeTalent, Rank 430 RageMelee RangeInstant cast6 sec cooldownA vicious strike that deals weapon damage plus 160 and wounds the target, reducing the effectiveness of any healing by 50% for 10 sec.ExecuteExecuteRank 515 RageMelee RangeRequires Battle Stance, Berserker StanceAttempt to finish off a wounded foe, causing 600 damage and converting each extra point of rage into 15 additional damage. Only usable on enemies that have 20% or less health.WhirlwindWhirlwindRank 125 RageInstant cast10 sec cooldownRequires Berserker StanceIn a whirlwind of steel you attack up to 4 enemies within 8 yards, causing weapon damage to each enemy.

Bloodthirst + Execute

/script if IsControlKeyDown() then CastSpellByName("Execute") else CastSpellByName("Bloodthirst") end

Ctrl = Execute (for targets below 20% HP), no modifier = Bloodthirst.

Whirlwind in Berserker Stance

The first press sets Berserker Stance (if you are not in it), the second casts Whirlwind:

/script local _,_,a=GetShapeshiftFormInfo(3) if a then CastSpellByName("Whirlwind") else CastSpellByName("Berserker Stance") end

Mortal Strike + Execute for Arms

Both abilities are on the global cooldown, so two /cast lines in a row will not both fire — pick one with a modifier:

/script if IsControlKeyDown() then CastSpellByName("Execute") else CastSpellByName("Mortal Strike") end

PvP Macros

InterceptInterceptRank 310 Rage8 - 25 yd rangeInstant cast30 sec cooldownRequires Berserker StanceCharge an enemy, causing 65 damage and stunning it for 3 sec.

Charge Opener from Battle Stance

First press — Battle Stance, second press — Charge:

/script local _,_,a=GetShapeshiftFormInfo(1) if a then CastSpellByName("Charge") else CastSpellByName("Battle Stance") end

Intercept from Berserker Stance

/script local _,_,a=GetShapeshiftFormInfo(3) if a then CastSpellByName("Intercept") else CastSpellByName("Berserker Stance") end
Примечание

Intercept is only usable in Berserker Stance and requires 10 Rage. Make sure you have rage before firing.

Useful Warrior Macros Table

NameHow it worksPurpose
Quiet Shout/cast Battle Shout + /script UIErrorsFrame:Clear()Buff without spam
Whirlwind/script: checks Berserker Stance, then WhirlwindAoE DPS
Smart Taunt/script: Shift = Challenging Shout, otherwise TauntUniversal taunt
Auto Charge/script TargetNearestEnemy() + /cast ChargeEngage opener

Related

FAQ

Can a warrior switch stances with a macro?

Yes. /cast Battle Stance, /cast Defensive Stance and /cast Berserker Stance all work. The 1.12.1 client has no bracket conditionals, so modifier-based stance selection is done with /script: if IsShiftKeyDown() then CastShapeshiftForm(2) else CastShapeshiftForm(1) end (1 = Battle, 2 = Defensive, 3 = Berserker).

How to make a Charge macro with auto-target?

Put /script if not UnitExists('target') then TargetNearestEnemy() end on the first line and /cast Charge on the second. If you have no target, the macro selects the nearest enemy and charges. Charge only works in Battle Stance and out of combat.

How to stop the Battle Shout error spam?

Add /script UIErrorsFrame:Clear() after /cast Battle Shout to hide the red error messages.

Quest complete: guide read

Now jump into WoW Classic X5

Theory alone gives no XP. Join WoW Classic X5 — Vanilla 1.12.1, x5 rates, blizzlike mechanics — and try this guide in game.

Objectives:
  1. Create an account on wowx5.ru
  2. Download the WoW Classic 1.12.1 client
  3. Put into realmlist.wtf: set realmlist play.wowx5.ru
Rewards:
Experience ×5 Loot ×5 Free, no pay-to-win
Claim reward Download client