PvP talent macros in 8.0/prepatch?

With current spells you can make a macro with the condition "talent:7/3" for example, to activate when the 3rd talent on the 7th row is activated (so that you can use one keybind for multiple skills on the same row as you swap them, without repeatedly dragging down the spell to your bar).

Is this possible with the new PvP talents? I haven't been able to figure out or find out if there's a way yet.
Nope.
Only as EditMacro() code outside of combat. You'd need an addon to implement it (or a very, very tightly written /run macro).

Honestly, it probably wouldn't be worth the effort.

When you change talents, alter your macros.
Well that sucks, I'm jumping into BG's/arenas every 10 mins that's going to get annoying.
08/04/2018 08:33 PMPosted by Kuram
With current spells you can make a macro with the condition "talent:7/3" for example, to activate when the 3rd talent on the 7th row is activated (so that you can use one keybind for multiple skills on the same row as you swap them, without repeatedly dragging down the spell to your bar).

Is this possible with the new PvP talents? I haven't been able to figure out or find out if there's a way yet.


Well... as the others said, there is no way to put PvP conditionals in macros since the prepatch... However, you should be able to make macros for your PvP spells regardless.

For example, if you have two PvP abilities that you might select between depending on if you're doing BG or Arena, just put them both in the macro:

/cast <ability 1>
/cast <ability 2>

As long as you only select only one of them at a time, the macro will work just fine -- I tested it with both regular and PvP talents. The icon will be messed up however, as it'll only follow <ability 1> while it's active and will show a ? otherwise, so you'll have to manually select an icon for it.

Otherwise, you can just add the PvP spells as modifier casts in your regular macros, and still not have to worry about missing the [pvptalent:1/2] modifiers.
08/05/2018 11:59 AMPosted by Daervon
08/04/2018 08:33 PMPosted by Kuram
With current spells you can make a macro with the condition "talent:7/3" for example, to activate when the 3rd talent on the 7th row is activated (so that you can use one keybind for multiple skills on the same row as you swap them, without repeatedly dragging down the spell to your bar).

Is this possible with the new PvP talents? I haven't been able to figure out or find out if there's a way yet.


Well... as the others said, there is no way to put PvP conditionals in macros since the prepatch... However, you should be able to make macros for your PvP spells regardless.

For example, if you have two PvP abilities that you might select between depending on if you're doing BG or Arena, just put them both in the macro:

/cast <ability 1>
/cast <ability 2>

As long as you only select only one of them at a time, the macro will work just fine -- I tested it with both regular and PvP talents. The icon will be messed up however, as it'll only follow <ability 1> while it's active and will show a ? otherwise, so you'll have to manually select an icon for it.

Otherwise, you can just add the PvP spells as modifier casts in your regular macros, and still not have to worry about missing the [pvptalent:1/2] modifiers.


You should be able to #showtooltip at the top of the macro to show the correct talent icon
09/05/2018 09:37 PMPosted by Healyhalf
You should be able to #showtooltip at the top of the macro to show the correct talent icon

Sure, if you want to update your macro each time you change talents but in that case what's the point?
So a Spell Reflection and Disarm swap might look like.

#showtooltip
/cast Spell Reflection
/cast Disarm


I will give it a test.
Spell Reflection is a base ability and is off the GCD... it's not testing what you're proposing to test.
09/06/2018 09:03 AMPosted by Sunorc
So a Spell Reflection and Disarm swap might look like.

#showtooltip
/cast Spell Reflection
/cast Disarm


I will give it a test.


I am looking for a similar macro that will use Spell Reflect when talented and Disarm when talented. I realize that you can choose both talents at one time but I will most likely never use both at the same time. Is there a PvP Talent macro code out there that similar to this?

#showtooltip
/cast [talent:3/2] Whirlwind; Slam


If I have talent Fevor selected my Slam turns into Whirlwind.

I am looking for a condition that if I have Spell Reflect talented the macro is Spell Reflect and if I have Disarm talents the macro is Disarm. I tried using /cast [pvptalent] but I could not get it work.
09/07/2018 07:19 AMPosted by Threauxm
Is there a PvP Talent macro code out there that similar to this?

No.
I have been playing around with this and came up with the following macro for PvP Talent swaps for my Arms Spec. I use this to swap between Spell Reflection and Disarm.

I named the macro "Arms PvP" and I will use the very bottom slot of the 3 interchangeable talents. the 3 slot is pvptalent 11.

Do not count the Medallion slot.

#showtooltip
/stopcasting
/startattack
/cancelaura bladestorm
/cast [pvptalent:11] Spell Reflection;
#showtooltip
/cast [pvptalent:11] Disarm;
/run local G=GetSpellInfo SetMacroSpell("Arms PvP", G"Spell Reflection" or G"Disarm")
09/17/2018 05:41 PMPosted by Threauxm
I have been playing around with this and came up with the following macro for PvP Talent swaps for my Arms Spec. I use this to swap between Spell Reflection and Disarm.

I named the macro "Arms PvP" and I will use the very bottom slot of the 3 interchangeable talents. the 3 slot is pvptalent 11.

Do not count the Medallion slot.

#showtooltip
/stopcasting
/startattack
/cancelaura bladestorm
/cast [pvptalent:11] Spell Reflection;
#showtooltip
/cast [pvptalent:11] Disarm;
/run local G=GetSpellInfo SetMacroSpell("Arms PvP", G"Spell Reflection" or G"Disarm")


I tried using your macro but the spell info does no work. Any thoughts on why it isn't?
09/17/2018 05:41 PMPosted by Threauxm
I have been playing around with this and came up with the following macro for PvP Talent swaps for my Arms Spec. I use this to swap between Spell Reflection and Disarm.

I named the macro "Arms PvP" and I will use the very bottom slot of the 3 interchangeable talents. the 3 slot is pvptalent 11.

Do not count the Medallion slot.

#showtooltip
/stopcasting
/startattack
/cancelaura bladestorm
/cast [pvptalent:11] Spell Reflection;
#showtooltip
/cast [pvptalent:11] Disarm;
/run local G=GetSpellInfo SetMacroSpell("Arms PvP", G"Spell Reflection" or G"Disarm")


What a pro, this needs more attention.

To the above comment; You need to name the macro based on the name given in the last line, otherwise the spellinfo won't update.
Unknown macro option: pvptalent
Threauxm deserves some credit, because it works but not for the reason explained.
09/17/2018 05:41 PMPosted by Threauxm
#showtooltip
/stopcasting
/startattack
/cancelaura bladestorm
/cast [pvptalent:11] Spell Reflection;
#showtooltip
/cast [pvptalent:11] Disarm;
/run local G=GetSpellInfo SetMacroSpell("Arms PvP", G"Spell Reflection" or G"Disarm")


This "[pvptalent:nn]" does nothing. It is totally ignored.; Remove it and the macro will still work. If you don't know the pvp talent, either just the spell or the entire line is straight up ignored. Which is why when he activates the macro, it works. It either casts Spell Reflection or WoW ignores Spell reflection because he doesn't know it and casts Disarm. If he didn't have Disarm talented either, nothing would happen.

This line
/run local G=GetSpellInfo SetMacroSpell("MacroButtonName", G"FirstSpell" or G"SecondSpell")
does EVERYTHING. It's what makes it work.

Not 100% sure how since my WoW API and Lua skills are basic, and maybe one of the other regulars can confirm this, but basically this is my best guess.

GetSpellInfo is getting the spell data on the Macro button probably with some kind of implied self reference. It checks if the spell is in your spell book, which for pvp talents will only be true if you are in pvp.

SetMacroSpell is actually telling WoW that this macro button should have the showtooltip image and text for either "FirstSpell" or "SecondSpell" depending on which spell is known.

Because of the order of things (spell then button update), the macro button image won't update after you change pvp talents until you try to use it once.

The macro could have written the above as:
#showtooltip
/cast Spell Reflection
/cast Disarm
/run local G=GetSpellInfo SetMacroSpell("MyMacroButtonNameHere", G"Spell Reflection" or G"Disarm")


Its still a fairly clever mechanism and it works well as long as there are only a few spells in the macro. You'll eventually hit the macro text limit.
#showtooltip
/cast Spell Reflection
/cast Disarm
/cast Some Other Pvp Talent
/run local G=GetSpellInfo SetMacroSpell("MyMacroButtonNameHere", G"Spell Reflection" or G"Disarm" or G"Some Other Pvp Talent")
1 Like
OK, because this bugged me I'm adding to my post.

I first assumed that GetSpellInfo was being called by this, but its not
/run local G=GetSpellInfo SetMacroSpell("MyMacroButtonNameHere", G"Spell Reflection" or G"Disarm" )

He's assigning the function GetSpellInfo to a very short variable name G to save space later (forgot you could do that in Lua)

His line is basically the same functionally as this
/run SetMacroSpell("MyMacroButtonNameHere", GetSpellInfo "Spell Reflection" or GetSpellInfo "Disarm" )
or this
/run SetMacroSpell("MyMacroButtonNameHere", GetSpellInfo("Spell Reflection") or GetSpellInfo("Disarm"))

GetSpellInfo("spell name") could return a lot of info about the spell but in this case he's just getting the first returned value, the name, which will either be the name (Disarm or Spell Reflection) or nil if its not known (no talented for or note in pvp)

Basically it's a way around the shortcomings of #showtooltip to get it to show the right icon, cooldown, etc... even when the first spell is not talented for.
1 Like
Been messing around with this for way too long and cannot get it to work, the totems are cast but there is no icon or cooldown showing.. (except grounding totem shows, counterstrike and skyfury do not) plz help

#showtooltip
/cast Grounding Totem
/cast Counterstrike Totem
/cast Skyfury Totem
/run local G=GetSpellInfo SetMacroSpell("pvp totems", G"Grounding Totem" or G"Counterstrike Totem" or G"Skyfury Totem")
I had no idea this worked:/run local G=GetSpellInfo print(G"Cobra Shot")I thought you had to do it this way...print(G("Cobra Shot"))I learn something almost every day here.
Can also use GetRunningMacro() instead of manually specifying the macro name.