[GUIDE] 1.12.1 Warrior Macros
Posted: 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.
- 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.