diff --git a/packages/web/public/tokens-svg b/packages/web/public/tokens-svg
new file mode 120000
index 0000000..323c669
--- /dev/null
+++ b/packages/web/public/tokens-svg
@@ -0,0 +1 @@
+../../../research/tokens-svg
\ No newline at end of file
diff --git a/packages/web/src/App.svelte b/packages/web/src/App.svelte
index 9c8d3b9..3073b58 100644
--- a/packages/web/src/App.svelte
+++ b/packages/web/src/App.svelte
@@ -8,6 +8,7 @@
import Replay from "./Replay.svelte";
import FxGallery from "./FxGallery.svelte";
import { fxForEvents, fxTtl, type BoardFx } from "./fx";
+ import { tokenArt } from "./art";
import { local } from "./local.svelte";
import { allCardDefs, cardDef, isNumberCard, SIDES, stepTarget, cellKey, isMovableObject, sightedCellsFor, type GameView, eligibleCellsFor } from "@wizwar/engine";
import type { CardInstance, Side } from "@wizwar/engine";
@@ -1076,7 +1077,7 @@
onclick={() => (setupColor = c)}
aria-label={`wizard color ${c + 1}${taken ? " (taken)" : ""}`}
>
-
+
{/each}
@@ -1211,7 +1212,7 @@
{@const chosen = net.roomColors[p]}
{#if chosen !== undefined}
-
+
{:else}
{/if}
@@ -1231,7 +1232,7 @@
onclick={() => net.pickColor(c)}
aria-label={`wizard color ${c + 1}${takenBy && takenBy !== net.you ? ` (taken by ${takenBy})` : ""}`}
>
-
+
{/each}
diff --git a/packages/web/src/Board.svelte b/packages/web/src/Board.svelte
index a683c98..29ad938 100644
--- a/packages/web/src/Board.svelte
+++ b/packages/web/src/Board.svelte
@@ -2,6 +2,7 @@
import type { GameView } from "@wizwar/engine";
import type { Side } from "@wizwar/engine";
import { colorIndexOf as sharedColorIndex, wizardColor } from "./colors";
+ import { tokenArt } from "./art";
import { FX_SPRITES } from "./fx-sprites";
const CELL = 48;
@@ -119,10 +120,10 @@
return 1;
}
function wizardArt(id: string): string {
- return `/tokens/wizard-${sharedColorIndex(view, id) % 6}.png`;
+ return tokenArt(`wizard-${sharedColorIndex(view, id) % 6}`, "players");
}
function treasureArt(owner: string): string {
- return `/tokens/treasure-${sharedColorIndex(view, owner) % 6}.png`;
+ return tokenArt(`treasure-${sharedColorIndex(view, owner) % 6}`, "objects");
}
function playerColor(id: string): string {
@@ -298,7 +299,7 @@
{@const sy = Number(key.split(",")[1])}
{#if USE_TOKEN_ART && TERRAIN_ART[content.kind]}
{#if USE_TOKEN_ART && CREATURE_ART[c.kind]}
= {
+ players: q.get("svgPlayers") === "true",
+ creatures: q.get("svgCreatures") === "true",
+ terrain: q.get("svgTerrain") === "true",
+ objects: q.get("svgObjects") === "true",
+};
+
+export function tokenArt(file: string, cat: ArtCategory): string {
+ return SVG_ART[cat] ? `/tokens-svg/${file}.svg` : `/tokens/${file}.png`;
+}
diff --git a/research/tokens-svg/alter-ego.svg b/research/tokens-svg/alter-ego.svg
new file mode 100644
index 0000000..dc5ec77
--- /dev/null
+++ b/research/tokens-svg/alter-ego.svg
@@ -0,0 +1,12 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/boobytrap.svg b/research/tokens-svg/boobytrap.svg
new file mode 100644
index 0000000..9e27e1b
--- /dev/null
+++ b/research/tokens-svg/boobytrap.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/dagger.svg b/research/tokens-svg/dagger.svg
new file mode 100644
index 0000000..5d967c8
--- /dev/null
+++ b/research/tokens-svg/dagger.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/democratic-monster.svg b/research/tokens-svg/democratic-monster.svg
new file mode 100644
index 0000000..abb5c1f
--- /dev/null
+++ b/research/tokens-svg/democratic-monster.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/destroy-wall.svg b/research/tokens-svg/destroy-wall.svg
new file mode 100644
index 0000000..3166b48
--- /dev/null
+++ b/research/tokens-svg/destroy-wall.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/dimensional-warp.svg b/research/tokens-svg/dimensional-warp.svg
new file mode 100644
index 0000000..a1c431a
--- /dev/null
+++ b/research/tokens-svg/dimensional-warp.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/door.svg b/research/tokens-svg/door.svg
new file mode 100644
index 0000000..f7a086e
--- /dev/null
+++ b/research/tokens-svg/door.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/dustcloud.svg b/research/tokens-svg/dustcloud.svg
new file mode 100644
index 0000000..1c64977
--- /dev/null
+++ b/research/tokens-svg/dustcloud.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/fire-imp.svg b/research/tokens-svg/fire-imp.svg
new file mode 100644
index 0000000..4a134d1
--- /dev/null
+++ b/research/tokens-svg/fire-imp.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/fire-wall.svg b/research/tokens-svg/fire-wall.svg
new file mode 100644
index 0000000..92a9d30
--- /dev/null
+++ b/research/tokens-svg/fire-wall.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/illusion-wall.svg b/research/tokens-svg/illusion-wall.svg
new file mode 100644
index 0000000..9f13e87
--- /dev/null
+++ b/research/tokens-svg/illusion-wall.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/index.html b/research/tokens-svg/index.html
new file mode 100644
index 0000000..bb30559
--- /dev/null
+++ b/research/tokens-svg/index.html
@@ -0,0 +1 @@
+Whimsical token SVGsalter-egoboobytrapdaggerdemocratic-monsterdestroy-walldimensional-warpdoordustcloudfire-impfire-wallillusion-walljam-lockkiller-oozelock-gonemagic-stonemagic-wandmaster-keypitredirection-aredirection-brockrosebushsafeshadowskeletonslimesolid-stonetacksthorn-bushtreasure-0treasure-1treasure-2treasure-3treasure-4treasure-5trollwallwall-2wizard-0wizard-1wizard-2wizard-3wizard-4wizard-5wraith
\ No newline at end of file
diff --git a/research/tokens-svg/jam-lock.svg b/research/tokens-svg/jam-lock.svg
new file mode 100644
index 0000000..f78c2a0
--- /dev/null
+++ b/research/tokens-svg/jam-lock.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/killer-ooze.svg b/research/tokens-svg/killer-ooze.svg
new file mode 100644
index 0000000..9190751
--- /dev/null
+++ b/research/tokens-svg/killer-ooze.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/lock-gone.svg b/research/tokens-svg/lock-gone.svg
new file mode 100644
index 0000000..1174220
--- /dev/null
+++ b/research/tokens-svg/lock-gone.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/magic-stone.svg b/research/tokens-svg/magic-stone.svg
new file mode 100644
index 0000000..6c5d574
--- /dev/null
+++ b/research/tokens-svg/magic-stone.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/magic-wand.svg b/research/tokens-svg/magic-wand.svg
new file mode 100644
index 0000000..0d57418
--- /dev/null
+++ b/research/tokens-svg/magic-wand.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/master-key.svg b/research/tokens-svg/master-key.svg
new file mode 100644
index 0000000..b7834f1
--- /dev/null
+++ b/research/tokens-svg/master-key.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/pit.svg b/research/tokens-svg/pit.svg
new file mode 100644
index 0000000..e3ca776
--- /dev/null
+++ b/research/tokens-svg/pit.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/redirection-a.svg b/research/tokens-svg/redirection-a.svg
new file mode 100644
index 0000000..78abd84
--- /dev/null
+++ b/research/tokens-svg/redirection-a.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/redirection-b.svg b/research/tokens-svg/redirection-b.svg
new file mode 100644
index 0000000..ebcda92
--- /dev/null
+++ b/research/tokens-svg/redirection-b.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/rock.svg b/research/tokens-svg/rock.svg
new file mode 100644
index 0000000..d521cde
--- /dev/null
+++ b/research/tokens-svg/rock.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/rosebush.svg b/research/tokens-svg/rosebush.svg
new file mode 100644
index 0000000..a61759f
--- /dev/null
+++ b/research/tokens-svg/rosebush.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/safe.svg b/research/tokens-svg/safe.svg
new file mode 100644
index 0000000..3d79fca
--- /dev/null
+++ b/research/tokens-svg/safe.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/shadow.svg b/research/tokens-svg/shadow.svg
new file mode 100644
index 0000000..7fe1bba
--- /dev/null
+++ b/research/tokens-svg/shadow.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/skeleton.svg b/research/tokens-svg/skeleton.svg
new file mode 100644
index 0000000..b59bb68
--- /dev/null
+++ b/research/tokens-svg/skeleton.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/slime.svg b/research/tokens-svg/slime.svg
new file mode 100644
index 0000000..8448677
--- /dev/null
+++ b/research/tokens-svg/slime.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/solid-stone.svg b/research/tokens-svg/solid-stone.svg
new file mode 100644
index 0000000..c2b426a
--- /dev/null
+++ b/research/tokens-svg/solid-stone.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/tacks.svg b/research/tokens-svg/tacks.svg
new file mode 100644
index 0000000..a0311c1
--- /dev/null
+++ b/research/tokens-svg/tacks.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/thorn-bush.svg b/research/tokens-svg/thorn-bush.svg
new file mode 100644
index 0000000..c2b0b5d
--- /dev/null
+++ b/research/tokens-svg/thorn-bush.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/treasure-0.svg b/research/tokens-svg/treasure-0.svg
new file mode 100644
index 0000000..a824286
--- /dev/null
+++ b/research/tokens-svg/treasure-0.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/treasure-1.svg b/research/tokens-svg/treasure-1.svg
new file mode 100644
index 0000000..d1bf758
--- /dev/null
+++ b/research/tokens-svg/treasure-1.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/treasure-2.svg b/research/tokens-svg/treasure-2.svg
new file mode 100644
index 0000000..8085ba7
--- /dev/null
+++ b/research/tokens-svg/treasure-2.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/treasure-3.svg b/research/tokens-svg/treasure-3.svg
new file mode 100644
index 0000000..7a98c3d
--- /dev/null
+++ b/research/tokens-svg/treasure-3.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/treasure-4.svg b/research/tokens-svg/treasure-4.svg
new file mode 100644
index 0000000..da11335
--- /dev/null
+++ b/research/tokens-svg/treasure-4.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/treasure-5.svg b/research/tokens-svg/treasure-5.svg
new file mode 100644
index 0000000..778f44b
--- /dev/null
+++ b/research/tokens-svg/treasure-5.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/troll.svg b/research/tokens-svg/troll.svg
new file mode 100644
index 0000000..3c0a614
--- /dev/null
+++ b/research/tokens-svg/troll.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/wall-2.svg b/research/tokens-svg/wall-2.svg
new file mode 100644
index 0000000..1520ea2
--- /dev/null
+++ b/research/tokens-svg/wall-2.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/wall.svg b/research/tokens-svg/wall.svg
new file mode 100644
index 0000000..21002cc
--- /dev/null
+++ b/research/tokens-svg/wall.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/wizard-0.svg b/research/tokens-svg/wizard-0.svg
new file mode 100644
index 0000000..6954220
--- /dev/null
+++ b/research/tokens-svg/wizard-0.svg
@@ -0,0 +1,14 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/wizard-1.svg b/research/tokens-svg/wizard-1.svg
new file mode 100644
index 0000000..35ecf6c
--- /dev/null
+++ b/research/tokens-svg/wizard-1.svg
@@ -0,0 +1,14 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/wizard-2.svg b/research/tokens-svg/wizard-2.svg
new file mode 100644
index 0000000..5dcc7ed
--- /dev/null
+++ b/research/tokens-svg/wizard-2.svg
@@ -0,0 +1,14 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/wizard-3.svg b/research/tokens-svg/wizard-3.svg
new file mode 100644
index 0000000..7819353
--- /dev/null
+++ b/research/tokens-svg/wizard-3.svg
@@ -0,0 +1,14 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/wizard-4.svg b/research/tokens-svg/wizard-4.svg
new file mode 100644
index 0000000..4ec3fa1
--- /dev/null
+++ b/research/tokens-svg/wizard-4.svg
@@ -0,0 +1,14 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/wizard-5.svg b/research/tokens-svg/wizard-5.svg
new file mode 100644
index 0000000..dad0753
--- /dev/null
+++ b/research/tokens-svg/wizard-5.svg
@@ -0,0 +1,14 @@
+
\ No newline at end of file
diff --git a/research/tokens-svg/wraith.svg b/research/tokens-svg/wraith.svg
new file mode 100644
index 0000000..e7d4ebe
--- /dev/null
+++ b/research/tokens-svg/wraith.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file