Occasionally I want to use my fiend on a target and attack another one (eg leaving the fiend on Yor'sajh while I attack an ooze), but when I do this the fiend switches to my new target shortly after being summoned. The only solution I can find to this is to set it to passive and then tell it to attack the target I want. Then it sticks to it. This isn't really practical to do all the time though as once I summon the fiend again it's back to aggressive.
This casts the fiend, sets it to passive and then attacks my target (or focus if I hold down alt). The problem with this though is that I have to spam it to make it work which also isn't ideal in the heat of battle.
So... what I'm wondering is if there is either a.) a way to permanently set the fiend to passive or b.) a better macro that doesn't require spammage.
That's what I was doing when setting the pet to passive and then attacking. The problem is is that next time you use your fiend, it's back to assist again. Or am I missing something?
Didn't they change it awhile back so that your fiend automatically assists you to fix the issue of it attacking random targets? I don't think there is any real way around that.
I thought I knew how to do this. Before the pet stance changes, I recall that shadowfiend remembered stance changes the next time you summoned it. It seems though that as you say sfiend is now reset to assist every time.
Pet passive is off the GCD, as is pet attack I'm fairly sure. Then you would just need a macro
#showtooltip shadowfiend
/cast Shadowfiend
/cast passive(pet)
/petattack
That's purely from the top of my head, you will want to shift-click the abilities into the macro to make sure they are right but it should work. You can spam that, you will get a cooldown error but it will work. It might be better to put the summon shadowfiend line last if you find it doesn't work in 1 click.