I've always struggled to understand empty conditions but now it's finally dawned on me (Doh!), I thought I'd share. You seldom see them used but you often (I now understand) see macros that could be improved by them.

Imagine a macro such as:
Code:
/cast [target=focus,harm]Fear;Fear
You'll see this sort of thing in many macro writing guides. It means "If I have a focus and it's hostile to me, cast Fear on it, otherwise cast Fear on my current target.

This is a prime candidate for an empty condition. Consider:
Code:
/cast [target=focus,harm][]Fear
This means "If I have a focus and it's hostile to me, cast Fear on it, otherwise cast Fear on my current target.

Yep, they're exactly the same.

I don't know why it's taken me so long to understand this