Quote Originally Posted by JohnGabriel View Post
[flag] is interesting because it provides you with memory in the conditional environment, allowing macros to change each other's behaviour in a very flexible way.

A limited equivalent exists in the default set of conditionals as well: the [bar:1/2/.../6]conditional can have its state modified using the /changeactionbarcommand; you could think of this as a miniature flag, limited to taking one of six values. Depending on which action bar is active, a macro could then choose to do different things. [flag]basically provides an unlimited number similar conditionals, each of which can be set to any number of values.

/qsequence A, B, C is in some sense a special case of [flag] and /cast; it could instead be written as:
/cast [noflag:foo] A; [flag:foo=1] B; C
/cycleflag foo=3


Which is overkill if all you're trying to get is /qsequence, but allows you to manipulate the sequence state directly instead of requiring it to always advance: you could make the sequence advance only when you press a different button, have a third button run the sequence in reverse, or skip some parts of the sequence if you're not in an arena, and so on.
We need translation for this post, STAT!