Arqade is a question and answer site for passionate videogamers on all platforms. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm a Paladin. My specs are Protection and Retribution. I want to write a macro that basically says:

if Protection
  mark target with skull

Then I can replace my assist key with it to quickly be able to mark targets while tanking, but assist the tank when DPSing.


share|improve this question
up vote 10 down vote accepted

You can indeed do several things depending on your spec. To achieve your example goal, try the below. This uses a combination of macro conditionals and Lua scripting.

/script if (GetActiveTalentGroup()==1) then SetRaidTarget("target", 8); end;
/assist [spec:2]

What this says is, if I'm in spec 1, then set raid target 8 (skull). Then, assist my target, if I am in spec 2.

See Macro Conditionals for full documentation on the conditional statements you can use.

share|improve this answer
That's great, thank you :) – Delameko Jan 5 '11 at 10:11
After 5.0.4 update, function is now GetActiveSpecGroup. – Oleg V. Volkov Sep 7 '12 at 14:46

You should be able to use GetActiveTalentGroup() which returns the active talent group (1 or 2).

It takes two parameters isInspect and isPet, for what you want to do though you'd probably want them both to be false.

share|improve this answer

As you bars change when you change spec, make two different macros.

I know, there are too few macro slots.

The other way is (untested as I don't play anymore) :

/assist [spec:1]
/stopmacro [spec:1]
/script SetRaidTarget("target",8)

Perhaps in your case it is [spec:2].

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.