diff --git a/packages/web/src/App.svelte b/packages/web/src/App.svelte
index 7dde936..0a29e64 100644
--- a/packages/web/src/App.svelte
+++ b/packages/web/src/App.svelte
@@ -991,13 +991,22 @@
{p.handCount} cards{#if p.lostTurns > 0} · dazed {p.lostTurns}{/if}{#if p.carriedTreasureId} · 💰{/if}
- {#if p.displayed.length > 0}
+ {@const spellsOn = view.sustained.filter((e) => e.targetId === p.id)}
+ {#if p.displayed.length > 0 || spellsOn.length > 0}
{#each p.displayed as c (c.instanceId)}
{/each}
+ {#each spellsOn as e (e.id)}
+
+ {/each}
{/if}
{/each}
@@ -1602,6 +1611,8 @@
cursor: pointer;
}
.table-card:hover { background: #efe6cc; }
+ .table-card.spell-chip { background: #ece2f2; border-color: #8a6fa0; color: #4a3260; }
+ .table-card.spell-chip:hover { background: #e3d5ee; }
.score-row.dead { opacity: 0.5; text-decoration: line-through; }
.score-name { font-family: "Caveat", cursive; font-size: 1.25rem; line-height: 1; flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.score-life { font-family: "Caveat", cursive; font-size: 1.4rem; font-weight: 700; min-width: 1.6rem; text-align: right; }
diff --git a/packages/web/src/Board.svelte b/packages/web/src/Board.svelte
index 99407ea..3bf1e7f 100644
--- a/packages/web/src/Board.svelte
+++ b/packages/web/src/Board.svelte
@@ -74,6 +74,12 @@
if (cardId.endsWith("-wand")) return "magic-wand";
return null;
}
+ // BIG MAN towers; SHRINK dwindles. The token says so at a glance.
+ function wizardScale(id: string): number {
+ if (view.sustained.some((e) => e.cardId === "big-man" && e.targetId === id)) return 1.5;
+ if (view.sustained.some((e) => e.cardId === "shrink" && e.targetId === id)) return 0.62;
+ return 1;
+ }
function wizardArt(id: string): string {
return `/tokens/wizard-${colorIndexOf(id) % 6}.png`;
}
@@ -381,20 +387,21 @@
class="wizard"
>
{#if USE_TOKEN_ART}
+ {@const half = CELL * 0.3 * wizardScale(p.id)}
{:else}
-
+
{p.id[0]?.toUpperCase()}
{/if}
{#if p.carriedTreasureId}