Много хочешь, по сути макрос невозможно сделать полноценно, как тебе надо. Но есть альтернатива:

/target [@focus,help]
/assist [@focus,help]
/targetenemy [@focus,noexists]; [@focus,harm]
/target [mod:shift] Имя_питомца
/assist [mod:shift]


Макрос полностью выполняет твой 1 пункт, а 2 и 3 не так, а вот так: Выбирается цель твоего пета при использовании макроса с зажатым shift. В твой таргет выбирается ближайший враг (если тебе нужен союзник измени /targetenemy на /targetfriend), если у тебя нет фокуса или если фокус - враг.