From 2ac046611da6fbffe472e0091907dac9ba1da5ef Mon Sep 17 00:00:00 2001 From: Eric Wagoner Date: Mon, 17 Aug 2026 17:59:39 -0400 Subject: [PATCH] ADD explains itself instead of dead-ending MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two numbers for movement work by playing them one after another, the Add spending itself on the second — but clicking the ADD card itself, the natural first instinct, showed nothing but a cancel button. It now says how the ride works; a second number without an Add in hand says what is missing instead of offering a doomed button; and the button's label says "spends your Add" at the moment it does. Co-Authored-By: Claude Fable 5 --- packages/web/src/App.svelte | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/packages/web/src/App.svelte b/packages/web/src/App.svelte index ebd8330..dbfa8a5 100644 --- a/packages/web/src/App.svelte +++ b/packages/web/src/App.svelte @@ -1681,10 +1681,20 @@ clearSelection(); }}>Drop it here {/if} + {#if selectedCard?.cardId === "add"} + — ADD rides a second NUMBER: play one number for movement, + then play another, and the Add spends itself + {/if} {#if selectedCard && isNumberCard(selectedCard.cardId)} - + {@const needsAdd = view.turn.numberPlayedForMovement} + {@const haveAdd = view.yourHand.some((c) => c.cardId === "add")} + {#if needsAdd && !haveAdd} + — a second movement number needs an ADD card + {:else} + + {/if} {/if} {/if}