WoW Classic Weapon Switching Macro Help Please

I’m looking for how to write a macro that can switch me between a 2-handed weapon, and my one-hander and shield. Anyone know how to do this?

3 Likes

IVE BEEN WAITING FOR THIS DAY FOR SO LONG

#showtooltip Shield Bash
/cast [stance:1/2,equipped:shields,modifier:ctrl, target=focus] Shield Bash; [stance:3] Battle Stance
/stopmacro [equipped: shields]
/equipslot 16 Vengeful Gladiator’s Pummeler
/equipslot 17 Brutal Gladiator’s Shield Wall

steal whatever macro bits you need out of that

30 Likes
/equip [noequipped:shields] 1h_Weapon; 2h_Weapon
/equip [noequipped:shields] Shield
21 Likes

Ripwotlk can you explain that macro?

It’s a… wotlk era interrupt macro, or part of a combination due to 255 character limits.

it basically reads,

while in defensive, or battle stance, with a shield equipped, and ctrl is pressed

shield bash my focus target

if i’m in stance 3(zerker), regardless of what’s equipped, or what modifier is pressed, change to battle stance

if for whatever reason, shields are not equipped, put on sword and shield

weapon swaping doesn’t follow gcd limitations on macros, nor do stance switches(iirc) so the only thing that naturally stops that macro is shield bash.

I had another one setup for pummel. However with any of these macros, you can end up with various circumstances where it’s not ideal. Rage loss due to stance change, or gcd loss due to weapon switching. Due to not having an interrupt in battle, you can end up with both penalties.

However, this exceeded the character limit, so you need some creativity to consolidate it to fit into a macro, or utilize 2 macros and the bar switching.

/cast [stance:1, equipped:shields, @focus] Shield Bash;
[stance:3, noequipped:shield, @focus] Pummel;
[stance:2, equipped:shield] Defensive stance;
[stance:2, noequipped:shield] Berserker Stance
/equipslot17 [noequipped:shields, stance:1] shield
/equipslot16 [noequipped:shields, stance:1] 1h

1 Like

238 with some alias tweaks

#showtooltip
/cast [form:1,worn:shields,@focus] Shield Bash; [form:3,noworn:shield,@focus] Pummel; [form:2,worn:shield] Defensive Stance; [form:2] Berserker Stance
/equip [noworn:shields,form:1] 1h
/equip [noworn:shields,form:1] shield

Now throw in some dumb long names like…

Wrathful gladiator’s shield wall

You can also go further with the “logic gate” for however many characters you free up, 3 stances, 2 weapon states, and gcd lockout results in 12 different outcomes (If you choose to use gcd lockout as a conditional to decide rage loss or gcd loss).

I tend to advise multiple macros to accomplish similar things. If you’re in battle, with a 2h using the above macro, you go to zerk and pummel. That’s rather unfortunate if your next gcd needs to be disarm and the following shield slam.

Just figured this out last night, and all I wanted was a macro that would drop me arms with my two hand or defensive with onehand + shield. Also didn’t want to have to re-write the macro with every time I got a new weapon.

/cast [stance:1] Defensive Stance
/cast [stance:2] Battle Stance 
/click [noequipped:shields] MultiBarRightButton10; MultiBarRightButton9
/click [noequipped:shields] MultiBarRightButton11

Where you just drop whatever 2 hander you’re using in the MultiBarRightButton9 and OneHander/Shield in MultiBarRightButton10/11

Hope this is useful!

If you switch too fast, can sometimes run into issues where the weapons and stances get backwards but haven’t yet run into that

1 Like

/eq item:51533

If you’re running out of space in an equip macro due to long names, you can use item:id instead. The id is in the url of an item when you look it up on wowhead:

www.wowhead dot com/item=51533/wrathful-gladiators-shield-wall

This is an effective way to swap identical items with different enchants too, if you equip item:id:enchantID. So you can have two of the same boots and one has mithril spurs and the other greater agility.

7 Likes

is there a shorthand equipslot? /eq16?

I know I had to lengthen that macro due to having multiples of the same item for smf fury, forcing me to use equipslot.

Regardless, I ran multiple macros on the same slot with the bar auto switching for stances, pushing far past 255 char limit (probably 400+)

/cast Battle Stance
/equip 2Handedweaponhere
/stopcasting
/cast defensive stance
/equipslot 16 1Hweaponhere
/equipslot 17 Shieldhere

Fill in the 2H, 1H, and Shield with a copy paste of the items you need and voila.

25 Likes

You can drop everything relating to [@focus] from classic macros, as Focus as a UnitID does not exist in Classic.

3 Likes

Perfect! Short, sweet, and works!
Thanks a million

@Elvenbane

/cast [stance:1] Defensive Stance
/cast [stance:2] Battle Stance 
/click [noequipped:shields] MultiBarRightButton10; MultiBarRightButton9
/click [noequipped:shields] MultiBarRightButton11

I have been playing around with a similar Shield Bash macro but I can’t get it to work like I want.

My Basic Shield Bash Macro

#showtooltip Shield Bash
/equipslot [noworn:shield] 16 name-of-your-1H
/eq [noworn:shield] name-of-your-Shield
/cast Shield Bash

I have a macro for every warrior ability that requires a shield (i.e. Shield Bash, Shield Block). I also have a separate Weapon Swap macro that allows me to switch 2H, Sword and Board and Off Hand (Dual Wield).

I am trying to build a macro that refers to my Weapon Swap macro instead of updated each macro every time I obtain a new weapon/shield. I have tried to link my Bash/Block macro back to my weapon swap macro using the /click command to my Macro on the action bar and it won’t fire off.

Am I waisting my time or is the /click command unable to be used on another macro in the UI? As I understand it we are unable to make looping macro’s, would this fall under that category as well?

Thank you old wise one.

Is the click event not happening or do you have the wrong key?

Use /fstack to find the key name

I was trying RightActionBar2Button5. I confirmed the slot within the keybind menu and I even went as far as trying it in other slots incase there was a Button 0 that I was not taking into consideration.

I will try /fstack when I get on later this evening if I can’t get on before then.

Thanks

Ya, I think you just have the wrong button name. Depending on the addons you’re running etc the names will be different.

I am running ELVUI Classic. Would that potentially be an issue?

Not an issue no, just get the correct button name and gg.

Logged in from work and used

/click ElvUI_Bar4Button3

and it worked perfectly. Thank you for your time and help!

1 Like