Someone who's up on the current macro syntax please give me a hand. I'd like to use the new formatting as I believe the older "target" is phasing out in the near future.

For thorns I have three conditions:
My target (focus target) ---> desired thorns target

Friendly (any) ---> target
Unfriendly (friendly) ---> focustarget
Unfriendly (unfriendly) ---> targettarget


If I'm targeting a friendly player, I always want to put thorns on them.
If I'm targeting a hostile player/mob, and my focustarget is friendly (tank) then I want to put thorns on my focustarget.
If I'm targeting a hostile player/mob, and my focustarget is hostile (assigned CC) then I want to put thorns on my target's target.

....on a vaguely related note, swapping focus between tank and CC target is inconvenient (because I'm lazy). typically my focus stays on the tank except when I have assigned CC, specifically for thorns'ing. then I reset my focus back to the tank after that pull until the next one with CC, etc, rinse/repeat. anyone have a more streamlined suggestion?

---------- Post added 2010-12-29 at 05:27 AM ----------

Got it:

#showtooltip Thorns
/cast [help] [{at}focus,help] [{at}targettarget,exists] [{at}player] thorns

(replace {at} with the AT symbol, since I can't put it into this post)

Tiers of checking:
1) friendly target == get thorns
2) else, friendly focustarget == get thorns
3) else, target's target if it exists == get thorns
4) else, me == get thorns