Step types
Steps are organized into six categories. Each step performs a single action when the sequence executes.
Stacks
Steps that manipulate stacks and their tiles.
Draw from Stack
Draw tiles from a stack to a player's hand, a space, or directly onto the table. Configure the number of tiles to draw, the destination, and an optional face rule (face up, face down, or as-is).
Draw Position controls where in the stack tiles are drawn from:
- Top (default) draws from the top of the stack, the standard behavior for most card games
- Bottom draws from the bottom of the stack, useful for mechanics where players peek at or take the lowest tile
- Random draws from a random position in the stack, useful for bag-like draw mechanics without needing to shuffle first
Deal to Hands
Deal tiles from a stack evenly to all player hands, or to specific seats. Configure the number of tiles each player receives and an optional face rule.
Deal to Tagged Spaces
Deal tiles from a stack to every space that has a specific tag. Configure the tag to match, the number of tiles per space, and an optional face rule.
Shuffle Stack
Randomize the order of tiles in a stack. Select which stack to shuffle.
Shuffle Tagged in Place
Shuffle tiles across all spaces that share a given tag. The tiles stay in their spaces but their positions are randomized among those spaces.
Return to Stack
Return a tile back to a stack. The tile can come from the current context (set by a previous selection or prompt step) or be a specific tile chosen in the step configuration.
Sort Pieces
Sort tiles within a stack or hand alphabetically by name. The source must be a context entry containing either a stack (piece) or a hand (seat index) set by an upstream step.
Configuration:
- Source -- context entry containing the stack or hand to sort
- Sort By -- currently "Name" (alphabetical by tile name)
- Direction -- Ascending (A to Z) or Descending (Z to A)
Behavior for stacks: Reorders tiles by zIndex within the stack. In ascending order, tiles named earlier in the alphabet appear on top.
Behavior for hands: Repositions tiles within the player's hand lane so they appear in the chosen alphabetical order.
Tiles with no name sort before named tiles.
Example: Sort a hand alphabetically after drawing multiple cards so the player can find cards more easily.
Pieces
Steps that change the state or position of individual pieces.
Flip
Flip a tile to show its other side. Configure the flip mode: face up, face down, or toggle. The target tile can come from context or be a specific tile.
Rotate
Rotate a piece by a set angle. Configure the rotation mode: set to an absolute angle, match the rotation of the piece's current space, or rotate by a relative delta. The target piece can come from context or be a specific piece.
Move Piece
Move a piece to a space, a player's hand, or a position on the table. When moving to a space, you can target a specific space or a space matched by tag. The target piece can come from context or be a specific piece.
Move to Hand
Move a piece into a player's hand. Configure which player receives the piece: the player who triggered the sequence (actor) or a specific seat. The target piece can come from context or be a specific piece.
Move to Stack
Place a piece on top, bottom, or at a random position within a stack. The target piece can come from context or be a specific piece.
Move to Table
Move a piece to specific X/Y coordinates on the table surface. The target piece can come from context or be a specific piece.
Selection
Steps that select pieces for downstream steps to operate on.
Select Specific
Select specific pieces by their identity for use by later steps. Choose one or more pieces from the table and they become available in the context for subsequent steps.
Select by Filter
Select pieces that match filter criteria. Filters can match on piece type, name, required tags, blocked tags, color, token kind, location in a specific space, or location in a specific player's hand. Matching pieces become available in the context for subsequent steps.
Name filters tiles by their name. A mode picker controls how the name is matched:
- Exact -- the tile name must match the filter text exactly
- Contains -- the tile name must contain the filter text anywhere
- Starts with -- the tile name must begin with the filter text
- Ends with -- the tile name must end with the filter text
Name matching is case-insensitive. The name filter composes with all other filter fields -- combining multiple filters narrows the results.
Count Selection
Count the number of pieces in a context entry and save the count as a number. Configure the Source Context Entry -- a context key produced by an upstream step that selected or drew pieces. The step reads that entry and writes its length as a number context entry.
This is useful when a downstream step needs a numeric value based on how many pieces were produced. For example, draw a variable number of tiles from a stack, then use Count Selection to get that count, then use Adjust Counter to add the count to a score counter.
If the source entry contains a single piece, the count is 1. If it contains multiple pieces, the count is the number of pieces in the list.
Utility
Steps that interact with counters, dice, spinners, timers, bags, and bowls.
Read Counter
Read a counter's current value and save it as a number context entry. Select which Counter to read. The result is stored in context so downstream steps can use it.
This is useful when you need a counter's value as input to another step. For example, read a score counter, then use its value in a Stop If condition to end the sequence when the score reaches a threshold. You can also pass the value to an Adjust Counter step -- select "Context Reference" as the value source and pick the context key produced by Read Counter.
Adjust Counter
Increment, decrement, or set a counter's value. Configure the counter, the mode (increment, decrement, or set), and the amount. The amount can be a fixed number or a reference to a context value (such as a number entered by a player in a Prompt Number step).
Roll Die
Roll a die to produce a random result. Select which die to roll. The result can be saved to context for use by later steps.
Set Die Face
Set a die to show a specific face value without rolling. Select the die and the face value to display.
Spin Spinner
Spin a spinner to produce a random result. Select which spinner to spin. The result can be saved to context for use by later steps.
Start Timer
Start a timer counting down from its configured duration.
Pause Timer
Pause a running timer, preserving its remaining time.
Stop Timer
Stop a timer completely.
Reset Timer
Reset a timer to its full initial duration.
Dispense from Bowl
Dispense pieces from a token bowl to a destination. Configure the bowl and the destination.
Destinations:
- Hand - Dispense to a player's hand. Set the quantity and choose the hand owner (the acting player or a specific seat).
- Table - Dispense directly onto the table surface. Set the quantity.
- Space - Dispense into a specific space. Set the quantity and select the target space.
- Tagged Spaces - Dispense tokens to every space matching a tag. Each matching space receives the configured quantity per space.
Tagged Spaces
When you select Tagged Spaces as the destination, two additional fields appear:
- Space Tag - The tag to match spaces against. Every space with this tag is a target.
- Per Space - How many tokens each matched space receives (default 1).
Behavior details:
- Spaces that do not accept the piece type are skipped.
- Spaces that are full (at capacity) are skipped.
- The bowl must have enough supply for all target spaces. If the bowl runs out, the step fails with an error.
- All dispensed pieces are available in context under the result key for use by later steps.
Example: To place 1 gold token on every space tagged "resource", set the destination to Tagged Spaces, enter "resource" as the space tag, and set per space to 1.
Draw from Bag
Draw a random piece from a bag. Configure the bag, an optional quantity, and the destination (hand, space, or table).
Flow
Steps that control the execution flow of the sequence itself.
Run Sequence
Run another sequence as a sub-routine. The called sequence executes completely before the current sequence continues. You can optionally map context values from the parent sequence into the child. If the child sequence is stopped (by a Stop If step), you can choose whether the parent also stops.
Sequences can nest up to 8 levels deep.
Stop If
Stop the current sequence if a condition is met. Configure a condition using the condition builder. If the condition evaluates to true, the sequence halts and no further steps execute.
Cycle Hands
Rotate all player hands one seat in the chosen direction. Every occupied player's hand contents move to the next occupied seat following the circular seating order.
Configuration:
- Direction - Clockwise or Counterclockwise
Behavior:
- Unoccupied seats are automatically skipped during rotation.
- The rotation happens atomically, so no hand is ever empty during the swap.
- If only one seat is occupied, the step does nothing.
Example: In a drafting game, after each pick phase, use Cycle Hands to pass remaining cards to the next player. With seats 1, 2, and 4 occupied (seat 3 empty), a clockwise rotation moves seat 1's hand to seat 2, seat 2's hand to seat 4, and seat 4's hand to seat 1.
Prompts
Steps that pause the sequence and ask a player for input before continuing.
Prompt Confirm
Ask a player to confirm before the sequence continues. Configure a message to display. The sequence pauses until the player confirms or the timeout expires.
Prompt Number
Ask a player to enter a number. Configure a message, minimum and maximum values, and an optional default. The entered number is saved to context so later steps can reference it (for example, as the amount in an Adjust Counter step).
Prompt Choose
Ask a player to choose from a list of options. Configure a message and the available options. The chosen option is saved to context for use by later steps.
Select via Prompt
Ask a player to select one or more pieces from the table. Configure filter criteria to limit which pieces are selectable, minimum and maximum selection counts, and a message. The selected pieces become available in context for subsequent steps. The same filter fields available in Select by Filter are available here, including the name filter with its four match modes.
Prompt timeouts
All four prompt steps support timeout configuration:
- Timeout (optional) -- how long the player has to respond, in seconds. Defaults to 60 seconds if not set.
- Timeout Behavior -- what happens when time runs out:
- Use Default -- the prompt resolves with a default value (confirm defaults to "yes", number defaults to its configured default, choose defaults to the first option, select defaults to no selection). The sequence continues.
- Stop -- the sequence stops executing. No further steps run.