Why there is no alternate-direction option
Plenty of drafts turn around between rounds. The first stack goes left, the second goes right, and so on.
There is no switch for that on the passing step, and the reason is worth understanding before you build around it. A Pass Stack step has one Direction, set when you author it. Alternating is not a property of the step, it is a property of the round the step is running in. Something has to remember which round you are on, and steps do not remember anything between runs. A counter does.
So you compose it: a counter holds which way the stacks are going, and two passing steps take turns being the one that runs.
The recipe
Start from the booster draft and put a counter on the table for the direction. Give it the value 0. This counter is a flag, not a score, and no player needs to look at it.
Step 1 -- read the flag into context.
- Read Counter, counter set to your direction counter, Save Result As set to
direction.
Steps 2 and 3 -- two passing steps, one of which runs.
- Pass Stack with Which Stack = Seat, From Seat = All Seats, Direction = Left.
Only If: subject Context Entry, key
direction, operator equals, value 0. - Pass Stack with the same settings except Direction = Right.
Only If: subject Context Entry, key
direction, operator equals, value 1.
Steps 4 and 5 -- flip the flag for next time.
- Adjust Counter, mode Set, value 1.
Only If: subject Context Entry, key
direction, operator equals, value 0. - Adjust Counter, mode Set, value 0.
Only If: subject Context Entry, key
direction, operator equals, value 1.
Run it and the stacks go one way. Run it again and they go the other.
Read the flag first, and branch on the copy
Step 1 looks like an unnecessary detour. It is the only thing making this work, so it is worth being explicit about what happens without it.
Suppose steps 4 and 5 tested the counter directly, with a Counter Value condition, instead of the context copy. The flag starts at 0. Step 4's condition matches, so it sets the counter to 1. Step 5 then evaluates its own condition against the counter as it is now, finds 1, and sets it straight back to 0. Both branches run, the flag ends where it started, and the direction never changes. The sequence reports success every time.
Read Counter takes one snapshot at the top and stores it in the context. Every Only If after that compares against the snapshot, so all four gates see the same answer no matter what the later steps write. Exactly one passing step runs, and exactly one flag write runs.
This is what Save Result As is for, and the pattern generalises: any sequence that both reads and writes the same counter should read it into context first and branch on the copy. Branching on a value you are also changing is a bug that hides, because nothing errors.
Why a flag and not the round number
You might expect to keep a round counter and test whether it is even or odd. Conditions compare values -- equals, greater than, and so on -- and there is no remainder operator, so there is no way to express "is this number even". A dedicated 0-or-1 flag sidesteps the question entirely.
If you also want the round number for something else, such as stopping the draft, keep two counters. They are cheap and each one answers one question.
One more reason this only works in a sequence
Pass Left and Pass Right in the Action Dock each send a stack the way their label says, so a table can already pass either direction by hand. What a button cannot do is decide which of the two to use. A player has to know, every round, which one to press, and one person forgetting turns the round into a mess that is tedious to unpick.
The sequence holds both directions and picks between them from the flag, so the round is right whether or not anyone remembers which way it was going.