This site makes extensive use of JavaScript.
Please enable JavaScript in your browser.
Live
PTR
10.2.7
PTR
10.2.6
Beta
7.0 Spec Switch Macro
Post Reply
Return to board index
Post by
Morec0
With the recent changes to the Specialization system, anyone know a good quick and easy way for me to switch over to any of my other specs?
Opening the Talent menu to do it every time has gotten tedious fast.
Post by
Suggestions
I found a solution
here
To switch to a particular spec:
/run SetSpecialization(#)
Where '#' is the spec number as they appear on the specialization tab from 1-3 (or 4 for druids)
To toggle between 2 specs:
/run SetSpecialization(GetSpecialization()==1 and 3 or 1)
Where '1' and '3' can be changed to the two specs to switch between
If you want to rotate through all of them you could do:
/run SetSpecialization(GetSpecialization()%3+1)
But that one seems tedious to me. (change the 3 to a 4 for druids)
Post by
ZurOhki
Been looking at specs and macros tonight.
I have a Brewmaster gear set as set 1, Mistweaver set as 2 and Windwalker as 3, so it lines up neatly with the actual spec numbers.
Apparently UseEquipmentSet() only accepts the name of a gearset, so this is ugly but it works:
/run UseEquipmentSet(GetEquipmentSetInfo(1)); SetSpecialization(1)
Or you can cycle through gearset and spec 1, 2 and 3 by running this again and again:
/run x=GetSpecialization()%3+1; UseEquipmentSet(GetEquipmentSetInfo(x)); SetSpecialization(x)
Or, if the order of your gearsets is different from your specs, you can name one after each spec and equip them by name:
/run x=GetSpecialization()%3+1; id, name=GetSpecializationInfo(x); UseEquipmentSet(name); SetSpecialization(x)
Cycling through three specs is kind of dumb, most people probably want a replacement for dual spec at this stage. To swap between two specs and equip gearsets named after each spec:
/run x=GetSpecialization()==1 and 2 or 1; id, name=GetSpecializationInfo(x); UseEquipmentSet(name); SetSpecialization(x)
If you want to swap between, say, spec 3 and 4 you'd replace "1 and 2 or 1" with "3 and 4 or 3", I think.
I was looking for a way to get the macro's icon to change, but GetSpecializationInfo returns a spec icon's path and name, and EditMacro wants a numerical icon ID. There doesn't seem to be a way to convert between them.
Post by
Liukus
I just modified the above code to work across accounts for all classes, to cycle through. /run local _,_,c = UnitClass("player"); local n = 3; if c == "11" then n = 4 else if c == "12" then n = 2 else end end; SetSpecialization(GetSpecialization()%n+1)
Post by
urakantu
can we make seperate macros for each spec to make things .... less complicated (im playing with druid :D )
so ... what i want is:
seperate macros for each spec and gear set. when i click the macro it will change to spec "x" and gearset "y"
and i will use different macros for other spec/gearset
is it possible?
Post by
clarkcox3
can we make seperate macros for each spec to make things .... less complicated (im playing with druid :D )
so ... what i want is:
seperate macros for each spec and gear set. when i click the macro it will change to spec "x" and gearset "y"
and i will use different macros for other spec/gearset
is it possible?
Yes, that's even simpler. For example, I have the following macro on my druid:
/equipset Intel
/run SetSpecialization(1)
This equips my equipment set called "Intel" and switches to Balance. I have equivalent macros for the other three specs.
Post by
urakantu
thank you alot. this is exactly what i was looking for.
Post by
ergar
Oke tought ill give my macro here.
It is a single macro that evey time its invoked changes the character to its other spec ( of 2 ) and then changes its gear.
The gear set you make needs to have the name of the spec. ( so in my druid's case Guardian and Restoration)
I use the addon slashin to delay the equipment change since you can't change your artifact weapon before your spec is changed.
I whisper then mysel (Ergar) what the spec is i am changing in to.
/run x=GetSpecialization()==3 and 4 or 3; id, name=GetSpecializationInfo(x); SendChatMessage(name , "WHISPER", nil, "Ergar");
/run SetSpecialization(x);
/in 7 /run UseEquipmentSet(name);
Post by
pat33
If you have TinyExtraBar addon
Simply do 2 seperate macros for all your spec:
1macro
/run SetSpecialization(1)
1macro
/equipset "enter name"
Like for my Druid I have 6 macros: 2 feral, 2 guardian, 2 resto
That's it thats all.
I wich that blizzard wasn't so lame, should be implied that you switch gear also.
Post by
Duinador
For my Paladin, I use 3 different macros, which takes up 2 spots on my hotbar in each spec
For reference, my gear sets are called Holy, Prot, and Ret.
For Holy:
/equipset Holy
/settitle Savior of Azeroth
/run SetSpecialization(1)
For Protection:
/equipset Prot
/settitle Highlord
/run SetSpecialization(2)
For Retribution:
/equipset Ret
/settitle Firelord
/run SetSpecialization(3)
Since the macros run commands in order, it changes my gear and my title, and then moves to change the spec.
I should note that since changing spec changes out your artifact, and you can't equip an artifact out of spec, your gear sets should be set to ignore both weapon slots.
Post by
almair
Eragar, this worked perfectly for me (after switching the spec numbers.)
Thanks a bunch!
Post by
Sparffles
A one stop shop for this! Use and IsAltKeyDown() for druid's fourth spec; if your equipment set names aren't too long you come in just under the 255 character limit on macros.
/equipset Heals;Tank;Retro
/run if IsShiftKeyDown() then SetSpecialization(1) elseif IsControlKeyDown() then SetSpecialization(2) else SetSpecialization(3) end
Post by
Zair
I wanted a macro I can mash a few times to make sure I'm in the correct Specialization and the matching set of gear.
Based on the above posts, I chose a solution where I make a separate macro for each spec that conditionally either swaps to that spec or echos the spec to me in a whisper, and then the same macro equips the correct gear set. SetSpecialization will allow you to go through the cast time (and drain your mana in the process) if you use it for your current spec, so it needs the conditional check. This is also nice because you can have different gear sets for the same spec (e.g., a PvP-heals and a PvE-heals) by just changing the /equipset part in a new macro.
Here's my Feral macro. When I'm already Feral spec it equips my saved Feral gear set and echos "Feral" to me in a whisper:
/equipset Feral
/run local x=GetSpecialization(); id, name = GetSpecializationInfo(x); if x == 4 then SetSpecialization(2) else SendChatMessage(name, "WHISPER", nil, "Rinalthelas") end;
Here's my Resto macro so you can see the difference. I simply change the /equipset argument and swaped the 2 and 4. My PvP Resto macro just changes the /equipset argument to my Resto-PvP gearset:
/equipset Resto
/run local x=GetSpecialization(); id, name = GetSpecializationInfo(x); if x == 2 then SetSpecialization(4) else SendChatMessage(name, "WHISPER", nil, "Rinalthelas") end;
Note this does require two clicks (since you can't equip the gear while casting), first click changes spec and the second equips the gear set. Ergar above mentioned the "Slashin" addon to add a delay, which would in theory remedy that.
Post by
zane24171
I am using the /run SetSpecialization(#) version of this and just place 2 and 3 on my spec 1 bar, 1 and 3 on my spec 2 bar and so on.
Is there a way to use a type of #showtooltip modifier that shows the icon of the ability desired on the spec icon that can be used on every character on the account?
Basically 3 macros total for any character on that account that will show the icon for that classes specs when you are logged on that character?
Post by
wolf391
#showtooltip Lightning Bolt; Healing Surge
/equipset DPS; Heal
/run x=GetSpecialization()==1 and 3 or 1; SetSpecialization(x)
Post Reply
You are not logged in. Please
log in
to post a reply or
register
if you don't already have an account.