Zones that change with the variant
Plenty of rulebooks offer more than one way to play, and some of those variations change what a zone is rather than what goes into it. The discard pile rests face-up in the basic game and face-down in the advanced one. Hands are open in the two-player variant. A market row only exists once you add the expansion.
A setup variant already lets players pick between two ways to set up. Option overrides extend that to the zones themselves.
The two halves
Every variation has two parts, and they live in different places:
| The part | Where it lives | What it does |
|---|---|---|
| The choice | A variant step in the Setup tab | Puts a switch on the pre-game setup screen for players to pick |
| The effect | The thing being changed | Reads differently once that switch is set |
The gate always lives on the thing being gated — that is true of a setup placement, of an automation step, and of a zone. So you declare the variant once, then attach effects to it from wherever they belong.
Making a zone vary
Select the zone, open Varies by variant in the inspector, and add an override. Each override is two things: which choice it waits for, and which fields read differently when that choice is picked.
For the face-up discard pile:
- In the Setup tab, add a
variantstep named Discard pile with two choices, Face down and Face up. - Set the discard zone’s own Face on enter to
down— the base value, what players get when they pick the first choice. - In Varies by variant, add an override: when Discard pile = Face up, set
Face on enter to
up.
That is the whole change. Players now see a Discard pile switch on the setup screen, and whichever way they set it, cards land that way for the rest of the game. You can preview both readings in the editor by flipping the variant switcher above the canvas in Setup mode — the table redraws as players would see it.
You can also start from the other end: on a variant step, + Change a zone
attaches an override to whichever zone you name, without leaving the Setup tab.
What a variant can change
Overrides cover a zone’s behaviour — how it acts once play begins:
| Field | A variation that uses it |
|---|---|
faceOnEnter | The discard pile rests face-up in the basic game |
view | Hands are open in the two-player variant |
hidden | The market row only exists with the expansion |
capacity | The hand limit is 7 in the advanced game |
accepts | Only tiles may be played here in this variation |
arrangement | The river is a fan rather than a stack |
stackDisplay | The deck shows its own art rather than the top card |
contentFacing | Cards face their owner in the head-to-head variant |
dropPolicy | The second card into a slot lands sideways |
infinite | The supply is unlimited in the beginner game |
name | The pile is called something else in this variation |
A variant deliberately cannot move or resize a zone. Position and size are
part of the table you laid out, not of the rules, and one layout that reads
clearly under every variation is nearly always the better answer than two that
each read well alone. If a variation really needs a whole different board, build
the extra zone and switch it on with hidden.
How it behaves at the table
Unlike a gated placement — which fires once, when the game starts — an override is not an action and never “runs”. It changes what the zone is, for as long as the variant is set. That is what makes it the right tool for a face-up discard: the rule has to hold for the fiftieth card as much as the first.
Players choose before the game begins, on the setup screen, and the choice is fixed once someone hits Start Game. If your group wants to change a pile mid-game anyway, you can always just do it by hand — turn the cards over. taybl models a table, and nothing stops you.
If you are hand-authoring
The field is optionOverrides on the zone, and each entry pairs a whenOption
gate with a set patch:
{
"id": "zone_discard",
"role": "discard",
"arrangement": "stack",
"faceOnEnter": "down",
"optionOverrides": [
{
"whenOption": { "option": "discard_pile", "equals": "face_up" },
"set": { "faceOnEnter": "up" }
}
]
}
whenOption is the same gate a setup placement and an
automation step use, and it names a choice you declared
in the Setup tab. A gate pointing at a choice that no longer exists is rejected
rather than silently ignored — otherwise the zone would quietly keep its base
behaviour while the game still looked like it had built the variation.
One override can cover several values — equals takes a list, and
whenOption itself can be a list of gates that must all hold:
"optionOverrides": [
{
"whenOption": { "option": "player_count_mode", "equals": ["two", "three"] },
"set": { "view": "all" }
},
{
"whenOption": [
{ "option": "game_mode", "equals": ["harsh", "avalanche"] },
{ "option": "expert_damage", "equals": true }
],
"set": { "faceOnEnter": "up" }
}
]
In the Varies by variant card that is a row of chips per declared variant — tick every value this reading applies to. Unlike a placement or a step, an override must keep a gate: one with nothing ticked would just be the zone’s own settings, so the last lit chip cannot be un-ticked. Remove the override instead if the variation is no longer wanted.
When two overrides on one zone both match, they apply in order and the later one wins, field by field.
Related
- Setup steps — declaring the variant players choose from
- Zone visibility — what
viewandfaceOnEntermean - Landing rules — the finer-grained
dropPolicy