diff --git a/packages/web/src/App.svelte b/packages/web/src/App.svelte index 2aba538..da90097 100644 --- a/packages/web/src/App.svelte +++ b/packages/web/src/App.svelte @@ -912,10 +912,18 @@ return; } const me = view.players.find((p) => p.id === view.you)!; + // "Spells cast at the slime get stuck there": an attack tapped onto a + // slime waits in the gel for whoever enters. + if (selectedCard && view.squareContents[cellKey(cell)]?.kind === "slime" && + cardDef(selectedCard.cardId).cardType === "attack") { + dispatch(withMods({ type: "cast", instanceId: selectedCard.instanceId, target: { kind: "cell", cell } })); + clearSelection(); + return; + } // A card in hand is aimed, not walked with: a tap on a bare square // while holding one is a miss, never a stride into whatever is there. if (selectedCard) { - net.error = `${cardDef(selectedCard.cardId).name} is aimed by tapping a wizard or creature — put the card down to walk`; + net.error = `${cardDef(selectedCard.cardId).name} is aimed by tapping a wizard, a creature, or a slime — put the card down to walk`; setTimeout(() => { if (net.error?.startsWith(cardDef(selectedCard!.cardId).name)) net.error = null; }, 5000); return; }