[GUIDE] 1.12.1 Warrior Macros

[GUIDE] 1.12.1 Warrior Macros

by St0rfan » Wed Jul 08, 2015 6:56 am

These macro's are from a thread I made on my guild forum on another 1.12.1-server but they are universal ofcourse and have been tried and tested here on Nostalrius aswell. You will NEED the addon called 'SuperMacro' for them all to work though. This addon can be found in most 1.12.1 addon archives you can find with a simple google-search.


- This is the Vanilla version of "start-attack-macro" that require you to bind autoattack to any button referenced in the macro. I bound mine to the last button on the lower right bar (actionbutton 24). The numbers of all buttons you can reference can be seen in the picture bellow. Numbers 13-24 are the "hidden" scroll-bar and arent shown in it.
http://i.imgur.com/BcuQKTO.png

The macro is as follows:
---------------------------------------------------------------------------
/run if not IsCurrentAction(24) then UseAction(24) end;
/run CastSpellByName("bloodthirst")

---------------------------------------------------------------------------


- Bellow are a bunch of double-tap macro's that include stance-switching in the same button. Very handy when dancing to BattleStance to use OverPower, or want to use zerk-rage to pre-empt a fear. Double-tap means you will have to push the macro twice for all its functions to execute on screen.
------------------------------------------------------------------------------------------
Charge:
/run local texture,name,isActive,isCastable = GetShapeshiftFormInfo(1); if isActive then CastSpellByName("Charge"); else CastSpellByName("Battle Stance()"); end;
------------------------------------------------------------------------------------------
OverPower:
/run local texture,name,isActive,isCastable = GetShapeshiftFormInfo(1); if isActive then CastSpellByName("Overpower"); else CastSpellByName("Battle Stance()"); end;
------------------------------------------------------------------------------------------
Intercept:
/run local texture,name,isActive,isCastable = GetShapeshiftFormInfo(3); if isActive then CastSpellByName("Intercept"); else CastSpellByName("Berserker Stance()"); end;
------------------------------------------------------------------------------------------
Thunderclap:
/run local texture,name,isActive,isCastable = GetShapeshiftFormInfo(1); if isActive then CastSpellByName("Thunder Clap"); else CastSpellByName("Battle Stance()"); end;
------------------------------------------------------------------------------------------
WirlWind:
/run local texture,name,isActive,isCastable = GetShapeshiftFormInfo(3); if isActive then CastSpellByName("Whirlwind"); else CastSpellByName("Berserker Stance()"); end;
------------------------------------------------------------------------------------------
BerserkerRage:
/run local texture,name,isActive,isCastable = GetShapeshiftFormInfo(3); if isActive then CastSpellByName("Berserker Rage"); else CastSpellByName("Berserker Stance()"); end;
------------------------------------------------------------------------------------------
Mocking blow:
/run local texture,name,isActive,isCastable = GetShapeshiftFormInfo(1); if isActive then CastSpellByName("Mocking Blow"); else CastSpellByName("Battle Stance()"); end;
------------------------------------------------------------------------------------------
Disarm:
/run local texture,name,isActive,isCastable = GetShapeshiftFormInfo(2); if isActive then CastSpellByName("Disarm()"); else CastSpellByName("Defensive Stance()"); end;
------------------------------------------------------------------------------------------
Universal interupt (Pummel and Shieldbash) in same button:
/run local texture,name,isActive,isCastable = GetShapeshiftFormInfo(3); if isActive then CastSpellByName("Pummel"); else CastSpellByName("Shield Bash()"); end;
------------------------------------------------------------------------------------------
Taunt:
/run local texture,name,isActive,isCastable = GetShapeshiftFormInfo(2); if isActive then CastSpellByName("Taunt"); else CastSpellByName("Defensive Stance()"); end;
------------------------------------------------------------------------------------------
PanicButton:
/eq [Quel'Serrar]
/eq [Draconian Deflector]
/cast defensive stance
/cast shield wall

------------------------------------------------------------------------------------------
Universal charge/intercept/intervene(ish):
This require you to make 3 separate macro's, one for each stance bar and the button will have to be placed in the same spot on all 3 bars. I.E you put your charge macro on button [6] on all 3 stance bars. This macro incorporate an if/else argument that takes your current combat situation into consideration and they are as follows:
------------------------------------------------------------------------------------------
Battlestance charge and/or intercept. (will change to zerkstance automatically if you are in combat):
/run if UnitAffectingCombat("player") then CastSpellByName("Berserker Stance"); else CastSpellByName("Charge"); end;
------------------------------------------------------------------------------------------
Defensive stance charge and/or intercept. (Will change you to zerk or battlestance depending on your combat situation):
/run if UnitAffectingCombat("player") then CastSpellByName("Berserker Stance"); else CastSpellByName("Battle Stance"); end;
------------------------------------------------------------------------------------------
Berserker stance charge and/or intercept. (Will change you to zerk or battlestance depending on your combat situation):
/run if UnitAffectingCombat("player") then CastSpellByName("Intercept"); else CastSpellByName("Battle Stance"); end;
------------------------------------------------------------------------------------------

EDIT #1: Changed 'script' in some places to 'run local' for the sake of optmization.

EDIT #2: Removed ranked spells/abilities in a few macros that got in there by accident. Ranks obviously hold no value for warriors as we cant "down-rank" abilities so it would also take up space, or worse make problems for lower-lvled warriors not being able to use the macro because they dont have the rank learned yet.

EDIT #3: optimized the 3 stance-charge macros by the end of the post.

EDIT #4: It would seem that the scripts/run macros that incorporate auto-attack buggs threat calculated by KTM.

EDIT #5: Added screenshot with the numbers of buttons for reference in start attack macro.
http://i.imgur.com/BcuQKTO.png

EDIT #6 (2015-08-23): I have together with Inzomina come to the conclusion that the start-attack macro bugs KTM and thus report threat in a faulty manner. This has now been fixed by adjusting the macro in a way Inzomina recommended.
Last edited by St0rfan on Sun Aug 23, 2015 8:23 pm, edited 11 times in total.
User avatar
St0rfan
Stone Guard
Stone Guard
 

Re: [GUIDE] 1.12.1 Warrior Macros

by Yrez » Thu Jul 09, 2015 12:45 am

Thank you!
Yrez
Tester
 

Re: [GUIDE] 1.12.1 Warrior Macros

by St0rfan » Thu Jul 09, 2015 9:17 am

A point I forgot to add is that Cooldowns won't show on your abilities unless you have an addon that supports it. For example Bongos (bar addon) should be able to pick out the ability used when a macro is run and the correctly show the Cooldown on said button pushed. However, it doesnt seem to work with double-tap macros so this may be a tradeoff you will have to make unless there is some other addon that can handle it.
User avatar
St0rfan
Stone Guard
Stone Guard
 

Re: [GUIDE] 1.12.1 Warrior Macros

by Terrub » Sat Jul 11, 2015 8:05 am

This is the weapon swap macro I use so I don't need an addon to do it for me:
Code: Select all
/run local i,c=PickupInventoryItem,PickupContainerItem;i(17);if CursorHasItem()then c(4,2);end i(16);c(4,1);c(4,2);EquipCursorItem(17);


It attempts to swap out your currently equiped weapon(s) with the items found in the first two slots of your last (or top left most) bag.

This macro supports swapping between a two-hander and two one-handers or sword and board.

Also, @OP: Please find/replace /script with /run for macro length purposes and put the keyword: "local" before all the variable declarations, you're polluting the global namespace and could possibly break poorly written addons, making troubleshooting a nightmare.
User avatar
Terrub
Private
Private
 

Re: [GUIDE] 1.12.1 Warrior Macros

by St0rfan » Sat Jul 11, 2015 8:44 am

Terrub wrote:This is the weapon swap macro I use so I don't need an addon to do it for me:
Code: Select all
/run local i,c=PickupInventoryItem,PickupContainerItem;i(17);if CursorHasItem()then c(4,2);end i(16);c(4,1);c(4,2);EquipCursorItem(17);


It attempts to swap out your currently equiped weapon(s) with the items found in the first two slots of your last (or top left most) bag.

This macro supports swapping between a two-hander and two one-handers or sword and board.

Also, @OP: Please find/replace /script with /run for macro length purposes and put the keyword: "local" before all the variable declarations, you're polluting the global namespace and could possibly break poorly written addons, making troubleshooting a nightmare.


Thank you for your suggestion and report. I have now made the adjustment. I am by no means a code writer (or even a script kiddie for that matter) and most of these macros I've made by stealing portions from others and trial&error.

EDIT: For the sake of weapon swap I made a simple edit of my above macro my switching spots with 1h and shield and placing the 1h first in the macro, this way it wont interfere if you are using a 2h weapon because logically, you cant equip a shield, while still wielding a 2h (duh). The beautiful thing with the /eq command is that it doesnt have to take bagslots into account as it does that silently in the background without user interference.

EDIT #2: I found I had by accident kept ranks in a few macros aswell (thats what I get for stealing lines from caster class macros). These have now been removed aswell as to slim them down.
User avatar
St0rfan
Stone Guard
Stone Guard
 

Re: [GUIDE] 1.12.1 Warrior Macros

by Polio » Wed Jul 22, 2015 2:25 am

Awesome post, thank you!
So, as a first time melee player, what is the start attack macro used for, and how do I incorporate it into my macros?
Image
This is my avatar until the feature is enabled.

Nostalrius Characters:
Polio: Gnome Mage <Theorycraft>

Feenix Warsong Characters:
Bloodraven: Gnome Mage <Resurrection Gaming> C'Thun Server First
Polio
Grunt
Grunt
 

Re: [GUIDE] 1.12.1 Warrior Macros

by St0rfan » Wed Jul 22, 2015 8:48 am

Polio wrote:Awesome post, thank you!
So, as a first time melee player, what is the start attack macro used for, and how do I incorporate it into my macros?


It accomplishes two main objectives.

1. You dont have to keep auto-attack occupying a "good" binding you would rather use on a main ability.
2. You dont have to use your mouse to right-click targets to initiate combat.

The way you use this macro can be read on the top post. You will still have to place your 'auto attack' (somewhere) on your bars, no matter where, as long as you know the number the button is refered to as. In my example I put it on button 24 which is the last one on the lower right bar. The macro looks like this:

/run if not IsCurrentAction(24) then UseAction(24) end;
/cast Bloodthirst


Replace bloodthirst with what ever ability you want to incorporate it with. I have it bound together with most of my abilities, however it seems to bug threat registering for KTM so tanks may want to be wary of using this macro.
User avatar
St0rfan
Stone Guard
Stone Guard
 

Re: [GUIDE] 1.12.1 Warrior Macros

by St0rfan » Fri Jul 31, 2015 12:35 pm

Chillout wrote:http://i.imgur.com/BcuQKTO.png


Thank you for your addition. Worth nothing is that the numbers 13-24 are on the "hidden" scroll-bar. Anyways, the numbers seen in this pictures can be used for the startattack macro. This screenshot has now been added to my first post.
User avatar
St0rfan
Stone Guard
Stone Guard
 

Re: [GUIDE] 1.12.1 Warrior Macros

by fish » Mon Aug 03, 2015 8:37 am

What's the point of the start-attack macros?

Thanks
fish
Sergeant
Sergeant
 

Next

Return to Warrior