From 809ab1a837e0f748987bcf7d66defa11cb7a1792 Mon Sep 17 00:00:00 2001
From: Benjamin Auder <benjamin.auder@somewhere>
Date: Thu, 18 Feb 2021 12:16:07 +0100
Subject: [PATCH] Experimental loss on repetition for Shogi and Pandemonium.
 Simplify Crazyhouse, with better promoted pieces display

---
 client/public/images/pieces/Crazyhouse/bc.svg | 106 +++++++++
 client/public/images/pieces/Crazyhouse/bo.svg |  97 +++++++++
 client/public/images/pieces/Crazyhouse/bt.svg |  82 +++++++
 client/public/images/pieces/Crazyhouse/bu.svg |  92 ++++++++
 client/public/images/pieces/Crazyhouse/wc.svg | 118 ++++++++++
 client/public/images/pieces/Crazyhouse/wo.svg |  74 +++++++
 client/public/images/pieces/Crazyhouse/wt.svg | 142 ++++++++++++
 client/public/images/pieces/Crazyhouse/wu.svg | 106 +++++++++
 .../public/images/pieces/Pandemonium/ba.svg   | 151 ++++++++++++-
 .../public/images/pieces/Pandemonium/bg.svg   |  98 ++++++++-
 .../public/images/pieces/Pandemonium/bw.svg   | 149 ++++++++++++-
 .../public/images/pieces/Pandemonium/wa.svg   | 206 +++++++++++++++++-
 .../public/images/pieces/Pandemonium/wg.svg   | 153 ++++++++++++-
 .../public/images/pieces/Pandemonium/ww.svg   | 204 ++++++++++++++++-
 client/src/base_rules.js                      |   4 +
 .../src/translations/rules/Pandemonium/en.pug |   9 +-
 .../src/translations/rules/Pandemonium/es.pug |  10 +-
 .../src/translations/rules/Pandemonium/fr.pug |  10 +-
 client/src/variants/Crazyhouse.js             | 108 +++++----
 client/src/variants/Pandemonium.js            |   5 +
 client/src/variants/Shogi.js                  |   5 +
 client/src/views/Game.vue                     |   2 +-
 22 files changed, 1846 insertions(+), 85 deletions(-)
 create mode 100644 client/public/images/pieces/Crazyhouse/bc.svg
 create mode 100644 client/public/images/pieces/Crazyhouse/bo.svg
 create mode 100644 client/public/images/pieces/Crazyhouse/bt.svg
 create mode 100644 client/public/images/pieces/Crazyhouse/bu.svg
 create mode 100644 client/public/images/pieces/Crazyhouse/wc.svg
 create mode 100644 client/public/images/pieces/Crazyhouse/wo.svg
 create mode 100644 client/public/images/pieces/Crazyhouse/wt.svg
 create mode 100644 client/public/images/pieces/Crazyhouse/wu.svg
 mode change 120000 => 100644 client/public/images/pieces/Pandemonium/ba.svg
 mode change 120000 => 100644 client/public/images/pieces/Pandemonium/bg.svg
 mode change 120000 => 100644 client/public/images/pieces/Pandemonium/bw.svg
 mode change 120000 => 100644 client/public/images/pieces/Pandemonium/wa.svg
 mode change 120000 => 100644 client/public/images/pieces/Pandemonium/wg.svg
 mode change 120000 => 100644 client/public/images/pieces/Pandemonium/ww.svg

diff --git a/client/public/images/pieces/Crazyhouse/bc.svg b/client/public/images/pieces/Crazyhouse/bc.svg
new file mode 100644
index 00000000..61bd4482
--- /dev/null
+++ b/client/public/images/pieces/Crazyhouse/bc.svg
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   height="100%"
+   width="100%"
+   version="1.1"
+   viewBox="0 0 2048 2048"
+   id="svg16"
+   sodipodi:docname="bb.svg"
+   inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
+  <metadata
+     id="metadata22">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs20" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="960"
+     inkscape:window-height="530"
+     id="namedview18"
+     showgrid="false"
+     inkscape:zoom="0.43115234"
+     inkscape:cx="1024"
+     inkscape:cy="1021.6806"
+     inkscape:window-x="960"
+     inkscape:window-y="550"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg16" />
+  <path
+     style="color:black;"
+     d="m1290 582l-42 102q-102 22-224 22-121 0-222-22l-42-101q124 31 264 31 138 0 266-32zm-84 206l-29 70v27q-76 11-153 11-75 0-152-11l-1-27-27-70q85 15 180 15 96 0 182-15zm-35-378q-40 30-80 95h-32q0-49 23-95h89zm-206 0q23 49 23 95h-32q-39-64-81-95h90zm59-18q-14-57-34-79t-53-46q-36-25-85-42t-109-9l-281 39q-17 2-30 0t-26-2q-21 0-53-9t-51-28l-97 159q18 20 32 28t33 17q58 27 124 33 28 2 55 1t56 2q54-9 108-16t110-16q60 0 81 12 11 6 35 22t48 47q-53 6-108 20t-97 31l104 258q-78 45-109 72t-49 64q-26 46-33 89t-7 77q1 60 28 132t104 130q63 48 123 99t119 119q-74 38-74 121 0 56 39 96t97 40q56 0 96-40t40-96q0-82-74-121 58-68 117-119t125-99q75-57 102-129t29-133q0-34-7-77t-32-89q-20-36-50-63t-108-73l104-258q-44-16-99-30t-106-21q23-31 47-47t36-22q21-12 81-12 54 8 108 15t110 17q27-3 54-2t57-1q64-6 124-33 18-9 32-17t33-28l-98-159q-18 18-50 27t-53 10q-13 0-26 2t-31 0l-280-39q-60-9-111 8t-85 45q-33 27-52 46t-33 77zm-37 744v-85q0-37 37-37t37 37v86h90q35 0 35 36t-35 36h-90v90q0 37-37 37t-37-37v-90h-88q-35 0-35-36t35-36l88-1z"
+     fill-rule="nonzero"
+     transform="translate(0,2048) scale(1,-1)"
+     display="block"
+     fill="#000"
+     id="path2" />
+  <g
+     fill-rule="nonzero"
+     fill="#fff"
+     id="g14">
+    <path
+       style="color:black;"
+       d="m1290 1466-42-102q-102-22-224-22-121 0-222 22l-42 101q124-31 264-31 138 0 266 32z"
+       display="block"
+       id="path4" />
+    <path
+       style="color:black;"
+       d="m1206 1260-29-70v-27q-76-11-153-11-75 0-152 11l-1 27-27 70q85-15 180-15 96 0 182 15z"
+       display="block"
+       id="path6" />
+    <path
+       style="color:black;"
+       d="m1171 1638q-40-30-80-95h-32q0 49 23 95h89z"
+       display="block"
+       id="path8" />
+    <path
+       style="color:black;"
+       d="m965 1638q23-49 23-95h-32q-39 64-81 95h90z"
+       display="block"
+       id="path10" />
+    <path
+       style="color:black;"
+       d="m987 912v85q0 37 37 37t37-37v-86h90q35 0 35-36t-35-36h-90v-90q0-37-37-37t-37 37v90h-88q-35 0-35 36t35 36l88 1z"
+       display="block"
+       id="path12" />
+  </g>
+  <path
+     style="color:#000000;stroke-width:0.439802"
+     d="m 1023.3939,1234 h 237.3938 q 10.1533,-28.8044 10.1533,-56.4086 0,-62.4095 -41.5801,-113.2172 -41.5802,-50.8077 -107.8184,-74.8114 -31.9104,-2.0003 -31.9104,-28.8044 0,-21.2032 32.3939,-31.2047 44.9646,-26.004 44.9646,-68.8105 0,-30.8046 -25.1415,-54.0082 -25.1415,-23.2035 -60.9198,-26.804 -29.0095,-2.0003 -29.0095,-27.2042 0,-11.2017 10.6368,-20.8031 26.1085,-16.8026 26.1085,-44.0067 0,-22.4034 -19.3396,-38.4059 -19.3396,-16.0024 -45.9316,-16.0024 -27.559,0 -46.4151,16.0024 -18.8561,16.0025 -19.3396,38.4059 0,26.8041 26.1085,44.0067 10.6368,8.8013 10.6368,20.8031 0,25.2039 -28.526,27.2042 -36.2618,3.6005 -60.9198,26.804 -24.658,23.2036 -25.1415,54.0082 0,42.8065 44.9646,68.8105 32.3939,10.4016 32.3939,31.2047 0,26.8041 -32.3939,28.8044 -65.7547,24.0037 -107.3349,74.8114 -41.5802,50.8077 -41.5802,113.2172 0,29.6045 10.1533,56.4086 z m 0,27.2041 H 762.309 q -19.3396,-40.0061 -19.3396,-83.6127 0,-74.0113 50.7665,-132.8202 50.7665,-58.8089 130.5424,-84.0128 -34.3278,-13.202 -55.6014,-39.606 -21.2736,-26.404 -21.7571,-60.4092 0,-42.0063 33.8444,-72.811 33.8443,-30.8047 83.1604,-35.6054 -39.1628,-24.4037 -39.1628,-64.4098 0,-33.6051 28.526,-57.6088 28.5259,-24.0036 70.1061,-24.0036 40.6132,0 69.6226,24.0036 29.0095,24.0037 29.0095,57.6088 0,40.0061 -39.1628,64.4098 49.3161,4.8007 83.1604,35.6054 33.8443,30.8047 33.8443,72.811 0,33.6051 -21.757,60.0092 -21.7571,26.404 -56.0849,40.006 79.7759,25.2039 130.5424,84.0128 50.7665,58.8089 50.7665,132.8202 0,43.2066 -18.8561,83.6127 z"
+     fill-rule="nonzero"
+     display="block"
+     fill="#000000"
+     id="path105" />
+  <path
+     style="color:#000000;stroke-width:0.439802"
+     d="m 1023.3939,1234 h 237.3938 q 10.1533,-28.8044 10.1533,-56.4086 0,-62.4095 -41.5801,-113.2172 -41.5802,-50.8077 -107.8184,-74.8114 -31.9104,-2.0003 -31.9104,-28.8044 0,-21.2032 32.3939,-31.2047 44.9646,-26.004 44.9646,-68.8105 0,-30.8046 -25.1415,-54.0082 -25.1415,-23.2035 -60.9198,-26.804 -29.0095,-2.0003 -29.0095,-27.2042 0,-11.2017 10.6368,-20.8031 26.1085,-16.8026 26.1085,-44.0067 0,-22.4034 -19.3396,-38.4059 -19.3396,-16.0024 -45.9316,-16.0024 -27.559,0 -46.4151,16.0024 -18.8561,16.0025 -19.3396,38.4059 0,26.8041 26.1085,44.0067 10.6368,8.8013 10.6368,20.8031 0,25.2039 -28.526,27.2042 -36.2618,3.6005 -60.9198,26.804 -24.658,23.2036 -25.1415,54.0082 0,42.8065 44.9646,68.8105 32.3939,10.4016 32.3939,31.2047 0,26.8041 -32.3939,28.8044 -65.7547,24.0037 -107.3349,74.8114 -41.5802,50.8077 -41.5802,113.2172 0,29.6045 10.1533,56.4086 z"
+     fill-rule="nonzero"
+     display="block"
+     fill="#ffffff"
+     id="path107" />
+  <path
+     style="fill:#ff4500;stroke:#000000;stroke-width:2.31937"
+     d="m 786.61006,1230.9819 c -0.59862,-0.9686 -2.74764,-8.1643 -4.77561,-15.9905 -4.82905,-18.6359 -4.82308,-57.2955 0.0119,-77.1943 10.8323,-44.5811 44.25691,-89.5224 88.61357,-119.146 18.6387,-12.4478 48.57838,-26.63989 60.01441,-28.44813 15.0041,-2.37246 23.306,-8.56299 26.27623,-19.59356 4.88144,-18.12824 -2.46759,-29.49211 -26.33365,-40.72 -18.60156,-8.75117 -36.73361,-25.84592 -43.43044,-40.94583 -20.46524,-46.14474 14.63368,-96.40522 74.8846,-107.23223 20.86466,-3.74935 23.906,-4.97737 27.97778,-11.29682 9.68128,-15.02544 6.95602,-26.49636 -10.34119,-43.5271 -7.48608,-7.37075 -15.14979,-17.08408 -17.03047,-21.58519 -7.48275,-17.90875 -1.91432,-37.92905 14.72132,-52.9279 24.73459,-22.30091 62.19649,-23.59895 89.06159,-3.08594 26.1185,19.94299 27.2567,53.99546 2.5243,75.5251 -12.7511,11.09991 -16.9194,18.36592 -16.9367,29.52363 -0.025,16.0273 8.1572,22.96208 32.4311,27.48707 36.4059,6.78655 61.0291,23.63239 74.4801,50.95525 6.7108,13.6317 7.2426,16.34798 6.2448,31.89589 -1.939,30.21459 -18.0443,50.8154 -52.4261,67.06003 -17.1214,8.08949 -23.6137,16.66365 -23.6267,31.20331 -0.012,13.81888 8.109,22.82092 23.5819,26.13928 15.2585,3.27237 45.891,17.63634 64.821,30.39544 20.8111,14.027 49.1637,42.1357 62.3306,61.7945 27.6231,41.2427 36.6843,93.0093 24.119,137.7918 l -3.8394,13.6832 h -236.1328 c -129.87298,0 -236.62251,-0.7925 -237.22113,-1.761 z"
+     id="path245" />
+</svg>
diff --git a/client/public/images/pieces/Crazyhouse/bo.svg b/client/public/images/pieces/Crazyhouse/bo.svg
new file mode 100644
index 00000000..02bff6ac
--- /dev/null
+++ b/client/public/images/pieces/Crazyhouse/bo.svg
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   height="100%"
+   width="100%"
+   version="1.1"
+   viewBox="0 0 2048 2048"
+   id="svg349"
+   sodipodi:docname="bn.svg"
+   inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
+  <metadata
+     id="metadata355">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs353" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="960"
+     inkscape:window-height="1060"
+     id="namedview351"
+     showgrid="false"
+     inkscape:zoom="0.43115234"
+     inkscape:cx="1024"
+     inkscape:cy="1024"
+     inkscape:window-x="0"
+     inkscape:window-y="20"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg349" />
+  <path
+     style="color:black;"
+     d="m490 683q4 9 13 27 17 42 17 50-2 28-29 28-20 0-47-57-4-8-12-14-27-28 8-47 32-19 50 13zm590 371q70 92 69 205-4 33-38 33-46 0-36-34 3-55-11-91-23-57-51-85-15-30 18-44 32-15 49 16zm-261 488q-5 36 2 78-60-12-113-56-32-17-15-47 17-31 47-10 21 11 38 20t41 15zm937-1268q-1 0 2 54t3 118q1 125 0 258t-36 267q-34 128-75 218t-89 157q-72 108-196 183t-259 98q4-23 3-47t0-46q97-33 183-82t126-106q48-66 89-156t75-219q34-133 35-266t1-259q0-63-3-117t0-55h141zm-677 1423q157-10 291-81t228-182q66-78 124-188t94-233q40-143 50-300t11-292v-218t-155 0-404 0h-671q-9 0-9 49t7 79q4 24 19 68t50 107q16 32 76 93t138 143q45 46 70 116t22 127q-37-30-81-49-212-76-307-220-7-9-45-81-20-38-34-52-19-19-55-21-56-3-87 54-42-12-75-10-56 21-81 45-51 51-66 102t-16 110q0 84 104 222 122 159 130 242 0 36 7 81 6 31 25 60 13 20 17 27t17 23q9 12 15 18t15 18q11 13 28 30-53 146-43 301 199-71 334-223 33 113 130 183 80-56 127-148zm-675-836q29 20 6 48-24 23-53 4-61-40-65-105 1-33 39-31 36 3 35 37 8 32 38 47zm252 498q22 11 22 11 30 12 19 44-12 30-46 20-118-43-163-158-7-33 24-45 31-10 42 22 8 17 12 22 11-9 29-12 61-10 71 54 3 22-10 42z"
+     fill-rule="nonzero"
+     transform="translate(0,2048) scale(1,-1)"
+     display="block"
+     fill="#000"
+     id="path333" />
+  <g
+     fill-rule="nonzero"
+     fill="#fff"
+     id="g347">
+    <path
+       style="color:black;"
+       d="m490 1365q4-9 13-27 17-42 17-50-2-28-29-28-20 0-47 57-4 8-12 14-27 28 8 47 32 19 50-13z"
+       display="block"
+       id="path335" />
+    <path
+       style="color:black;"
+       d="m1080 994q70-92 69-205-4-33-38-33-46 0-36 34 3 55-11 91-23 57-51 85-15 30 18 44 32 15 49-16z"
+       display="block"
+       id="path337" />
+    <path
+       style="color:black;"
+       d="m819 506q-5-36 2-78-60 12-113 56-32 17-15 47 17 31 47 10 21-11 38-20t41-15z"
+       display="block"
+       id="path339" />
+    <path
+       style="color:black;"
+       d="m1756 1774q-1 0 2-54t3-118q1-125 0-258t-36-267q-34-128-75-218t-89-157q-72-108-196-183t-259-98q4 23 3 47t0 46q97 33 183 82t126 106q48 66 89 156t75 219q34 133 35 266t1 259q0 63-3 117t0 55h141z"
+       display="block"
+       id="path341" />
+    <path
+       style="color:black;"
+       d="m404 1187q29-20 6-48-24-23-53-4-61 40-65 105 1 33 39 31 36-3 35-37 8-32 38-47z"
+       display="block"
+       id="path343" />
+    <path
+       style="color:black;"
+       d="m656 689q22-11 22-11 30-12 19-44-12-30-46-20-118 43-163 158-7 33 24 45 31 10 42-22 8-17 12-22 11 9 29 12 61 10 71-54 3-22-10-42z"
+       display="block"
+       id="path345" />
+  </g>
+  <path
+     style="fill:#ff4500;stroke:#000000;stroke-width:2.31937"
+     d="m 1096.5105,1505.8761 c -0.5987,-0.9686 -2.7477,-8.1643 -4.7757,-15.9905 -4.829,-18.6359 -4.823,-57.2955 0.012,-77.1943 10.8323,-44.5811 44.2569,-89.5224 88.6136,-119.146 18.6387,-12.4478 48.5784,-26.6399 60.0144,-28.4482 15.0041,-2.3724 23.306,-8.563 26.2763,-19.5935 4.8814,-18.1283 -2.4676,-29.4921 -26.3337,-40.72 -18.6016,-8.7512 -36.7336,-25.846 -43.4304,-40.9459 -20.4653,-46.1447 14.6336,-96.4052 74.8846,-107.2322 20.8646,-3.7493 23.906,-4.9774 27.9777,-11.2968 9.6813,-15.0255 6.9561,-26.4964 -10.3411,-43.5272 -7.4861,-7.37077 -15.1498,-17.08407 -17.0305,-21.58517 -7.4828,-17.9088 -1.9143,-37.9291 14.7213,-52.9279 24.7346,-22.30091 62.1965,-23.59895 89.0616,-3.08594 26.1185,19.94294 27.2567,53.99544 2.5243,75.52514 -12.7511,11.09997 -16.9194,18.36597 -16.9367,29.52367 -0.025,16.0273 8.1572,22.9621 32.4311,27.4871 36.4059,6.7865 61.0291,23.6323 74.4801,50.9552 6.7108,13.6317 7.2426,16.348 6.2448,31.8959 -1.939,30.2146 -18.0443,50.8154 -52.4261,67.06 -17.1214,8.0895 -23.6137,16.6637 -23.6267,31.2033 -0.012,13.8189 8.109,22.821 23.5819,26.1393 15.2585,3.2724 45.891,17.6364 64.821,30.3955 20.8111,14.027 49.1637,42.1357 62.3306,61.7945 27.6231,41.2427 36.6843,93.0093 24.119,137.7918 l -3.8394,13.6832 h -236.1328 c -129.873,0 -236.6225,-0.7925 -237.2211,-1.761 z"
+     id="path245" />
+</svg>
diff --git a/client/public/images/pieces/Crazyhouse/bt.svg b/client/public/images/pieces/Crazyhouse/bt.svg
new file mode 100644
index 00000000..d38046b4
--- /dev/null
+++ b/client/public/images/pieces/Crazyhouse/bt.svg
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   height="100%"
+   width="100%"
+   version="1.1"
+   viewBox="0 0 2048 2048"
+   id="svg527"
+   sodipodi:docname="bq.svg"
+   inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
+  <metadata
+     id="metadata533">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs531" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="960"
+     inkscape:window-height="1060"
+     id="namedview529"
+     showgrid="false"
+     inkscape:zoom="0.43115234"
+     inkscape:cx="1024"
+     inkscape:cy="1024"
+     inkscape:window-x="0"
+     inkscape:window-y="20"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg527" />
+  <path
+     style="color:black;"
+     d="m1588 793q-83 30-233 49t-333 20q-178 0-326-18t-233-49l50-91q84 25 218 36t293 11q159 0 294-11t219-37l51 90zm226 668q-57 0-97 39t-40 97q0 56 40 96t97 41q56 0 96-40t40-97q0-57-40-96t-96-40zm-1578 0q-57 0-96 39t-40 97q0 56 39 96t97 41q57 0 97-40t40-97q0-57-40-96t-97-40zm1208 110q-57 0-96 39t-40 97q0 56 39 96t97 40q57 0 97-40t40-96q0-57-40-96t-97-40zm-840 0q-57 0-97 39t-40 97q0 56 40 96t97 40q56 0 96-40t40-96q0-57-40-96t-96-40zm1036-1288q-49-43-220-72t-394-29q-227 0-399 30t-217 75l63 240-28 157-88 153-85 622 49 19 274-462 6 550 68 12 209-553 112 595h69l112-593 207 551 69-12 6-550 275 463 47-22-83-619-89-153-28-159 65-243zm-96 32l-30 118q-195 45-490 45-292 0-488-45l-32-119q190 58 521 58 159 0 295-16t224-41zm-26 299q-184 51-490 51-308 0-496-52l15-101q189 49 481 49 291 0 474-48l16 101zm-494 1007q-57 0-96 40t-40 97q0 56 39 96t97 40q56 0 96-40t41-96q0-57-40-97t-97-40z"
+     fill-rule="nonzero"
+     transform="translate(0,2048) scale(1,-1)"
+     display="block"
+     fill="#000"
+     id="path517" />
+  <g
+     fill-rule="nonzero"
+     fill="#fff"
+     id="g525">
+    <path
+       style="color:black;"
+       d="m1588 1255q-83-30-233-49t-333-20q-178 0-326 18t-233 49l50 91q84-25 218-36t293-11 294 11 219 37l51-90z"
+       display="block"
+       id="path519" />
+    <path
+       style="color:black;"
+       d="m1544 1733-30-118q-195-45-490-45-292 0-488 45l-32 119q190-58 521-58 159 0 295 16t224 41z"
+       display="block"
+       id="path521" />
+    <path
+       style="color:black;"
+       d="m1518 1434q-184-51-490-51-308 0-496 52l15 101q189-49 481-49 291 0 474 48l16-101z"
+       display="block"
+       id="path523" />
+  </g>
+  <path
+     style="fill:#ff4500;stroke:#000000;stroke-width:2.31937"
+     d="m 770.48633,1780.6946 c -0.5986,-0.9686 -2.7476,-8.1643 -4.7756,-15.9905 -4.8291,-18.6359 -4.8231,-57.2955 0.012,-77.1943 10.8323,-44.5811 44.2569,-89.5224 88.6136,-119.146 18.6387,-12.4478 48.5783,-26.6398 60.0144,-28.4481 15.0041,-2.3724 23.306,-8.563 26.2762,-19.5935 4.8814,-18.1283 -2.4676,-29.4922 -26.3337,-40.72 -18.6015,-8.7512 -36.7336,-25.846 -43.4304,-40.9459 -20.4652,-46.1447 14.6337,-96.4052 74.8846,-107.2322 20.8647,-3.7494 23.906,-4.9774 27.9778,-11.2968 9.6813,-15.0255 6.956,-26.4964 -10.3412,-43.5271 -7.4861,-7.3708 -15.1498,-17.0841 -17.0305,-21.5852 -7.4827,-17.9088 -1.9143,-37.9291 14.7214,-52.9279 24.7345,-22.3009 62.19637,-23.599 89.06147,-3.086 26.1185,19.943 27.2567,53.9955 2.5243,75.5251 -12.7511,11.1 -16.9194,18.366 -16.9367,29.5237 -0.025,16.0273 8.1572,22.9621 32.4311,27.487 36.4059,6.7866 61.0291,23.6324 74.4801,50.9553 6.7108,13.6317 7.2426,16.348 6.2448,31.8959 -1.939,30.2146 -18.0443,50.8154 -52.4261,67.06 -17.1214,8.0895 -23.6137,16.6637 -23.6267,31.2033 -0.012,13.8189 8.109,22.8209 23.5819,26.1393 15.2585,3.2724 45.891,17.6363 64.821,30.3954 20.8111,14.027 49.1637,42.1357 62.3306,61.7945 27.6231,41.2427 36.6843,93.0093 24.119,137.7918 l -3.8394,13.6832 h -236.1328 c -129.87287,0 -236.62247,-0.7925 -237.22107,-1.761 z"
+     id="path245" />
+</svg>
diff --git a/client/public/images/pieces/Crazyhouse/bu.svg b/client/public/images/pieces/Crazyhouse/bu.svg
new file mode 100644
index 00000000..ac04efc0
--- /dev/null
+++ b/client/public/images/pieces/Crazyhouse/bu.svg
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   height="100%"
+   width="100%"
+   version="1.1"
+   viewBox="0 0 2048 2048"
+   id="svg725"
+   sodipodi:docname="br.svg"
+   inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
+  <metadata
+     id="metadata731">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs729" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="960"
+     inkscape:window-height="1060"
+     id="namedview727"
+     showgrid="false"
+     inkscape:zoom="0.43115234"
+     inkscape:cx="1024"
+     inkscape:cy="1024"
+     inkscape:window-x="0"
+     inkscape:window-y="20"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg725" />
+  <path
+     style="color:black;"
+     d="m1161 1706h170v137h274v-375l-222-171v-478l170-170v-205h153v-239h-1365v239h153v205l171 170v478l-222 171v375h273v-137h171v137h274v-137zm-597-1246v-102h920v102h-920zm460 1092h-512v-46l73-55h879l71 55v46h-511zm0-169h-350l60-47v-57h580v57l60 47h-350zm0-546h-290v-46l-60-58h700l-60 58v46h-290zm0-172h-414l-46-43v-58h920v58l-46 43h-414z"
+     fill-rule="nonzero"
+     transform="translate(0,2048) scale(1,-1)"
+     display="block"
+     fill="#000"
+     id="path711" />
+  <g
+     fill-rule="nonzero"
+     fill="#fff"
+     id="g723">
+    <path
+       style="color:black;"
+       d="m564 1588v102h920v-102h-920z"
+       display="block"
+       id="path713" />
+    <path
+       style="color:black;"
+       d="m1024 496h-512v46l73 55h879l71-55v-46h-511z"
+       display="block"
+       id="path715" />
+    <path
+       style="color:black;"
+       d="m1024 665h-350l60 47v57h580v-57l60-47h-350z"
+       display="block"
+       id="path717" />
+    <path
+       style="color:black;"
+       d="m1024 1211h-290v46l-60 58h700l-60-58v-46h-290z"
+       display="block"
+       id="path719" />
+    <path
+       style="color:black;"
+       d="m1024 1383h-414l-46 43v58h920v-58l-46-43h-414z"
+       display="block"
+       id="path721" />
+  </g>
+  <path
+     style="fill:#ff4500;stroke:#000000;stroke-width:2.31937"
+     d="m 781.56521,1287.164 c -0.5986,-0.9686 -2.7476,-8.1643 -4.7756,-15.9905 -4.829,-18.6359 -4.8231,-57.2955 0.012,-77.1943 10.8323,-44.5811 44.2569,-89.5224 88.6136,-119.146 18.6387,-12.4478 48.5784,-26.6399 60.0144,-28.4481 15.0041,-2.3725 23.306,-8.563 26.2762,-19.5936 4.8815,-18.1282 -2.4676,-29.49211 -26.3336,-40.72 -18.6016,-8.75117 -36.7336,-25.84592 -43.4305,-40.94583 -20.4652,-46.14474 14.6337,-96.40522 74.8846,-107.23223 20.8647,-3.74935 23.906,-4.97737 27.9778,-11.29682 9.6813,-15.02544 6.956,-26.49636 -10.3412,-43.5271 -7.486,-7.37075 -15.1498,-17.08408 -17.0304,-21.58519 -7.4828,-17.90875 -1.9144,-37.92905 14.7213,-52.9279 24.7346,-22.30091 62.19649,-23.59895 89.06159,-3.08594 26.1185,19.94299 27.2567,53.99546 2.5243,75.5251 -12.7511,11.09991 -16.9194,18.36592 -16.9367,29.52363 -0.025,16.0273 8.1572,22.96208 32.4311,27.48707 36.4059,6.78655 61.0291,23.63239 74.4801,50.95525 6.7108,13.6317 7.2426,16.34798 6.2448,31.89589 -1.939,30.21459 -18.0443,50.8154 -52.4261,67.06003 -17.1214,8.08949 -23.6137,16.66364 -23.6267,31.20334 -0.012,13.8189 8.109,22.8209 23.5819,26.1393 15.2585,3.2723 45.891,17.6363 64.821,30.3954 20.8111,14.027 49.1637,42.1357 62.3306,61.7945 27.6231,41.2427 36.6843,93.0093 24.119,137.7918 l -3.8394,13.6832 h -236.1328 c -129.87299,0 -236.62249,-0.7925 -237.22119,-1.761 z"
+     id="path245" />
+</svg>
diff --git a/client/public/images/pieces/Crazyhouse/wc.svg b/client/public/images/pieces/Crazyhouse/wc.svg
new file mode 100644
index 00000000..abcdb80f
--- /dev/null
+++ b/client/public/images/pieces/Crazyhouse/wc.svg
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   height="100%"
+   width="100%"
+   version="1.1"
+   viewBox="0 0 2048 2048"
+   id="svg221"
+   sodipodi:docname="wc.svg"
+   inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
+  <metadata
+     id="metadata227">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs225" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="960"
+     inkscape:window-height="1060"
+     id="namedview223"
+     showgrid="false"
+     inkscape:zoom="0.43115234"
+     inkscape:cx="1024"
+     inkscape:cy="1019.3612"
+     inkscape:window-x="0"
+     inkscape:window-y="20"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg221"
+     inkscape:document-rotation="0" />
+  <path
+     style="color:black;"
+     d="m1024 1166q97 0 186 15 98-35 142-109 38-64 38-141 0-46-23-101t-75-101q-59-49-129-107t-139-137q-70 78-140 136t-128 108q-53 45-75 100t-23 102q0 77 37 141 43 74 143 109 88-15 186-15z"
+     fill-rule="nonzero"
+     display="block"
+     fill="#fff"
+     id="path205" />
+  <path
+     style="color:black;"
+     d="m988 1138l-83 1q-34 0-34 34t34 34h83v86q0 35 36 35 35 0 35-35v-86h86q33 0 33-34t-33-34h-86v-82q0-36-35-36-36 0-36 36v81zm36-578q68 0 132 11t125 28q-117 31-257 31-142 0-257-31 58-16 123-27t134-12zm0 1089q68 0 68 68t-68 68-68-68 68-68zm0-949q117 0 225-23l-48 123q-88 14-177 14-91 0-178-14l-48-123q107 23 226 23zm0 182q97 0 186-15 98 35 142 109 38 64 38 141 0 46-23 101t-75 101q-59 49-129 107t-139 137q-70-78-140-136t-128-108q-53-45-75-100t-23-102q0-77 37-141 43-74 143-109 88 15 186 15zm-36-377h-32q-56-90-107-113-24-12-53-22t-67-10q-7 0-107 16-48 7-76 15t-44 10q-57 7-133-6-46-8-86-29l48-78q12 12 31 15t36 8q42 7 80 2 13-3 51-7t101-15q75-11 102-11 105 0 161 40 34 26 64 72t31 113zm36-113q-14-57-34-79t-53-46q-36-25-85-42t-109-9l-281 39q-17 2-30 0t-26-2q-21 0-53-9t-51-28l-97 159q18 20 32 28t33 17q58 27 124 33 28 2 55 1t56 2q54-9 108-16t110-16q60 0 81 12 11 6 35 22t48 47q-53 6-108 20t-97 31l104 258q-78 45-109 72t-49 64q-26 46-33 89t-7 77q1 60 28 132t104 130q63 48 123 99t119 119q-74 38-74 121 0 56 39 96t97 40q56 0 96-40t40-96q0-82-74-121 58-68 117-119t125-99q75-57 102-129t29-133q0-34-7-77t-32-89q-20-36-50-63t-108-73l104-258q-44-16-99-30t-106-21q23-31 47-47t36-22q21-12 81-12 54 8 108 15t110 17q27-3 54-2t57-1q64-6 124-33 18-9 32-17t33-28l-98-159q-18 18-50 27t-53 10q-13 0-26 2t-31 0l-280-39q-60-9-111 8t-85 45q-33 27-52 46t-33 77zm35 113q0-66 30-112t66-73q55-40 161-40 26 0 102 11 62 10 100 14t51 8q38 5 80-2 16-4 35-7t33-16l48 78q-41 21-87 29-76 13-133 6-17-2-44-10t-75-15q-101-16-107-16-39 0-68 10t-52 22q-53 24-108 113h-32z"
+     fill-rule="nonzero"
+     transform="translate(0,2048) scale(1,-1)"
+     display="block"
+     fill="#000"
+     id="path207" />
+  <g
+     fill-rule="nonzero"
+     fill="#fff"
+     id="g219">
+    <path
+       style="color:black;"
+       d="m1024 1488q68 0 132-11t125-28q-117-31-257-31-142 0-257 31 58 16 123 27t134 12z"
+       display="block"
+       id="path209" />
+    <path
+       style="color:black;"
+       d="m1024 399q68 0 68-68t-68-68-68 68 68 68z"
+       display="block"
+       id="path211" />
+    <path
+       style="color:black;"
+       d="m1024 1348q117 0 225 23l-48-123q-88-14-177-14-91 0-178 14l-48 123q107-23 226-23z"
+       display="block"
+       id="path213" />
+    <path
+       style="color:black;"
+       d="m988 1543h-32q-56 90-107 113-24 12-53 22t-67 10q-7 0-107-16-48-7-76-15t-44-10q-57-7-133 6-46 8-86 29l48 78q12-12 31-15t36-8q42-7 80-2 13 3 51 7t101 15q75 11 102 11 105 0 161-40 34-26 64-72t31-113z"
+       display="block"
+       id="path215" />
+    <path
+       style="color:black;"
+       d="m1059 1543q0 66 30 112t66 73q55 40 161 40 26 0 102-11 62-10 100-14t51-8q38-5 80 2 16 4 35 7t33 16l48-78q-41-21-87-29-76-13-133-6-17 2-44 10t-75 15q-101 16-107 16-39 0-68-10t-52-22q-53-24-108-113h-32z"
+       display="block"
+       id="path217" />
+  </g>
+  <path
+     style="color:#000000;stroke-width:0.439802"
+     d="m 1023.3939,1234 h 237.3938 q 10.1533,-28.8044 10.1533,-56.4086 0,-62.4095 -41.5801,-113.2172 -41.5802,-50.8077 -107.8184,-74.8114 -31.9104,-2.0003 -31.9104,-28.8044 0,-21.2032 32.3939,-31.2047 44.9646,-26.004 44.9646,-68.8105 0,-30.8046 -25.1415,-54.0082 -25.1415,-23.2035 -60.9198,-26.804 -29.0095,-2.0003 -29.0095,-27.2042 0,-11.2017 10.6368,-20.8031 26.1085,-16.8026 26.1085,-44.0067 0,-22.4034 -19.3396,-38.4059 -19.3396,-16.0024 -45.9316,-16.0024 -27.559,0 -46.4151,16.0024 -18.8561,16.0025 -19.3396,38.4059 0,26.8041 26.1085,44.0067 10.6368,8.8013 10.6368,20.8031 0,25.2039 -28.526,27.2042 -36.2618,3.6005 -60.9198,26.804 -24.658,23.2036 -25.1415,54.0082 0,42.8065 44.9646,68.8105 32.3939,10.4016 32.3939,31.2047 0,26.8041 -32.3939,28.8044 -65.7547,24.0037 -107.3349,74.8114 -41.5802,50.8077 -41.5802,113.2172 0,29.6045 10.1533,56.4086 z m 0,27.2041 H 762.309 q -19.3396,-40.0061 -19.3396,-83.6127 0,-74.0113 50.7665,-132.8202 50.7665,-58.8089 130.5424,-84.0128 -34.3278,-13.202 -55.6014,-39.606 -21.2736,-26.404 -21.7571,-60.4092 0,-42.0063 33.8444,-72.811 33.8443,-30.8047 83.1604,-35.6054 -39.1628,-24.4037 -39.1628,-64.4098 0,-33.6051 28.526,-57.6088 28.5259,-24.0036 70.1061,-24.0036 40.6132,0 69.6226,24.0036 29.0095,24.0037 29.0095,57.6088 0,40.0061 -39.1628,64.4098 49.3161,4.8007 83.1604,35.6054 33.8443,30.8047 33.8443,72.811 0,33.6051 -21.757,60.0092 -21.7571,26.404 -56.0849,40.006 79.7759,25.2039 130.5424,84.0128 50.7665,58.8089 50.7665,132.8202 0,43.2066 -18.8561,83.6127 z"
+     fill-rule="nonzero"
+     display="block"
+     fill="#000000"
+     id="path105" />
+  <path
+     style="color:#000000;stroke-width:0.439802"
+     d="m 1023.3939,1234 h 237.3938 q 10.1533,-28.8044 10.1533,-56.4086 0,-62.4095 -41.5801,-113.2172 -41.5802,-50.8077 -107.8184,-74.8114 -31.9104,-2.0003 -31.9104,-28.8044 0,-21.2032 32.3939,-31.2047 44.9646,-26.004 44.9646,-68.8105 0,-30.8046 -25.1415,-54.0082 -25.1415,-23.2035 -60.9198,-26.804 -29.0095,-2.0003 -29.0095,-27.2042 0,-11.2017 10.6368,-20.8031 26.1085,-16.8026 26.1085,-44.0067 0,-22.4034 -19.3396,-38.4059 -19.3396,-16.0024 -45.9316,-16.0024 -27.559,0 -46.4151,16.0024 -18.8561,16.0025 -19.3396,38.4059 0,26.8041 26.1085,44.0067 10.6368,8.8013 10.6368,20.8031 0,25.2039 -28.526,27.2042 -36.2618,3.6005 -60.9198,26.804 -24.658,23.2036 -25.1415,54.0082 0,42.8065 44.9646,68.8105 32.3939,10.4016 32.3939,31.2047 0,26.8041 -32.3939,28.8044 -65.7547,24.0037 -107.3349,74.8114 -41.5802,50.8077 -41.5802,113.2172 0,29.6045 10.1533,56.4086 z"
+     fill-rule="nonzero"
+     display="block"
+     fill="#ffffff"
+     id="path107" />
+  <path
+     style="fill:#ffd700;stroke:#000000;stroke-width:2.31937"
+     d="m 785.33529,1227.5243 c -9.74309,-25.7496 -9.53618,-75.4183 0.43423,-104.2397 17.0274,-49.221 58.71896,-94.1043 112.48101,-121.092 9.29034,-4.66366 23.38048,-10.1186 31.31144,-12.12214 16.49473,-4.16695 23.95,-9.96235 26.99299,-20.98316 4.76067,-17.24175 -3.2865,-28.14186 -30.25717,-40.98417 -15.44298,-7.35329 -32.81532,-25.02591 -39.75477,-40.44188 -6.96262,-15.46748 -6.62963,-39.31206 0.76821,-55.00893 7.32057,-15.5329 25.81128,-33.64465 42.31065,-41.44352 7.40982,-3.50245 21.70935,-7.81628 31.77673,-9.5863 22.12747,-3.8904 29.27061,-8.1856 32.71125,-19.66944 3.86185,-12.88968 -0.31494,-22.91753 -14.54248,-34.91438 -6.48731,-5.47017 -13.73295,-14.21262 -16.10142,-19.42767 -19.47169,-42.87386 29.41057,-85.01223 80.88504,-69.72596 25.3023,7.51397 42.1649,27.19856 42.2337,49.30156 0.052,16.86989 -3.9117,24.8753 -20.4888,41.37465 -13.6281,13.56417 -14.2602,14.70071 -14.1898,25.51302 0.1165,17.87581 6.3463,22.89837 34.4568,27.77986 24.386,4.23473 43.5129,14.32152 59.1175,31.17639 36.3463,39.25833 22.4957,92.02019 -31.1552,118.68077 -24.1052,11.97859 -31.0676,25.86144 -21.8799,43.62845 4.1713,8.06643 8.7915,10.77775 26.0066,15.26168 33.5766,8.74561 80.5589,39.75687 106.2332,70.12057 16.8062,19.8759 33.0238,49.5489 39.5087,72.2882 5.9518,20.8703 5.9699,65.0623 0.035,85.2367 l -4.2646,14.496 H 1023.6369 787.30985 l -1.97458,-5.2186 z"
+     id="path241" />
+  <path
+     style="fill:#ff4500;stroke:#000000;stroke-width:2.31937"
+     d="m 787.56923,1226.0549 c -4.57702,-8.5523 -7.68329,-38.5973 -6.32849,-61.2117 0.97195,-16.2238 3.26611,-28.2071 8.06641,-42.1337 19.36976,-56.1955 80.49237,-112.7137 140.73772,-130.13585 9.02119,-2.6088 16.54683,-6.6698 21.45414,-11.57712 6.52576,-6.52574 7.55875,-9.15096 7.55875,-19.20954 0,-14.762 -5.89207,-22.23601 -25.96283,-32.93363 -18.95927,-10.10519 -34.99319,-25.26747 -42.36612,-40.063 -4.65886,-9.34914 -5.88011,-15.24251 -5.83982,-28.18124 0.0648,-20.82614 5.1233,-32.27392 21.4953,-48.64591 15.36672,-15.36672 26.07478,-20.94664 52.02446,-27.10967 26.07934,-6.19383 32.70052,-9.77432 36.96968,-19.99185 5.59997,-13.40258 2.48515,-22.2022 -14.11551,-39.87765 -8.15181,-8.67958 -15.88522,-19.44147 -17.51151,-24.3692 -8.28526,-25.10458 9.74663,-51.61958 41.35319,-60.80786 29.0758,-8.45257 63.2145,5.46261 74.8017,30.4897 5.1055,11.02733 5.5824,24.00175 1.2603,34.28514 -1.7253,4.10489 -9.5531,14.52932 -17.3952,23.16539 -12.3631,13.61476 -14.2584,16.90894 -14.2584,24.78219 0,19.81895 6.2606,25.41475 35.2585,31.51465 23.019,4.84218 38.8977,12.56268 53.0348,25.78626 40.2788,37.67608 30.2163,90.4208 -22.6091,118.51075 -27.1697,14.44747 -35.28,31.67697 -23.2877,49.47224 4.424,6.5648 9.2103,9.2599 29.3356,16.51834 40.135,14.47516 78.6677,40.81036 103.1623,70.50636 15.4988,18.7899 34.6949,55.7029 38.5005,74.0341 3.429,16.5176 1.9256,73.1082 -2.2319,84.0135 l -2.8738,7.5379 h -233.9475 c -226.75267,0 -234.01934,-0.1343 -236.28547,-4.3686 z"
+     id="path64" />
+</svg>
diff --git a/client/public/images/pieces/Crazyhouse/wo.svg b/client/public/images/pieces/Crazyhouse/wo.svg
new file mode 100644
index 00000000..18a2cb8e
--- /dev/null
+++ b/client/public/images/pieces/Crazyhouse/wo.svg
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   height="100%"
+   width="100%"
+   version="1.1"
+   viewBox="0 0 2048 2048"
+   id="svg361"
+   sodipodi:docname="wo.svg"
+   inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
+  <metadata
+     id="metadata367">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs365" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="960"
+     inkscape:window-height="1060"
+     id="namedview363"
+     showgrid="false"
+     inkscape:zoom="0.43115234"
+     inkscape:cx="1024"
+     inkscape:cy="1021.6806"
+     inkscape:window-x="0"
+     inkscape:window-y="20"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg361"
+     inkscape:document-rotation="0" />
+  <path
+     style="color:black;"
+     d="m1756 1774q-1 0 2-54t3-118q1-125 0-258t-36-267q-34-128-75-218t-89-157q-72-108-196-183t-259-98q9 49 8 96-2 36-34 36-37 0-33-36 3-132-94-226-76 80-82 186-2 35-36 31-32-1-32-37 0 0 2-8-41 13-86 37-29 20-47-10t16-47q43-22 65-33-86-88-196-142 12 139 76 263 17 26-8 46-28 22-47-7-7-10-20-36-21 21-28 31-7 9-24 40t-26 51q-9 25-8 40t3 35q-9 59-40 111t-81 127q-47 72-72 108t-38 92q-9 34 0 82t39 76q46 47 89 43 14 0 37-11t37-42q26-57 43-57 25 0 27 28 0 6-16 50-9 20-24 42-19 26-17 22 16 57 53 20 11-11 25-41t44-81q35-59 75-96t71-60q18-13 44-30t70-35q35-14 77-34t76-53q46-45 71-111 13-37 10-91-9-34 34-34 32 0 36 33 0 113-64 206 21 64 11 140-9 61-42 130t-136 155q-207 172-196 354 0 0 170 0t321 0h547z"
+     fill-rule="nonzero"
+     display="block"
+     fill="#fff"
+     id="path357" />
+  <path
+     style="color:black;"
+     d="m697 1359q13-20 10-42-10-64-71-54-18 3-29 12-4-5-12-22-11-32-42-22-31 12-24 45 45 115 163 158 34 10 45-20 12-32-18-44-6-3-11-5t-11-6zm-297-477q-29-18-35-48 1-33-31-36-35-4-36 30 4 66 59 105 26 21 48-4 22-27-5-47zm679 815q157-10 291-81t228-182q66-78 124-188t94-233q40-143 50-300t11-292v-218t-155 0-404 0h-671q-9 0-9 49t7 79q4 24 19 68t50 107q16 32 76 93t138 143q45 46 70 116t22 127q-37-30-81-49-212-76-307-220-7-9-45-81-20-38-34-52-19-19-55-21-56-3-87 54-42-12-75-10-56 21-81 45-51 51-66 102t-16 110q0 84 104 222 122 159 130 242 0 36 7 81 6 31 25 60 13 20 17 27t17 23q9 12 15 18t15 18q11 13 28 30-53 146-43 301 199-71 334-223 33 113 130 183 80-56 127-148zm677-1423q-1 0 2 54t3 118q1 125 0 258t-36 267q-34 128-75 218t-89 157q-72 108-196 183t-259 98q9-49 8-96-2-36-34-36-37 0-33 36 3 132-94 226-76-80-82-186-2-35-36-31-32 1-32 37 0 0 2 8-41-13-86-37-29-20-47 10t16 47q43 22 65 33-86 88-196 142 12-139 76-263 17-26-8-46-28-22-47 7-7 10-20 36-21-21-28-31-7-9-24-40t-26-51q-9-25-8-40t3-35q-9-59-40-111t-81-127q-47-72-72-108t-38-92q-9-34 0-82t39-76q46-47 89-43 14 0 37 11t37 42q26 57 43 57 25 0 27-28 0-6-16-50-9-20-24-42-19-26-17-22 16-57 53-20 11 11 25 41t44 81q35 59 75 96t71 60q18 13 44 30t70 35q35 14 77 34t76 53q46 45 71 111 13 37 10 91-9 34 34 34 32 0 36-33 0-113-64-206 21-64 11-140-9-61-42-130t-136-155q-207-172-196-354 0 0 170 0t321 0h547z"
+     fill-rule="nonzero"
+     transform="translate(0,2048) scale(1,-1)"
+     display="block"
+     fill="#000"
+     id="path359" />
+  <path
+     style="fill:#ffd700;stroke:#000000;stroke-width:2.31937"
+     d="m 1148.5407,1480.8765 c -9.7431,-25.7496 -9.5362,-75.4183 0.4342,-104.2397 17.0274,-49.221 58.719,-94.1043 112.481,-121.092 9.2904,-4.6636 23.3805,-10.1186 31.3115,-12.1221 16.4947,-4.167 23.95,-9.9624 26.993,-20.9832 4.7606,-17.2417 -3.2865,-28.1418 -30.2572,-40.9841 -15.443,-7.3533 -32.8153,-25.0259 -39.7548,-40.4419 -6.9626,-15.4675 -6.6296,-39.3121 0.7682,-55.0089 7.3206,-15.5329 25.8113,-33.6447 42.3107,-41.4436 7.4098,-3.5024 21.7093,-7.8162 31.7767,-9.5863 22.1275,-3.8904 29.2706,-8.1856 32.7113,-19.6694 3.8618,-12.8897 -0.315,-22.91753 -14.5425,-34.91438 -6.4873,-5.47017 -13.733,-14.21262 -16.1014,-19.42767 -19.4717,-42.87386 29.4105,-85.01223 80.885,-69.72596 25.3023,7.51397 42.1649,27.19856 42.2337,49.30156 0.052,16.86989 -3.9117,24.8753 -20.4888,41.37465 -13.6281,13.56417 -14.2602,14.70071 -14.1898,25.513 0.1165,17.8758 6.3463,22.8984 34.4568,27.7799 24.386,4.2347 43.5129,14.3215 59.1175,31.1764 36.3463,39.2583 22.4957,92.0202 -31.1552,118.6807 -24.1052,11.9786 -31.0676,25.8615 -21.8799,43.6285 4.1713,8.0664 8.7915,10.7777 26.0066,15.2617 33.5766,8.7456 80.5589,39.7568 106.2332,70.1205 16.8062,19.8759 33.0238,49.5489 39.5087,72.2882 5.9518,20.8703 5.9699,65.0623 0.035,85.2367 l -4.2646,14.496 h -236.3273 -236.327 z"
+     id="path241" />
+  <path
+     style="fill:#ff4500;stroke:#000000;stroke-width:2.31937"
+     d="m 1149.1634,1475.6965 c -3.9183,-10.3435 -5.6003,-62.4988 -2.5451,-78.9198 3.0371,-16.3238 11.1182,-36.7819 21.5196,-54.4787 9.5463,-16.242 49.5091,-56.969 67.1339,-68.4178 17.7796,-11.5493 42.9057,-23.8919 55.4553,-27.2412 15.452,-4.1239 22.8697,-8.6149 27.9263,-16.9079 10.6886,-17.5299 2.8523,-33.8947 -22.7698,-47.5511 -18.6974,-9.9656 -33.0502,-23.1988 -41.1156,-37.9083 -5.8251,-10.6238 -6.8107,-14.9383 -6.8107,-29.8164 0,-14.873 0.9863,-19.1939 6.8018,-29.8 7.9458,-14.4912 26.0679,-31.6945 39.8758,-37.854 5.3384,-2.3814 18.1433,-6.4296 28.4553,-8.9962 10.312,-2.5665 21.4172,-5.882 24.6784,-7.3679 7.7105,-3.5132 12.5394,-13.1158 12.5394,-24.9355 0,-8.32753 -1.6303,-11.2036 -13.7139,-24.19259 -16.9315,-18.20006 -21.0765,-25.99275 -21.0765,-39.62382 0,-48.76715 72.9975,-68.97499 108.8109,-30.12203 13.1375,14.25245 15.7042,25.8765 10.1693,46.05492 -0.6576,2.39735 -7.8665,12.00788 -16.02,21.35671 -14.3291,16.43009 -14.8243,17.42038 -14.8243,29.64561 0,17.1108 6.1173,22.2355 34.4217,28.8366 11.5521,2.6942 26.1139,7.4879 32.3595,10.6528 15.2021,7.7035 31.218,23.6703 38.967,38.8475 16.9407,33.1798 -0.021,72.7986 -40.4012,94.3736 -14.6091,7.8053 -26.9478,19.6359 -28.8842,27.6946 -1.8001,7.4914 2.4533,21.0957 8.4797,27.1222 2.8225,2.8224 12.8865,7.4871 22.3645,10.366 54.2775,16.4863 106.8759,60.5901 131.5621,110.3152 13.5686,27.331 15.6616,36.7812 15.6671,70.7407 0,18.7396 -1.2518,36.2004 -3.1254,43.4881 l -3.1306,12.1766 h -234.9574 -234.9574 z"
+     id="path62" />
+</svg>
diff --git a/client/public/images/pieces/Crazyhouse/wt.svg b/client/public/images/pieces/Crazyhouse/wt.svg
new file mode 100644
index 00000000..7d78055f
--- /dev/null
+++ b/client/public/images/pieces/Crazyhouse/wt.svg
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   height="100%"
+   width="100%"
+   version="1.1"
+   viewBox="0 0 2048 2048"
+   id="svg567"
+   sodipodi:docname="wt.svg"
+   inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
+  <metadata
+     id="metadata573">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs571" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="960"
+     inkscape:window-height="1060"
+     id="namedview569"
+     showgrid="false"
+     inkscape:zoom="0.43115234"
+     inkscape:cx="1007.5251"
+     inkscape:cy="1021.6806"
+     inkscape:window-x="0"
+     inkscape:window-y="20"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg567"
+     inkscape:document-rotation="0" />
+  <path
+     style="color:black;"
+     d="m1024 1621q-57 0-96 40t-40 97q0 56 39 96t97 40q56 0 96-40t41-96q0-57-40-97t-97-40zm0 70q67 0 67 67 0 66-67 66-66 0-66-66 0-67 66-67zm509-1007q-193 49-505 49-320 0-511-50l15-96q195 46 496 46 299 0 488-45l17 96zm25 60 65 115q-48-19-98-19-134 0-214 109-60-50-134-50-96 0-153 75-64-70-153-70-72 0-132 49-84-107-217-107-51 0-101 19l70-120q194 56 533 56 345 0 534-57zm-448 239-85 489-85-483q3 2 14 10 23 45 70 45 51 0 66-45 6-6 20-16zm277-19v463l-165-454q19 7 32 18 20 25 54 25 40 0 64-35 3-4 7-8t8-9zm-562 14-164 449v-457q3 4 9 10 20 42 66 42 38 0 62-32 27-12 27-12zm-254-56-215 371 55-338q57-40 111-40 21 0 49 7zm903-5q23-7 51-7 61 0 114 38l55 346-220-377zm60-506-30 113q-196 43-480 43-281 0-479-43l-31-114q186 56 511 56 317 0 509-55zm106-128q-49-43-220-72t-394-29q-227 0-399 30t-217 75l63 240-28 157-88 153-85 622 49 19 274-462 6 550 68 12 209-553 112 595h69l112-593 207 551 69-12 6-550 275 463 47-22-83-619-89-153-28-159 65-243zm-81 36q-183 76-531 76-355 0-537-78 175-69 534-69 172 0 314 19t220 52zm-955 1252q-57 0-97 39t-40 97q0 56 40 96t97 40q56 0 96-40t40-96q0-57-40-96t-96-40zm0 70q66 0 66 66t-66 66q-67 0-67-66t67-66zm840 0q67 0 67 66t-67 66q-66 0-66-66t66-66zm0-70q-57 0-96 39t-40 97q0 56 39 96t97 40q57 0 97-40t40-96q0-57-40-96t-97-40zm-1208-110q-57 0-96 39t-40 97q0 56 39 96t97 41q57 0 97-40t40-97-40-96-97-40zm0 70q67 0 67 66 0 67-67 67-66 0-66-67 0-66 66-66zm1578 0q66 0 66 66 0 67-66 67-67 0-67-67 0-66 67-66zm0-70q-57 0-97 39t-40 97q0 56 40 96t97 41q56 0 96-40t40-97-40-96-96-40z"
+     fill-rule="nonzero"
+     transform="translate(0,2048) scale(1,-1)"
+     display="block"
+     fill="#000"
+     id="path535" />
+  <g
+     fill-rule="nonzero"
+     fill="#fff"
+     id="g565">
+    <path
+       style="color:black;"
+       d="m1024 357q67 0 67-67 0-66-67-66-66 0-66 66 0 67 66 67z"
+       display="block"
+       id="path537" />
+    <path
+       style="color:black;"
+       d="m1533 1364q-193-49-505-49-320 0-511 50l15 96q195-46 496-46 299 0 488 45l17-96z"
+       display="block"
+       id="path539" />
+    <path
+       style="color:black;"
+       d="m1558 1304 65-115q-48 19-98 19-134 0-214-109-60 50-134 50-96 0-153-75-64 70-153 70-72 0-132-49-84 107-217 107-51 0-101-19l70 120q194-56 533-56 345 0 534 57z"
+       display="block"
+       id="path541" />
+    <path
+       style="color:black;"
+       d="m1110 1065-85-489-85 483q3-2 14-10 23-45 70-45 51 0 66 45 6 6 20 16z"
+       display="block"
+       id="path543" />
+    <path
+       style="color:black;"
+       d="m1387 1084v-463l-165 454q19-7 32-18 20-25 54-25 40 0 64 35 3 4 7 8t8 9z"
+       display="block"
+       id="path545" />
+    <path
+       style="color:black;"
+       d="m825 1070-164-449v457q3-4 9-10 20-42 66-42 38 0 62 32 27 12 27 12z"
+       display="block"
+       id="path547" />
+    <path
+       style="color:black;"
+       d="m571 1126-215-371 55 338q57 40 111 40 21 0 49-7z"
+       display="block"
+       id="path549" />
+    <path
+       style="color:black;"
+       d="m1474 1131q23 7 51 7 61 0 114-38l55-346-220 377z"
+       display="block"
+       id="path551" />
+    <path
+       style="color:black;"
+       d="m1534 1637-30-113q-196-43-480-43-281 0-479 43l-31 114q186-56 511-56 317 0 509 55z"
+       display="block"
+       id="path553" />
+    <path
+       style="color:black;"
+       d="m1559 1729q-183-76-531-76-355 0-537 78 175 69 534 69 172 0 314-19t220-52z"
+       display="block"
+       id="path555" />
+    <path
+       style="color:black;"
+       d="m604 407q66 0 66-66t-66-66q-67 0-67 66t67 66z"
+       display="block"
+       id="path557" />
+    <path
+       style="color:black;"
+       d="m1444 407q67 0 67-66t-67-66q-66 0-66 66t66 66z"
+       display="block"
+       id="path559" />
+    <path
+       style="color:black;"
+       d="m236 517q67 0 67-66 0-67-67-67-66 0-66 67 0 66 66 66z"
+       display="block"
+       id="path561" />
+    <path
+       style="color:black;"
+       d="m1814 517q66 0 66-66 0-67-66-67-67 0-67 67 0 66 67 66z"
+       display="block"
+       id="path563" />
+  </g>
+  <path
+     style="fill:#ffd700;stroke:#000000;stroke-width:2.31937"
+     d="m 766.06679,1747.1138 c -9.74309,-25.7496 -9.53618,-75.4183 0.43423,-104.2397 17.0274,-49.221 58.71897,-94.1043 112.48097,-121.092 9.2904,-4.6637 23.3805,-10.1186 31.3115,-12.1221 16.4947,-4.167 23.95,-9.9624 26.993,-20.9832 4.7606,-17.2418 -3.2865,-28.1419 -30.2572,-40.9842 -15.443,-7.3533 -32.8153,-25.0259 -39.7548,-40.4419 -6.9626,-15.4674 -6.6296,-39.312 0.7682,-55.0089 7.3206,-15.5329 25.8113,-33.6446 42.3107,-41.4435 7.4098,-3.5025 21.7093,-7.8163 31.7767,-9.5863 22.1275,-3.8904 29.2706,-8.1856 32.7113,-19.6694 3.8618,-12.8897 -0.315,-22.9176 -14.5425,-34.9144 -6.4873,-5.4702 -13.733,-14.2126 -16.1014,-19.4277 -19.4717,-42.8739 29.4105,-85.0122 80.88501,-69.726 25.3023,7.514 42.1649,27.1986 42.2337,49.3016 0.052,16.8699 -3.9117,24.8753 -20.4888,41.3747 -13.6281,13.5641 -14.2602,14.7007 -14.1898,25.513 0.1165,17.8758 6.3463,22.8983 34.4568,27.7798 24.386,4.2348 43.5129,14.3216 59.1175,31.1764 36.3463,39.2584 22.4957,92.0202 -31.1552,118.6808 -24.1052,11.9786 -31.0676,25.8614 -21.8799,43.6284 4.1713,8.0665 8.7915,10.7778 26.0066,15.2617 33.5766,8.7456 80.5589,39.7569 106.2332,70.1206 16.8062,19.8759 33.0238,49.5489 39.5087,72.2882 5.9518,20.8703 5.9699,65.0623 0.035,85.2367 l -4.2646,14.496 H 1004.3684 768.04135 l -1.97458,-5.2186 z"
+     id="path241" />
+  <path
+     style="fill:#ff4500;stroke:#000000;stroke-width:2.31937"
+     d="m 766.03264,1738.9445 c -2.04424,-7.0365 -3.20063,-22.7489 -3.20063,-43.4881 0,-27.1056 0.84987,-35.1539 5.14323,-48.7067 17.82851,-56.279 74.84799,-111.2848 137.83883,-132.9708 27.2599,-9.3849 32.51788,-14.2421 33.93657,-31.3497 0.96713,-11.6623 0.54009,-12.9287 -6.84952,-20.3123 -4.33453,-4.331 -14.17794,-11.2273 -21.87423,-15.3252 -15.92857,-8.481 -36.43809,-28.9004 -41.9958,-41.8113 -2.14318,-4.9788 -3.79489,-15.2613 -3.84847,-23.9582 -0.11936,-19.3729 7.83846,-36.6326 23.75361,-51.5194 14.5667,-13.6254 25.84312,-19.213 50.67825,-25.1113 32.21754,-7.6516 37.75886,-12.2489 37.75886,-31.3258 0,-10.7349 -4.35178,-18.4664 -17.4741,-31.0453 -12.6076,-12.0855 -17.31638,-21.5508 -17.31638,-34.8084 0,-38.2531 52.70912,-62.7964 91.86054,-42.7736 23.719,12.1303 35.5433,34.9533 28.7591,55.5097 -1.5297,4.6351 -9.4643,16.2913 -17.6325,25.9027 -13.4371,15.8113 -14.8512,18.4631 -14.8512,27.8492 0,18.9853 5.0368,22.9934 38.8796,30.9388 45.1097,10.5904 73.5005,40.1907 73.4161,76.5435 -0.061,26.0959 -16.0699,49.1824 -45.8756,66.1559 -23.5171,13.3923 -29.3103,20.0439 -29.3103,33.6537 0,17.2006 7.961,24.902 33.6308,32.5339 21.6634,6.4407 49.5993,22.5207 75.4881,43.4513 28.168,22.7733 49.4117,52.3235 61.7808,85.9378 6.0464,16.4319 6.5318,20.2503 6.5318,51.3818 0,21.7253 -1.1331,37.5309 -3.2006,44.6478 l -3.2007,11.017 H 1004.0461 769.23328 Z"
+     id="path60" />
+</svg>
diff --git a/client/public/images/pieces/Crazyhouse/wu.svg b/client/public/images/pieces/Crazyhouse/wu.svg
new file mode 100644
index 00000000..78e3e33c
--- /dev/null
+++ b/client/public/images/pieces/Crazyhouse/wu.svg
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   height="100%"
+   width="100%"
+   version="1.1"
+   viewBox="0 0 2048 2048"
+   id="svg749"
+   sodipodi:docname="wu.svg"
+   inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
+  <metadata
+     id="metadata755">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs753" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="960"
+     inkscape:window-height="1060"
+     id="namedview751"
+     showgrid="false"
+     inkscape:zoom="0.43115234"
+     inkscape:cx="1024"
+     inkscape:cy="1024"
+     inkscape:window-x="0"
+     inkscape:window-y="20"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg749"
+     inkscape:document-rotation="0" />
+  <path
+     style="color:black;"
+     d="m1161 1706h170v137h274v-375l-222-171v-478l170-170v-205h153v-239h-1365v239h153v205l171 170v478l-222 171v375h273v-137h171v137h274v-137zm478-1330h-1230v-103h1230v103zm-155 204h-920v-136h920v136zm-170 717h-580v-478h580v478zm222 239v239h-137v-137h-308v137h-135v-137h-307v137h-137v-239h1024zm-77-887l-103 102h-663l-105-102h871zm-110 716l127 103h-904l128-103h649z"
+     fill-rule="nonzero"
+     transform="translate(0,2048) scale(1,-1)"
+     display="block"
+     fill="#000"
+     id="path733" />
+  <g
+     fill-rule="nonzero"
+     fill="#fff"
+     id="g743">
+    <path
+       style="color:black;"
+       d="m1639 1672h-1230v103h1230v-103z"
+       display="block"
+       id="path735" />
+    <path
+       style="color:black;"
+       d="m1484 1468h-920v136h920v-136z"
+       display="block"
+       id="path737" />
+    <path
+       style="color:black;"
+       d="m1314 751h-580v478h580v-478z"
+       display="block"
+       id="path739" />
+    <path
+       style="color:black;"
+       d="m1536 512v-239h-137v137h-308v-137h-135v137h-307v-137h-137v239h1024z"
+       display="block"
+       id="path741" />
+  </g>
+  <path
+     style="color:black;"
+     d="m1459 1399-103-102h-663l-105 102h871z"
+     fill-rule="nonzero"
+     display="block"
+     fill="#fff"
+     id="path745" />
+  <path
+     style="color:black;"
+     d="m1349 683 127-103h-904l128 103h649z"
+     fill-rule="nonzero"
+     display="block"
+     fill="#fff"
+     id="path747" />
+  <path
+     style="fill:#ffd700;stroke:#000000;stroke-width:2.31937"
+     d="m 784.71719,1277.1145 c -9.7431,-25.7496 -9.5362,-75.4183 0.4342,-104.2397 17.0274,-49.221 58.719,-94.1043 112.4811,-121.092 9.2903,-4.6636 23.3804,-10.1186 31.3114,-12.1221 16.4947,-4.167 23.95,-9.9624 26.993,-20.9832 4.7606,-17.2417 -3.2865,-28.14185 -30.2572,-40.98416 -15.443,-7.35329 -32.8153,-25.02591 -39.7548,-40.44188 -6.9626,-15.46748 -6.6296,-39.31206 0.7682,-55.00893 7.3206,-15.5329 25.8113,-33.64465 42.3107,-41.44352 7.4098,-3.50245 21.7093,-7.81628 31.7767,-9.5863 22.1275,-3.8904 29.2706,-8.1856 32.7113,-19.66944 3.8618,-12.88968 -0.315,-22.91753 -14.5425,-34.91438 -6.4873,-5.47017 -13.7329,-14.21262 -16.1014,-19.42767 -19.4717,-42.87386 29.4105,-85.01223 80.88501,-69.72596 25.3023,7.51397 42.1649,27.19856 42.2337,49.30156 0.052,16.86989 -3.9117,24.8753 -20.4888,41.37465 -13.6281,13.56417 -14.2602,14.70071 -14.1898,25.51302 0.1165,17.87581 6.3463,22.89837 34.4568,27.77986 24.386,4.23473 43.5129,14.32152 59.1175,31.17639 36.3463,39.25833 22.4957,92.02019 -31.1552,118.68077 -24.1052,11.97859 -31.0676,25.86149 -21.8799,43.62849 4.1713,8.0664 8.7915,10.7777 26.0066,15.2616 33.5766,8.7457 80.5589,39.7569 106.2332,70.1206 16.8062,19.8759 33.0238,49.5489 39.5087,72.2882 5.9518,20.8703 5.9699,65.0623 0.035,85.2367 l -4.2646,14.496 H 1023.0188 786.69179 Z"
+     id="path241" />
+  <path
+     style="fill:#ff4500;stroke:#000000;stroke-width:2.31937"
+     d="m 785.2553,1271.5923 c -4.06248,-11.987 -5.82848,-61.3888 -2.77975,-77.7601 11.69837,-62.819 73.83902,-128.1451 142.9514,-150.2795 8.92956,-2.8598 18.63727,-6.7576 21.57268,-8.6617 12.70738,-8.243 15.9225,-28.5803 6.47614,-40.96517 -3.0701,-4.0251 -12.2026,-10.84202 -20.29445,-15.14873 -18.59776,-9.8982 -37.3764,-27.53071 -44.12628,-41.43311 -7.64093,-15.73759 -7.21655,-39.09438 0.99999,-55.03816 6.77722,-13.15084 26.95376,-32.86501 39.9453,-39.0299 4.66275,-2.21262 18.11127,-6.4084 29.88559,-9.32396 24.02185,-5.94829 30.20029,-9.04498 33.79727,-16.9395 3.24555,-7.12322 3.17124,-20.454 -0.14962,-26.84105 -1.44874,-2.78636 -8.22686,-10.98366 -15.06249,-18.21622 -13.92096,-14.72933 -17.09396,-21.1847 -17.09396,-34.77719 0,-28.6263 33.23174,-53.37062 66.99678,-49.88576 26.3469,2.71923 51.2091,22.2316 54.7069,42.93503 2.5974,15.37372 -2.1657,26.82361 -18.6148,44.74786 -14.3841,15.67409 -14.953,16.75281 -14.953,28.35175 0,19.7628 4.0108,23.01976 38.7263,31.44799 23.6901,5.75149 35.3618,11.6345 49.7108,25.05634 15.9917,14.95829 24.0994,32.50552 23.8786,51.67954 -0.3068,26.64054 -14.9734,46.88315 -48.8403,67.40872 -23.1356,14.02171 -27.2819,19.65229 -25.8032,35.04062 1.5248,15.8695 7.2715,20.983 33.8871,30.1533 37.0253,12.7571 79.1734,41.3105 101.5781,68.8146 13.6427,16.7479 27.0175,39.6162 34.8058,59.5114 5.8956,15.0603 6.3644,18.7541 6.4769,51.0261 0.08,23.0497 -0.9588,38.5083 -3.0794,45.8074 l -3.2006,11.017 H 1022.928 788.20298 Z"
+     id="path58" />
+</svg>
diff --git a/client/public/images/pieces/Pandemonium/ba.svg b/client/public/images/pieces/Pandemonium/ba.svg
deleted file mode 120000
index c301d868..00000000
--- a/client/public/images/pieces/Pandemonium/ba.svg
+++ /dev/null
@@ -1 +0,0 @@
-../bq.svg
\ No newline at end of file
diff --git a/client/public/images/pieces/Pandemonium/ba.svg b/client/public/images/pieces/Pandemonium/ba.svg
new file mode 100644
index 00000000..88cd2d4c
--- /dev/null
+++ b/client/public/images/pieces/Pandemonium/ba.svg
@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   height="100%"
+   width="100%"
+   version="1.1"
+   viewBox="0 0 2048 2048"
+   id="svg187"
+   sodipodi:docname="baa.svg"
+   inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
+  <metadata
+     id="metadata193">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs191" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="960"
+     inkscape:window-height="1060"
+     id="namedview189"
+     showgrid="false"
+     inkscape:zoom="0.43115234"
+     inkscape:cx="1024"
+     inkscape:cy="1030.6187"
+     inkscape:window-x="0"
+     inkscape:window-y="20"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg187" />
+  <path
+     style="color:black;"
+     d="m1588 793q-83 30-233 49t-333 20q-178 0-326-18t-233-49l50-91q84 25 218 36t293 11q159 0 294-11t219-37l51 90zm226 668q-57 0-97 39t-40 97q0 56 40 96t97 41q56 0 96-40t40-97q0-57-40-96t-96-40zm-1578 0q-57 0-96 39t-40 97q0 56 39 96t97 41q57 0 97-40t40-97q0-57-40-96t-97-40zm1208 110q-57 0-96 39t-40 97q0 56 39 96t97 40q57 0 97-40t40-96q0-57-40-96t-97-40zm-840 0q-57 0-97 39t-40 97q0 56 40 96t97 40q56 0 96-40t40-96q0-57-40-96t-96-40zm1036-1288q-49-43-220-72t-394-29q-227 0-399 30t-217 75l63 240-28 157-88 153-85 622 49 19 274-462 6 550 68 12 209-553 112 595h69l112-593 207 551 69-12 6-550 275 463 47-22-83-619-89-153-28-159 65-243zm-96 32l-30 118q-195 45-490 45-292 0-488-45l-32-119q190 58 521 58 159 0 295-16t224-41zm-26 299q-184 51-490 51-308 0-496-52l15-101q189 49 481 49 291 0 474-48l16 101zm-494 1007q-57 0-96 40t-40 97q0 56 39 96t97 40q56 0 96-40t41-96q0-57-40-97t-97-40z"
+     fill-rule="nonzero"
+     transform="translate(0,2048) scale(1,-1)"
+     display="block"
+     fill="#000"
+     id="path177" />
+  <g
+     fill-rule="nonzero"
+     fill="#fff"
+     id="g185">
+    <path
+       style="color:black;"
+       d="m1588 1255q-83-30-233-49t-333-20q-178 0-326 18t-233 49l50 91q84-25 218-36t293-11 294 11 219 37l51-90z"
+       display="block"
+       id="path179" />
+    <path
+       style="color:black;"
+       d="m1544 1733-30-118q-195-45-490-45-292 0-488 45l-32 119q190-58 521-58 159 0 295 16t224 41z"
+       display="block"
+       id="path181" />
+    <path
+       style="color:black;"
+       d="m1518 1434q-184-51-490-51-308 0-496 52l15 101q189-49 481-49 291 0 474 48l16-101z"
+       display="block"
+       id="path183" />
+  </g>
+  <path
+     style="color:#000000;stroke-width:0.5"
+     d="m 1100.5,1023 h 85 v -68.5 h 137 V 1142 l -111,85.5 v 239 l 85,85 V 1654 h 76.5 v 119.5 H 690.5 V 1654 H 767 v -102.5 l 85.5,-85 v -239 L 741.5,1142 V 954.5 H 878 v 68.5 h 85.5 v -68.5 h 137 z m 239,665 h -615 v 51.5 h 615 z M 1262,1586 H 802 v 68 h 460 z m -85,-358.5 H 887 v 239 h 290 z M 1288,1108 V 988.5 h -68.5 v 68.5 h -154 V 988.5 H 998 V 1057 H 844.5 V 988.5 H 776 V 1108 Z m -38.5,443.5 -51.5,-51 H 866.5 l -52.5,51 z m -55,-358 63.5,-51.5 H 806 l 64,51.5 z"
+     fill-rule="nonzero"
+     display="block"
+     fill="#000000"
+     id="path411" />
+  <g
+     fill-rule="nonzero"
+     fill="#ffffff"
+     id="g421"
+     transform="matrix(0.5,0,0,0.5,520,852)">
+    <path
+       style="color:#000000"
+       d="M 1639,1672 H 409 v 103 h 1230 z"
+       display="block"
+       id="path413" />
+    <path
+       style="color:#000000"
+       d="M 1484,1468 H 564 v 136 h 920 z"
+       display="block"
+       id="path415" />
+    <path
+       style="color:#000000"
+       d="M 1314,751 H 734 v 478 h 580 z"
+       display="block"
+       id="path417" />
+    <path
+       style="color:#000000"
+       d="M 1536,512 V 273 H 1399 V 410 H 1091 V 273 H 956 V 410 H 649 V 273 H 512 v 239 z"
+       display="block"
+       id="path419" />
+  </g>
+  <path
+     style="color:#000000;stroke-width:0.5"
+     d="m 1249.5,1551.5 -51.5,-51 H 866.5 l -52.5,51 z"
+     fill-rule="nonzero"
+     display="block"
+     fill="#ffffff"
+     id="path423" />
+  <path
+     style="color:#000000;stroke-width:0.5"
+     d="M 1194.5,1193.5 1258,1142 H 806 l 64,51.5 z"
+     fill-rule="nonzero"
+     display="block"
+     fill="#ffffff"
+     id="path425" />
+  <path
+     style="fill:#ff4500;stroke:#000000;stroke-width:1.15969"
+     d="M 887.0397,1347.1846 V 1228.3171 H 1032 1176.9603 v 118.8675 118.8675 H 1032 887.0397 Z"
+     id="path435" />
+  <path
+     style="fill:#ff4500;stroke:#000000;stroke-width:1.15969"
+     d="m 841.2322,1525.7713 25.513,-24.8427 165.2548,-0.032 165.2548,-0.031 25.5131,24.8613 25.513,24.8611 -216.2809,0.013 -216.2808,0.013 z"
+     id="path437" />
+  <path
+     style="fill:#ff4500;stroke:#000000;stroke-width:1.15969"
+     d="m 802.3828,1620.0584 v -33.051 H 1032 1261.6172 v 33.051 33.051 H 1032 802.3828 Z"
+     id="path439" />
+  <path
+     style="fill:#ff4500;stroke:#000000;stroke-width:1.15969"
+     d="m 724.684,1713.4129 v -25.5131 H 1032 1339.316 v 25.5131 25.513 H 1032 724.684 Z"
+     id="path441" />
+  <path
+     style="fill:#ff4500;stroke:#000000;stroke-width:1.15969"
+     d="m 776.8698,1047.9118 v -59.14385 h 33.6308 33.6308 v 34.21065 34.2106 h 77.1189 77.1189 v -34.2106 -34.21065 h 33.0509 33.051 v 34.21065 34.2106 h 77.6988 77.6987 v -34.2106 -34.21065 h 33.6309 33.6308 v 59.14385 59.1438 H 1032 776.8698 Z"
+     id="path443" />
+  <path
+     style="fill:#ff4500;stroke:#000000;stroke-width:1.15969"
+     d="m 841.7615,1170.1694 c -15.5989,-12.4865 -29.3909,-23.7064 -30.6489,-24.9332 -2.2569,-2.201 0.664,-2.2304 221.3161,-2.2304 h 223.6032 l -30.5482,24.8656 -30.5482,24.8657 -162.4062,0.068 -162.406,0.068 z"
+     id="path445" />
+</svg>
diff --git a/client/public/images/pieces/Pandemonium/bg.svg b/client/public/images/pieces/Pandemonium/bg.svg
deleted file mode 120000
index c301d868..00000000
--- a/client/public/images/pieces/Pandemonium/bg.svg
+++ /dev/null
@@ -1 +0,0 @@
-../bq.svg
\ No newline at end of file
diff --git a/client/public/images/pieces/Pandemonium/bg.svg b/client/public/images/pieces/Pandemonium/bg.svg
new file mode 100644
index 00000000..d4894653
--- /dev/null
+++ b/client/public/images/pieces/Pandemonium/bg.svg
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   height="100%"
+   width="100%"
+   version="1.1"
+   viewBox="0 0 2048 2048"
+   id="svg187"
+   sodipodi:docname="bgg.svg"
+   inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
+  <metadata
+     id="metadata193">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs191" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="960"
+     inkscape:window-height="1060"
+     id="namedview189"
+     showgrid="false"
+     inkscape:zoom="0.43115234"
+     inkscape:cx="1024"
+     inkscape:cy="1030.6187"
+     inkscape:window-x="0"
+     inkscape:window-y="20"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg187" />
+  <path
+     style="color:black;"
+     d="m1588 793q-83 30-233 49t-333 20q-178 0-326-18t-233-49l50-91q84 25 218 36t293 11q159 0 294-11t219-37l51 90zm226 668q-57 0-97 39t-40 97q0 56 40 96t97 41q56 0 96-40t40-97q0-57-40-96t-96-40zm-1578 0q-57 0-96 39t-40 97q0 56 39 96t97 41q57 0 97-40t40-97q0-57-40-96t-97-40zm1208 110q-57 0-96 39t-40 97q0 56 39 96t97 40q57 0 97-40t40-96q0-57-40-96t-97-40zm-840 0q-57 0-97 39t-40 97q0 56 40 96t97 40q56 0 96-40t40-96q0-57-40-96t-96-40zm1036-1288q-49-43-220-72t-394-29q-227 0-399 30t-217 75l63 240-28 157-88 153-85 622 49 19 274-462 6 550 68 12 209-553 112 595h69l112-593 207 551 69-12 6-550 275 463 47-22-83-619-89-153-28-159 65-243zm-96 32l-30 118q-195 45-490 45-292 0-488-45l-32-119q190 58 521 58 159 0 295-16t224-41zm-26 299q-184 51-490 51-308 0-496-52l15-101q189 49 481 49 291 0 474-48l16 101zm-494 1007q-57 0-96 40t-40 97q0 56 39 96t97 40q56 0 96-40t41-96q0-57-40-97t-97-40z"
+     fill-rule="nonzero"
+     transform="translate(0,2048) scale(1,-1)"
+     display="block"
+     fill="#000"
+     id="path177" />
+  <g
+     fill-rule="nonzero"
+     fill="#fff"
+     id="g185">
+    <path
+       style="color:black;"
+       d="m1588 1255q-83-30-233-49t-333-20q-178 0-326 18t-233 49l50 91q84-25 218-36t293-11 294 11 219 37l51-90z"
+       display="block"
+       id="path179" />
+    <path
+       style="color:black;"
+       d="m1544 1733-30-118q-195-45-490-45-292 0-488 45l-32 119q190-58 521-58 159 0 295 16t224 41z"
+       display="block"
+       id="path181" />
+    <path
+       style="color:black;"
+       d="m1518 1434q-184-51-490-51-308 0-496 52l15 101q189-49 481-49 291 0 474 48l16-101z"
+       display="block"
+       id="path183" />
+  </g>
+  <path
+     style="color:#000000;stroke-width:0.5"
+     d="m 1002.4172,1780.0851 h 245.5 q 10.5,-36 10.5,-70.5 0,-78 -43,-141.5 -43,-63.5 -111.5,-93.5 -33,-2.5 -33,-36 0,-26.5 33.5,-39 46.5,-32.5 46.5,-86 0,-38.5 -26,-67.5 -26,-29 -63,-33.5 -30,-2.5 -30,-34 0,-14 11,-26 27,-21 27,-55 0,-28 -20,-48 -20,-20 -47.5,-20 -28.50004,0 -48.00004,20 -19.5,20 -20,48 0,33.5 27,55 11,11 11,26 0,31.5 -29.5,34 -37.5,4.5 -63,33.5 -25.5,29 -26,67.5 0,53.5 46.5,86 33.5,13 33.5,39 0,33.5 -33.5,36 -68,30 -111,93.5 -43,63.5 -43,141.5 0,37 10.5,70.5 z m 0,34 H 732.41716 q -20,-50 -20,-104.5 0,-92.5 52.5,-166 52.5,-73.5 135,-105 -35.5,-16.5 -57.5,-49.5 -22,-33 -22.5,-75.5 0,-52.5 35,-91 35,-38.5 86,-44.5 -40.5,-30.5 -40.5,-80.5 0,-42 29.5,-72 29.5,-30.00002 72.50004,-30.00002 42,0 72,30.00002 30,30 30,72 0,50 -40.5,80.5 51,6 86,44.5 35,38.5 35,91 0,42 -22.5,75 -22.5,33 -58,50 82.5,31.5 135,105 52.5,73.5 52.5,166 0,54 -19.5,104.5 z"
+     fill-rule="nonzero"
+     display="block"
+     fill="#000000"
+     id="path1195" />
+  <path
+     style="color:#000000;stroke-width:0.5"
+     d="m 1002.4172,1780.0851 h 245.5 q 10.5,-36 10.5,-70.5 0,-78 -43,-141.5 -43,-63.5 -111.5,-93.5 -33,-2.5 -33,-36 0,-26.5 33.5,-39 46.5,-32.5 46.5,-86 0,-38.5 -26,-67.5 -26,-29 -63,-33.5 -30,-2.5 -30,-34 0,-14 11,-26 27,-21 27,-55 0,-28 -20,-48 -20,-20 -47.5,-20 -28.50004,0 -48.00004,20 -19.5,20 -20,48 0,33.5 27,55 11,11 11,26 0,31.5 -29.5,34 -37.5,4.5 -63,33.5 -25.5,29 -26,67.5 0,53.5 46.5,86 33.5,13 33.5,39 0,33.5 -33.5,36 -68,30 -111,93.5 -43,63.5 -43,141.5 0,37 10.5,70.5 z"
+     fill-rule="nonzero"
+     display="block"
+     fill="#ffffff"
+     id="path1197" />
+  <path
+     style="fill:#ff4500;stroke:#000000;stroke-width:1.15969"
+     d="m 753.69956,1766.3352 c -4.531,-18.9495 -6.3646,-35.2873 -6.39,-56.937 -0.07,-59.8674 17.9754,-111.0742 56.1273,-159.2696 27.3805,-34.5885 73.4334,-68.6941 102.3999,-75.8348 11.856,-2.9227 15.062,-4.5641 20.353,-10.4207 5.1151,-5.6618 7.8061,-14.1082 7.8061,-24.5014 0,-16.5967 -7.4306,-26.9896 -26.4437,-36.9855 -41.5287,-21.8334 -61.5699,-68.4097 -49.4917,-115.0207 4.1129,-15.8723 12.6877,-30.6829 25.3663,-43.813 17.3396,-17.9573 34.8146,-26.9929 58.6528,-30.3272 21.221,-2.9682 30.2577,-13.0092 30.4059,-33.7849 0.09,-12.5954 -3.1674,-19.1918 -15.6865,-31.7674 -15.1935,-15.2621 -21.6091,-29.8823 -21.6091,-49.2442 0,-19.2505 6.2132,-34.0543 20.2471,-48.2414 13.4456,-13.5924 28.7184,-20.1396 46.98024,-20.1396 37.7434,0 69.8044,34.5019 66.7762,71.86 -1.5761,19.4454 -6.3727,29.6685 -21.3492,45.5021 -13.7473,14.5341 -15.86,18.9058 -15.8402,32.7765 0.012,8.552 0.5019,11.4316 2.7112,15.9426 5.1294,10.4731 14.2137,15.5916 31.2989,17.635 9.2033,1.1007 24.4746,6.5996 33.9326,12.2185 15.3814,9.138 32.0093,27.1293 40.2029,43.4995 13.6236,27.2189 13.501,62.4271 -0.3128,89.876 -8.8226,17.531 -24.976,34.0918 -40.9538,41.9864 -11.0834,5.4764 -19.7947,12.8003 -24.2329,20.3735 -2.4746,4.2226 -3.1858,7.1499 -3.5851,14.7576 -1.127,21.4727 7.6409,33.7021 27.026,37.696 3.827,0.7885 13.0025,4.4621 20.3901,8.1636 63.2094,31.6705 114.1443,94.8309 131.396,162.934 5.9555,23.51 6.9843,32.7748 7.0129,63.1529 0.028,29.6988 -0.6417,35.8777 -6.5677,60.5935 l -2.4329,10.1472 H 1002.3281 756.76676 Z"
+     id="path1207" />
+</svg>
diff --git a/client/public/images/pieces/Pandemonium/bw.svg b/client/public/images/pieces/Pandemonium/bw.svg
deleted file mode 120000
index c301d868..00000000
--- a/client/public/images/pieces/Pandemonium/bw.svg
+++ /dev/null
@@ -1 +0,0 @@
-../bq.svg
\ No newline at end of file
diff --git a/client/public/images/pieces/Pandemonium/bw.svg b/client/public/images/pieces/Pandemonium/bw.svg
new file mode 100644
index 00000000..38bce687
--- /dev/null
+++ b/client/public/images/pieces/Pandemonium/bw.svg
@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   height="100%"
+   width="100%"
+   version="1.1"
+   viewBox="0 0 2048 2048"
+   id="svg187"
+   sodipodi:docname="bww.svg"
+   inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
+  <metadata
+     id="metadata193">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs191" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="960"
+     inkscape:window-height="1060"
+     id="namedview189"
+     showgrid="false"
+     inkscape:zoom="0.43115234"
+     inkscape:cx="1024"
+     inkscape:cy="1030.6187"
+     inkscape:window-x="960"
+     inkscape:window-y="20"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg187" />
+  <path
+     style="color:black;"
+     d="m1588 793q-83 30-233 49t-333 20q-178 0-326-18t-233-49l50-91q84 25 218 36t293 11q159 0 294-11t219-37l51 90zm226 668q-57 0-97 39t-40 97q0 56 40 96t97 41q56 0 96-40t40-97q0-57-40-96t-96-40zm-1578 0q-57 0-96 39t-40 97q0 56 39 96t97 41q57 0 97-40t40-97q0-57-40-96t-97-40zm1208 110q-57 0-96 39t-40 97q0 56 39 96t97 40q57 0 97-40t40-96q0-57-40-96t-97-40zm-840 0q-57 0-97 39t-40 97q0 56 40 96t97 40q56 0 96-40t40-96q0-57-40-96t-96-40zm1036-1288q-49-43-220-72t-394-29q-227 0-399 30t-217 75l63 240-28 157-88 153-85 622 49 19 274-462 6 550 68 12 209-553 112 595h69l112-593 207 551 69-12 6-550 275 463 47-22-83-619-89-153-28-159 65-243zm-96 32l-30 118q-195 45-490 45-292 0-488-45l-32-119q190 58 521 58 159 0 295-16t224-41zm-26 299q-184 51-490 51-308 0-496-52l15-101q189 49 481 49 291 0 474-48l16 101zm-494 1007q-57 0-96 40t-40 97q0 56 39 96t97 40q56 0 96-40t41-96q0-57-40-97t-97-40z"
+     fill-rule="nonzero"
+     transform="translate(0,2048) scale(1,-1)"
+     display="block"
+     fill="#000"
+     id="path177" />
+  <g
+     fill-rule="nonzero"
+     fill="#fff"
+     id="g185">
+    <path
+       style="color:black;"
+       d="m1588 1255q-83-30-233-49t-333-20q-178 0-326 18t-233 49l50 91q84-25 218-36t293-11 294 11 219 37l51-90z"
+       display="block"
+       id="path179" />
+    <path
+       style="color:black;"
+       d="m1544 1733-30-118q-195-45-490-45-292 0-488 45l-32 119q190-58 521-58 159 0 295 16t224 41z"
+       display="block"
+       id="path181" />
+    <path
+       style="color:black;"
+       d="m1518 1434q-184-51-490-51-308 0-496 52l15 101q189-49 481-49 291 0 474 48l16-101z"
+       display="block"
+       id="path183" />
+  </g>
+  <path
+     style="color:#000000;stroke-width:0.5"
+     d="m 1004.5484,1449.9481 q 48.5,0 93,7.5 49,-17.5 71,-54.5 19,-32 19,-70.4999 0,-23 -11.5,-50.5 -11.5,-27.5 -37.5,-50.5 -29.5,-24.5 -64.5,-53.5 -35,-29 -69.5,-68.5 -34.99998,39 -69.99998,68 -35,29 -64,54 -26.5,22.5 -37.5,50 -11.00001,27.5 -11.50001,51 0,38.4999 18.50001,70.4999 21.5,37 71.5,54.5 44,-7.5 92.99998,-7.5 z"
+     fill-rule="nonzero"
+     display="block"
+     fill="#ffffff"
+     id="path735" />
+  <path
+     style="color:#000000;stroke-width:0.5"
+     d="m 986.54842,1321.9482 -41.5,-0.5 q -17,0 -17,-17 0,-17 17,-17 h 41.5 v -43 q 0,-17.5 17.99998,-17.5 17.5,0 17.5,17.5 v 43 h 43 q 16.5,0 16.5,17 0,17 -16.5,17 h -43 v 40.9999 q 0,18 -17.5,18 -17.99998,0 -17.99998,-18 z m 17.99998,288.9999 q 34,0 66,-5.5 32,-5.5 62.5,-14 -58.5,-15.5 -128.5,-15.5 -70.99998,0 -128.49998,15.5 29,8 61.5,13.5 32.5,5.5 66.99998,6 z m 0,-544.4999 q 34,0 34,-34 0,-34.00003 -34,-34.00003 -33.99998,0 -33.99998,34.00003 0,34 33.99998,34 z m 0,474.4999 q 58.5,0 112.5,11.5 l -24,-61.5 q -44,-7 -88.5,-7 -45.49998,0 -88.99998,7 l -24,61.5 q 53.5,-11.5 112.99998,-11.5 z m 0,-91 q 48.5,0 93,7.5 49,-17.5 71,-54.5 19,-32 19,-70.4999 0,-23 -11.5,-50.5 -11.5,-27.5 -37.5,-50.5 -29.5,-24.5 -64.5,-53.5 -35,-29 -69.5,-68.5 -34.99998,39 -69.99998,68 -35,29 -64,54 -26.5,22.5 -37.5,50 -11.00001,27.5 -11.50001,51 0,38.4999 18.50001,70.4999 21.5,37 71.5,54.5 44,-7.5 92.99998,-7.5 z m -17.99998,188.5 h -16 q -28,45 -53.5,56.5 -12,6 -26.5,11 -14.5,5 -33.5,5 -3.5,0 -53.50001,-8 -24,-3.5 -38,-7.5 -14,-4 -22,-5 -28.5,-3.5 -66.5,3 -23,4 -43,14.5 l 24,39 q 6,-6 15.5,-7.5 9.5,-1.5 18,-4 21,-3.5 40,-1 6.5,1.5 25.5,3.5 19,2 50.5,7.5 37.50001,5.5 51.00001,5.5 52.5,0 80.5,-20 17,-13 32,-36 15,-23 15.5,-56.5 z m 17.99998,56.5 q -6.99998,28.5 -16.99998,39.5 -10,11 -26.5,23 -18,12.5 -42.5,21 -24.5,8.5 -54.5,4.5 l -140.50001,-19.5 q -8.5,-1 -15,0 -6.5,1 -13,1 -10.5,0 -26.5,4.5 -16,4.5 -25.5,14 l -48.5,-79.5 q 9,-10 16,-14 7,-4 16.5,-8.5 29,-13.5 62,-16.5 14,-1 27.5,-0.5 13.5,0.5 28,-1 27,4.5 54,8 27,3.5 55.00001,8 30,0 40.5,-6 5.5,-3 17.5,-11 12,-8 24,-23.5 -26.5,-3 -54,-10 -27.5,-7 -48.5,-15.5 l 52,-129 q -39,-22.5 -54.5,-36 -15.50001,-13.5 -24.50001,-32 -13,-23 -16.5,-44.5 -3.5,-21.4999 -3.5,-38.4999 0.5,-30 14,-66 13.5,-36 52.00001,-65 31.5,-24 61.5,-49.5 30,-25.5 59.5,-59.5 -37,-19 -37,-60.5 0,-28 19.5,-48.00003 19.5,-20 48.49998,-20 28,0 48,20 20,20.00003 20,48.00003 0,41 -37,60.5 29,34 58.5,59.5 29.5,25.5 62.5,49.5 37.5,28.5 51,64.5 13.5,36 14.5,66.5 0,17 -3.5,38.4999 -3.5,21.5 -16,44.5 -10,18 -25,31.5 -15,13.5 -54,36.5 l 52,129 q -22,8 -49.5,15 -27.5,7 -53,10.5 11.5,15.5 23.5,23.5 12,8 18,11 10.5,6 40.5,6 27,-4 54,-7.5 27,-3.5 55,-8.5 13.5,1.5 27,1 13.5,-0.5 28.5,0.5 32,3 62,16.5 9,4.5 16,8.5 7,4 16.5,14 l -49,79.5 q -9,-9 -25,-13.5 -16,-4.5 -26.5,-5 -6.5,0 -13,-1 -6.5,-1 -15.5,0 l -140,19.5 q -30,4.5 -55.5,-4 -25.5,-8.5 -42.5,-22.5 -16.5,-13.5 -26,-23 -9.5,-9.5 -16.5,-38.5 z m 17.5,-56.5 q 0,33 15,56 15,23 33,36.5 27.5,20 80.5,20 13,0 51,-5.5 31,-5 50,-7 19,-2 25.5,-4 19,-2.5 40,1 8,2 17.5,3.5 9.5,1.5 16.5,8 l 24,-39 q -20.5,-10.5 -43.5,-14.5 -38,-6.5 -66.5,-3 -8.5,1 -22,5 -13.5,4 -37.5,7.5 -50.5,8 -53.5,8 -19.5,0 -34,-5 -14.5,-5 -26,-11 -26.5,-12 -54,-56.5 z"
+     fill-rule="nonzero"
+     display="block"
+     fill="#000000"
+     id="path737" />
+  <g
+     fill-rule="nonzero"
+     fill="#ffffff"
+     id="g749"
+     transform="matrix(0.5,0,0,0.5,492.54841,866.94817)">
+    <path
+       style="color:#000000"
+       d="m 1024,1488 q 68,0 132,-11 64,-11 125,-28 -117,-31 -257,-31 -142,0 -257,31 58,16 123,27 65,11 134,12 z"
+       display="block"
+       id="path739" />
+    <path
+       style="color:#000000"
+       d="m 1024,399 q 68,0 68,-68 0,-68 -68,-68 -68,0 -68,68 0,68 68,68 z"
+       display="block"
+       id="path741" />
+    <path
+       style="color:#000000"
+       d="m 1024,1348 q 117,0 225,23 l -48,-123 q -88,-14 -177,-14 -91,0 -178,14 l -48,123 q 107,-23 226,-23 z"
+       display="block"
+       id="path743" />
+    <path
+       style="color:#000000"
+       d="m 988,1543 h -32 q -56,90 -107,113 -24,12 -53,22 -29,10 -67,10 -7,0 -107,-16 -48,-7 -76,-15 -28,-8 -44,-10 -57,-7 -133,6 -46,8 -86,29 l 48,78 q 12,-12 31,-15 19,-3 36,-8 42,-7 80,-2 13,3 51,7 38,4 101,15 75,11 102,11 105,0 161,-40 34,-26 64,-72 30,-46 31,-113 z"
+       display="block"
+       id="path745" />
+    <path
+       style="color:#000000"
+       d="m 1059,1543 q 0,66 30,112 30,46 66,73 55,40 161,40 26,0 102,-11 62,-10 100,-14 38,-4 51,-8 38,-5 80,2 16,4 35,7 19,3 33,16 l 48,-78 q -41,-21 -87,-29 -76,-13 -133,-6 -17,2 -44,10 -27,8 -75,15 -101,16 -107,16 -39,0 -68,-10 -29,-10 -52,-22 -53,-24 -108,-113 z"
+       display="block"
+       id="path747" />
+  </g>
+  <path
+     style="fill:#ff4500;stroke:#000000;stroke-width:1.15969"
+     d="m 990.24972,1063.9514 c -13.0619,-4.013 -20.4464,-17.8305 -18.9661,-35.4879 0.9593,-11.443 5.3201,-19.9496 12.5035,-24.3907 7.2221,-4.46514 18.26878,-6.13059 28.83828,-4.34782 17.0618,2.87782 24.9074,12.71852 24.9509,31.29562 0.013,5.434 -0.7288,12.4721 -1.6477,15.6402 -2.2833,7.8718 -9.4406,14.9433 -17.5672,17.3567 -7.5734,2.249 -20.67648,2.2182 -28.11168,-0.066 z"
+     id="path759" />
+  <path
+     style="fill:#ff4500;stroke:#000000;stroke-width:1.15969"
+     d="m 899.72822,1452.0705 c -22.4679,-9.9733 -41.9761,-24.999 -53.4381,-41.1593 -35.34168,-49.8279 -30.45113,-120.4696 11.5189,-166.3857 5.1407,-5.6241 29.4603,-26.6261 67.881,-58.621 15.9625,-13.2929 34.7012,-30.5059 52.0828,-47.8424 l 27.14978,-27.0793 7.5062,8.447 c 18.8754,21.2409 46.3787,46.6376 88.72,81.9241 24.3656,20.3059 46.9832,40.0229 50.2612,43.8154 32.5428,37.65 43.024,83.5765 29.3521,128.6138 -3.7975,12.5094 -13.2451,30.5447 -21.4091,40.8692 -12.3822,15.6589 -30.2626,28.7996 -51.6735,37.9756 l -9.7766,4.19 -12.7565,-1.793 c -30.5114,-4.2884 -38.6528,-4.7557 -81.7577,-4.6929 -37.59968,0.055 -46.23598,0.4083 -63.78248,2.6111 -11.162,1.4012 -22.3819,2.8074 -24.9332,3.1249 -3.6848,0.4586 -6.7583,-0.3636 -14.9448,-3.9975 z m 115.90288,-73.6386 c 6.0003,-3.9316 6.7828,-7.4672 7.2644,-32.8246 l 0.446,-23.4836 h 23.1118 c 30.4208,0 33.8123,-1.4152 35.3939,-14.7695 0.8699,-7.3446 -1.0708,-13.3024 -5.5648,-17.0838 l -3.4906,-2.9372 h -24.7289 -24.7289 l -0.4366,-24.6432 c -0.485,-27.3702 -1.2207,-30.4607 -8.0981,-34.0171 -4.4438,-2.298 -15.77168,-2.4717 -20.18388,-0.3096 -1.7571,0.8611 -4.2854,3.0375 -5.6184,4.8364 -2.2564,3.045 -2.448,5.0265 -2.7764,28.7022 l -0.3527,25.4313 h -23.7683 c -26.2067,0 -29.0695,0.6128 -32.3311,6.9202 -2.774,5.3641 -2.3462,17.5338 0.7549,21.4762 4.4764,5.6908 8.0862,6.3941 32.819,6.3941 h 22.6511 v 22.6511 c 0,23.8402 0.6991,27.9246 5.5137,32.2109 1.2952,1.153 3.846,2.5736 5.6686,3.1569 4.58098,1.4662 15.09398,0.4917 18.45528,-1.7107 z"
+     id="path761" />
+  <path
+     style="fill:#ff4500;stroke:#000000;stroke-width:1.15969"
+     d="m 904.05022,1521.7585 11.7825,-30.1815 6.958,-1.1963 c 3.827,-0.6579 15.0469,-2.1003 24.9332,-3.2054 25.1185,-2.8075 88.44308,-2.8149 113.06908,-0.013 21.5186,2.4483 30.9024,3.9519 31.9367,5.1174 1.0028,1.1302 23.2991,58.551 22.8784,58.9199 -0.1705,0.1494 -5.7895,-0.7232 -12.4866,-1.9391 -49.0078,-8.8979 -100.2635,-10.9561 -152.65658,-6.1301 -16.4876,1.5187 -46.7504,5.9368 -55.2109,8.0602 -2.8962,0.7269 -2.6306,-0.1617 8.7962,-29.432 z"
+     id="path763" />
+  <path
+     style="fill:#ff4500;stroke:#000000;stroke-width:1.15969"
+     d="m 984.80062,1609.6395 c -8.629,-0.4958 -22.4582,-1.7642 -30.7316,-2.8188 -26.5312,-3.3817 -76.3816,-14.093 -73.3413,-15.7587 2.1006,-1.1509 27.2966,-6.4924 40.3235,-8.5486 34.9546,-5.5173 95.96468,-7.4969 131.04418,-4.252 25.8195,2.3883 57.5662,7.5291 73.6399,11.9246 l 4.6387,1.2685 -5.2186,1.5822 c -10.4445,3.1665 -47.3683,10.8426 -63.2227,13.1434 -15.0254,2.1804 -49.863,4.8984 -57.9642,4.5224 -1.9134,-0.089 -10.53898,-0.5672 -19.16788,-1.063 z"
+     id="path765" />
+  <path
+     style="fill:#ff4500;stroke:#000000;stroke-width:1.15969"
+     d="m 824.21772,1747.1611 c -10.84304,-1.4703 -26.23782,-3.7506 -34.21065,-5.0674 -7.97282,-1.3167 -22.84575,-3.4359 -33.05096,-4.7092 -10.20521,-1.2734 -22.99071,-2.9066 -28.41223,-3.6294 -11.79121,-1.572 -28.28027,-0.652 -41.16875,2.297 -5.1026,1.1675 -11.36489,2.4849 -13.91619,2.9276 -2.5513,0.4427 -6.95192,2.0866 -9.77916,3.6533 -4.14187,2.2951 -5.40565,2.5596 -6.50576,1.362 -2.2528,-2.4524 -21.40477,-34.0948 -21.40477,-35.3643 0,-1.2489 9.83517,-5.9149 18.62104,-8.8343 20.38347,-6.773 39.3382,-9.3894 67.77533,-9.3552 22.25089,0.027 23.73576,0.1741 36.53001,3.6229 19.82798,5.3448 46.34805,10.137 91.59299,16.5508 16.7496,2.3744 37.3554,-1.7463 59.7456,-11.9478 22.3633,-10.1893 36.5493,-23.3338 55.0004,-50.9625 l 6.0021,-8.9875 h 7.6383 7.6384 l -0.7904,8.9875 c -1.0259,11.6655 -4.4319,26.0301 -8.1835,34.5131 -4.9527,11.1989 -15.6489,26.0123 -27.2962,37.803 -9.8247,9.9456 -12.3348,11.7939 -23.1937,17.0787 -26.1331,12.7185 -59.16,15.9564 -102.6319,10.0617 z"
+     id="path767" />
+  <path
+     style="fill:#ff4500;stroke:#000000;stroke-width:1.15969"
+     d="m 1121.2528,1748.7308 c -28.2421,-3.6268 -47.4466,-12.8838 -65.2922,-31.4721 -20.9443,-21.8161 -31.0281,-42.6694 -32.5117,-67.2347 l -0.6828,-11.3069 h 7.4307 7.4306 l 6.2335,9.4247 c 15.49,23.4202 31.3658,38.8451 48.8992,47.5105 34.2661,16.9352 46.8901,18.3298 95.598,10.5603 38.1731,-6.0891 39.0054,-6.252 58.2126,-11.3936 15.8393,-4.24 16.2503,-4.2858 39.2008,-4.3725 25.5302,-0.096 43.1762,1.9434 60.8186,7.0305 12.435,3.5856 26.7374,9.5141 26.7374,11.0831 0,0.6629 -5.0639,9.4312 -11.2532,19.4852 l -11.2533,18.2799 -3.5326,-2.6065 c -4.7008,-3.4684 -5.841,-3.8281 -22.4972,-7.0987 -17.5992,-3.4557 -34.2544,-4.5507 -44.2382,-2.9084 -4.1459,0.682 -17.4533,2.5415 -29.572,4.1321 -12.1186,1.5906 -28.8181,3.9435 -37.1099,5.2287 -43.7017,6.7736 -70.9647,8.4392 -92.6183,5.6584 z"
+     id="path769" />
+</svg>
diff --git a/client/public/images/pieces/Pandemonium/wa.svg b/client/public/images/pieces/Pandemonium/wa.svg
deleted file mode 120000
index aed155fe..00000000
--- a/client/public/images/pieces/Pandemonium/wa.svg
+++ /dev/null
@@ -1 +0,0 @@
-../wq.svg
\ No newline at end of file
diff --git a/client/public/images/pieces/Pandemonium/wa.svg b/client/public/images/pieces/Pandemonium/wa.svg
new file mode 100644
index 00000000..21fe684e
--- /dev/null
+++ b/client/public/images/pieces/Pandemonium/wa.svg
@@ -0,0 +1,205 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   height="100%"
+   width="100%"
+   version="1.1"
+   viewBox="0 0 2048 2048"
+   id="svg227"
+   sodipodi:docname="waa.svg"
+   inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
+  <metadata
+     id="metadata233">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs231" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="960"
+     inkscape:window-height="1060"
+     id="namedview229"
+     showgrid="false"
+     inkscape:zoom="0.43115234"
+     inkscape:cx="1024"
+     inkscape:cy="1024"
+     inkscape:window-x="0"
+     inkscape:window-y="20"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg227" />
+  <path
+     style="color:black;"
+     d="m1024 1621q-57 0-96 40t-40 97q0 56 39 96t97 40q56 0 96-40t41-96q0-57-40-97t-97-40zm0 70q67 0 67 67 0 66-67 66-66 0-66-66 0-67 66-67zm509-1007q-193 49-505 49-320 0-511-50l15-96q195 46 496 46 299 0 488-45l17 96zm25 60 65 115q-48-19-98-19-134 0-214 109-60-50-134-50-96 0-153 75-64-70-153-70-72 0-132 49-84-107-217-107-51 0-101 19l70-120q194 56 533 56 345 0 534-57zm-448 239-85 489-85-483q3 2 14 10 23 45 70 45 51 0 66-45 6-6 20-16zm277-19v463l-165-454q19 7 32 18 20 25 54 25 40 0 64-35 3-4 7-8t8-9zm-562 14-164 449v-457q3 4 9 10 20 42 66 42 38 0 62-32 27-12 27-12zm-254-56-215 371 55-338q57-40 111-40 21 0 49 7zm903-5q23-7 51-7 61 0 114 38l55 346-220-377zm60-506-30 113q-196 43-480 43-281 0-479-43l-31-114q186 56 511 56 317 0 509-55zm106-128q-49-43-220-72t-394-29q-227 0-399 30t-217 75l63 240-28 157-88 153-85 622 49 19 274-462 6 550 68 12 209-553 112 595h69l112-593 207 551 69-12 6-550 275 463 47-22-83-619-89-153-28-159 65-243zm-81 36q-183 76-531 76-355 0-537-78 175-69 534-69 172 0 314 19t220 52zm-955 1252q-57 0-97 39t-40 97q0 56 40 96t97 40q56 0 96-40t40-96q0-57-40-96t-96-40zm0 70q66 0 66 66t-66 66q-67 0-67-66t67-66zm840 0q67 0 67 66t-67 66q-66 0-66-66t66-66zm0-70q-57 0-96 39t-40 97q0 56 39 96t97 40q57 0 97-40t40-96q0-57-40-96t-97-40zm-1208-110q-57 0-96 39t-40 97q0 56 39 96t97 41q57 0 97-40t40-97-40-96-97-40zm0 70q67 0 67 66 0 67-67 67-66 0-66-67 0-66 66-66zm1578 0q66 0 66 66 0 67-66 67-67 0-67-67 0-66 67-66zm0-70q-57 0-97 39t-40 97q0 56 40 96t97 41q56 0 96-40t40-97-40-96-96-40z"
+     fill-rule="nonzero"
+     transform="translate(0,2048) scale(1,-1)"
+     display="block"
+     fill="#000"
+     id="path195" />
+  <g
+     fill-rule="nonzero"
+     fill="#fff"
+     id="g225">
+    <path
+       style="color:black;"
+       d="m1024 357q67 0 67-67 0-66-67-66-66 0-66 66 0 67 66 67z"
+       display="block"
+       id="path197" />
+    <path
+       style="color:black;"
+       d="m1533 1364q-193-49-505-49-320 0-511 50l15 96q195-46 496-46 299 0 488 45l17-96z"
+       display="block"
+       id="path199" />
+    <path
+       style="color:black;"
+       d="m1558 1304 65-115q-48 19-98 19-134 0-214-109-60 50-134 50-96 0-153-75-64 70-153 70-72 0-132-49-84 107-217 107-51 0-101-19l70 120q194-56 533-56 345 0 534 57z"
+       display="block"
+       id="path201" />
+    <path
+       style="color:black;"
+       d="m1110 1065-85-489-85 483q3-2 14-10 23-45 70-45 51 0 66 45 6 6 20 16z"
+       display="block"
+       id="path203" />
+    <path
+       style="color:black;"
+       d="m1387 1084v-463l-165 454q19-7 32-18 20-25 54-25 40 0 64 35 3 4 7 8t8 9z"
+       display="block"
+       id="path205" />
+    <path
+       style="color:black;"
+       d="m825 1070-164-449v457q3-4 9-10 20-42 66-42 38 0 62 32 27 12 27 12z"
+       display="block"
+       id="path207" />
+    <path
+       style="color:black;"
+       d="m571 1126-215-371 55 338q57 40 111 40 21 0 49-7z"
+       display="block"
+       id="path209" />
+    <path
+       style="color:black;"
+       d="m1474 1131q23 7 51 7 61 0 114-38l55-346-220 377z"
+       display="block"
+       id="path211" />
+    <path
+       style="color:black;"
+       d="m1534 1637-30-113q-196-43-480-43-281 0-479 43l-31 114q186-56 511-56 317 0 509 55z"
+       display="block"
+       id="path213" />
+    <path
+       style="color:black;"
+       d="m1559 1729q-183-76-531-76-355 0-537 78 175 69 534 69 172 0 314-19t220-52z"
+       display="block"
+       id="path215" />
+    <path
+       style="color:black;"
+       d="m604 407q66 0 66-66t-66-66q-67 0-67 66t67 66z"
+       display="block"
+       id="path217" />
+    <path
+       style="color:black;"
+       d="m1444 407q67 0 67-66t-67-66q-66 0-66 66t66 66z"
+       display="block"
+       id="path219" />
+    <path
+       style="color:black;"
+       d="m236 517q67 0 67-66 0-67-67-67-66 0-66 67 0 66 66 66z"
+       display="block"
+       id="path221" />
+    <path
+       style="color:black;"
+       d="m1814 517q66 0 66-66 0-67-66-67-67 0-67 67 0 66 67 66z"
+       display="block"
+       id="path223" />
+  </g>
+  <path
+     style="color:#000000;stroke-width:0.5"
+     d="m 1100.5,1023 h 85 v -68.5 h 137 V 1142 l -111,85.5 v 239 l 85,85 V 1654 h 76.5 v 119.5 H 690.49997 V 1654 h 76.5 v -102.5 l 85.50003,-85 v -239 L 741.49997,1142 V 954.5 H 878 v 68.5 h 85.5 v -68.5 h 137 z m 239,665 H 724.49997 v 51.5 H 1339.5 Z M 1262,1586 H 802 v 68 h 460 z m -85,-358.5 H 887 v 239 h 290 z M 1288,1108 V 988.5 h -68.5 v 68.5 h -154 V 988.5 H 998 V 1057 H 844.5 V 988.5 H 775.99997 V 1108 Z m -38.5,443.5 -51.5,-51 H 866.5 l -52.5,51 z m -55,-358 63.5,-51.5 H 806 l 64,51.5 z"
+     fill-rule="nonzero"
+     display="block"
+     fill="#000000"
+     id="path987" />
+  <g
+     fill-rule="nonzero"
+     fill="#ffffff"
+     id="g997"
+     transform="matrix(0.5,0,0,0.5,519.99997,852)">
+    <path
+       style="color:#000000"
+       d="M 1639,1672 H 409 v 103 h 1230 z"
+       display="block"
+       id="path989" />
+    <path
+       style="color:#000000"
+       d="M 1484,1468 H 564 v 136 h 920 z"
+       display="block"
+       id="path991" />
+    <path
+       style="color:#000000"
+       d="M 1314,751 H 734 v 478 h 580 z"
+       display="block"
+       id="path993" />
+    <path
+       style="color:#000000"
+       d="M 1536,512 V 273 H 1399 V 410 H 1091 V 273 H 956 V 410 H 649 V 273 H 512 v 239 z"
+       display="block"
+       id="path995" />
+  </g>
+  <path
+     style="color:#000000;stroke-width:0.5"
+     d="m 1249.5,1551.5 -51.5,-51 H 866.5 l -52.5,51 z"
+     fill-rule="nonzero"
+     display="block"
+     fill="#ffffff"
+     id="path999" />
+  <path
+     style="color:#000000;stroke-width:0.5"
+     d="M 1194.5,1193.5 1258,1142 H 806 l 64,51.5 z"
+     fill-rule="nonzero"
+     display="block"
+     fill="#ffffff"
+     id="path1001" />
+  <path
+     style="fill:#ff4500;stroke:#000000;stroke-width:1.15969"
+     d="m 776.86973,1048.5662 v -59.14378 h 33.63077 33.6308 v 34.21068 34.2106 h 77.119 77.1189 v -34.2106 -34.21068 h 33.0334 33.0335 l 0.3075,33.92068 0.3074,33.9208 77.4088,0.2981 77.4089,0.2982 v -34.2189 -34.21888 h 33.6308 33.6308 v 59.14378 59.1439 H 1032 776.86973 Z"
+     id="path1011" />
+  <path
+     style="fill:#ff4500;stroke:#000000;stroke-width:1.15969"
+     d="m 839.1677,1168.2094 -31.0565,-25.129 111.9444,-0.2957 c 61.5694,-0.1626 162.3319,-0.1626 223.9166,0 l 111.9721,0.2957 -31.0843,25.2101 -31.0842,25.2101 -161.7758,-0.081 -161.7758,-0.081 z"
+     id="path1013" />
+  <path
+     style="fill:#ff4500;stroke:#000000;stroke-width:1.15969"
+     d="M 887.0396,1347.1846 V 1228.3171 H 1032 1176.9603 v 118.8675 118.8675 H 1032 887.0396 Z"
+     id="path1015" />
+  <path
+     style="fill:#ff4500;stroke:#000000;stroke-width:1.15969"
+     d="m 841.2321,1525.7713 25.5131,-24.8427 165.2548,-0.032 165.2548,-0.031 25.5131,24.8613 25.513,24.8611 -216.2809,0.013 -216.2809,0.013 z"
+     id="path1017" />
+  <path
+     style="fill:#ff4500;stroke:#000000;stroke-width:1.15969"
+     d="m 802.3827,1620.2899 v -33.6308 H 1032 1261.6172 v 33.6308 33.6308 H 1032 802.3827 Z"
+     id="path1019" />
+  <path
+     style="fill:#ff4500;stroke:#000000;stroke-width:1.15969"
+     d="m 724.684,1713.6444 v -24.9332 H 1032 1339.316 v 24.9332 24.9332 H 1032 724.684 Z"
+     id="path1021" />
+</svg>
diff --git a/client/public/images/pieces/Pandemonium/wg.svg b/client/public/images/pieces/Pandemonium/wg.svg
deleted file mode 120000
index aed155fe..00000000
--- a/client/public/images/pieces/Pandemonium/wg.svg
+++ /dev/null
@@ -1 +0,0 @@
-../wq.svg
\ No newline at end of file
diff --git a/client/public/images/pieces/Pandemonium/wg.svg b/client/public/images/pieces/Pandemonium/wg.svg
new file mode 100644
index 00000000..d8c37b08
--- /dev/null
+++ b/client/public/images/pieces/Pandemonium/wg.svg
@@ -0,0 +1,152 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   height="100%"
+   width="100%"
+   version="1.1"
+   viewBox="0 0 2048 2048"
+   id="svg227"
+   sodipodi:docname="wgg.svg"
+   inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
+  <metadata
+     id="metadata233">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs231" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="960"
+     inkscape:window-height="1060"
+     id="namedview229"
+     showgrid="false"
+     inkscape:zoom="0.43115234"
+     inkscape:cx="1024"
+     inkscape:cy="1024"
+     inkscape:window-x="0"
+     inkscape:window-y="20"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg227" />
+  <path
+     style="color:black;"
+     d="m1024 1621q-57 0-96 40t-40 97q0 56 39 96t97 40q56 0 96-40t41-96q0-57-40-97t-97-40zm0 70q67 0 67 67 0 66-67 66-66 0-66-66 0-67 66-67zm509-1007q-193 49-505 49-320 0-511-50l15-96q195 46 496 46 299 0 488-45l17 96zm25 60 65 115q-48-19-98-19-134 0-214 109-60-50-134-50-96 0-153 75-64-70-153-70-72 0-132 49-84-107-217-107-51 0-101 19l70-120q194 56 533 56 345 0 534-57zm-448 239-85 489-85-483q3 2 14 10 23 45 70 45 51 0 66-45 6-6 20-16zm277-19v463l-165-454q19 7 32 18 20 25 54 25 40 0 64-35 3-4 7-8t8-9zm-562 14-164 449v-457q3 4 9 10 20 42 66 42 38 0 62-32 27-12 27-12zm-254-56-215 371 55-338q57-40 111-40 21 0 49 7zm903-5q23-7 51-7 61 0 114 38l55 346-220-377zm60-506-30 113q-196 43-480 43-281 0-479-43l-31-114q186 56 511 56 317 0 509-55zm106-128q-49-43-220-72t-394-29q-227 0-399 30t-217 75l63 240-28 157-88 153-85 622 49 19 274-462 6 550 68 12 209-553 112 595h69l112-593 207 551 69-12 6-550 275 463 47-22-83-619-89-153-28-159 65-243zm-81 36q-183 76-531 76-355 0-537-78 175-69 534-69 172 0 314 19t220 52zm-955 1252q-57 0-97 39t-40 97q0 56 40 96t97 40q56 0 96-40t40-96q0-57-40-96t-96-40zm0 70q66 0 66 66t-66 66q-67 0-67-66t67-66zm840 0q67 0 67 66t-67 66q-66 0-66-66t66-66zm0-70q-57 0-96 39t-40 97q0 56 39 96t97 40q57 0 97-40t40-96q0-57-40-96t-97-40zm-1208-110q-57 0-96 39t-40 97q0 56 39 96t97 41q57 0 97-40t40-97-40-96-97-40zm0 70q67 0 67 66 0 67-67 67-66 0-66-67 0-66 66-66zm1578 0q66 0 66 66 0 67-66 67-67 0-67-67 0-66 67-66zm0-70q-57 0-97 39t-40 97q0 56 40 96t97 41q56 0 96-40t40-97-40-96-96-40z"
+     fill-rule="nonzero"
+     transform="translate(0,2048) scale(1,-1)"
+     display="block"
+     fill="#000"
+     id="path195" />
+  <g
+     fill-rule="nonzero"
+     fill="#fff"
+     id="g225">
+    <path
+       style="color:black;"
+       d="m1024 357q67 0 67-67 0-66-67-66-66 0-66 66 0 67 66 67z"
+       display="block"
+       id="path197" />
+    <path
+       style="color:black;"
+       d="m1533 1364q-193-49-505-49-320 0-511 50l15 96q195-46 496-46 299 0 488 45l17-96z"
+       display="block"
+       id="path199" />
+    <path
+       style="color:black;"
+       d="m1558 1304 65-115q-48 19-98 19-134 0-214-109-60 50-134 50-96 0-153-75-64 70-153 70-72 0-132-49-84 107-217 107-51 0-101-19l70 120q194-56 533-56 345 0 534 57z"
+       display="block"
+       id="path201" />
+    <path
+       style="color:black;"
+       d="m1110 1065-85-489-85 483q3-2 14-10 23-45 70-45 51 0 66 45 6 6 20 16z"
+       display="block"
+       id="path203" />
+    <path
+       style="color:black;"
+       d="m1387 1084v-463l-165 454q19-7 32-18 20-25 54-25 40 0 64 35 3 4 7 8t8 9z"
+       display="block"
+       id="path205" />
+    <path
+       style="color:black;"
+       d="m825 1070-164-449v457q3-4 9-10 20-42 66-42 38 0 62 32 27 12 27 12z"
+       display="block"
+       id="path207" />
+    <path
+       style="color:black;"
+       d="m571 1126-215-371 55 338q57 40 111 40 21 0 49-7z"
+       display="block"
+       id="path209" />
+    <path
+       style="color:black;"
+       d="m1474 1131q23 7 51 7 61 0 114-38l55-346-220 377z"
+       display="block"
+       id="path211" />
+    <path
+       style="color:black;"
+       d="m1534 1637-30-113q-196-43-480-43-281 0-479 43l-31 114q186-56 511-56 317 0 509 55z"
+       display="block"
+       id="path213" />
+    <path
+       style="color:black;"
+       d="m1559 1729q-183-76-531-76-355 0-537 78 175 69 534 69 172 0 314-19t220-52z"
+       display="block"
+       id="path215" />
+    <path
+       style="color:black;"
+       d="m604 407q66 0 66-66t-66-66q-67 0-67 66t67 66z"
+       display="block"
+       id="path217" />
+    <path
+       style="color:black;"
+       d="m1444 407q67 0 67-66t-67-66q-66 0-66 66t66 66z"
+       display="block"
+       id="path219" />
+    <path
+       style="color:black;"
+       d="m236 517q67 0 67-66 0-67-67-67-66 0-66 67 0 66 66 66z"
+       display="block"
+       id="path221" />
+    <path
+       style="color:black;"
+       d="m1814 517q66 0 66-66 0-67-66-67-67 0-67 67 0 66 67 66z"
+       display="block"
+       id="path223" />
+  </g>
+  <path
+     style="color:#000000;stroke-width:0.5"
+     d="m 1012.1021,1732.3002 h 245.5 q 10.5,-36 10.5,-70.5 0,-78 -43,-141.5 -43,-63.5 -111.5,-93.5 -33,-2.5 -33,-36 0,-26.5 33.5,-39 46.5,-32.5 46.5,-86 0,-38.5 -26,-67.5 -26,-29 -63,-33.5 -30,-2.5 -30,-34 0,-14 11,-26 27,-21 27,-55 0,-28 -20,-48 -20,-20.00002 -47.5,-20.00002 -28.5,0 -48,20.00002 -19.5,20 -20,48 0,33.5 27,55 11,11 11,26 0,31.5 -29.5,34 -37.5,4.5 -63,33.5 -25.5,29 -26,67.5 0,53.5 46.5,86 33.5,13 33.5,39 0,33.5 -33.5,36 -68,30 -111,93.5 -43.00003,63.5 -43.00003,141.5 0,37 10.5,70.5 z m 0,34 H 742.10207 q -20,-50 -20,-104.5 0,-92.5 52.50003,-166 52.5,-73.5 135,-105 -35.5,-16.5 -57.5,-49.5 -22,-33 -22.5,-75.5 0,-52.5 35,-91 35,-38.5 86,-44.5 -40.5,-30.5 -40.5,-80.5 0,-42 29.5,-72.00002 29.5,-30 72.5,-30 42,0 72,30 30,30.00002 30,72.00002 0,50 -40.5,80.5 51,6 86,44.5 35,38.5 35,91 0,42 -22.5,75 -22.5,33 -58,50 82.5,31.5 135,105 52.5,73.5 52.5,166 0,54 -19.5,104.5 z"
+     fill-rule="nonzero"
+     display="block"
+     fill="#000000"
+     id="path1195" />
+  <path
+     style="color:#000000;stroke-width:0.5"
+     d="m 1012.1021,1732.3002 h 245.5 q 10.5,-36 10.5,-70.5 0,-78 -43,-141.5 -43,-63.5 -111.5,-93.5 -33,-2.5 -33,-36 0,-26.5 33.5,-39 46.5,-32.5 46.5,-86 0,-38.5 -26,-67.5 -26,-29 -63,-33.5 -30,-2.5 -30,-34 0,-14 11,-26 27,-21 27,-55 0,-28 -20,-48 -20,-20.00002 -47.5,-20.00002 -28.5,0 -48,20.00002 -19.5,20 -20,48 0,33.5 27,55 11,11 11,26 0,31.5 -29.5,34 -37.5,4.5 -63,33.5 -25.5,29 -26,67.5 0,53.5 46.5,86 33.5,13 33.5,39 0,33.5 -33.5,36 -68,30 -111,93.5 -43.00003,63.5 -43.00003,141.5 0,37 10.5,70.5 z"
+     fill-rule="nonzero"
+     display="block"
+     fill="#ffffff"
+     id="path1197" />
+  <path
+     style="fill:#ff4500;stroke:#000000;stroke-width:1.15969"
+     d="m 763.38445,1718.5503 c -4.53103,-18.9495 -6.36461,-35.2873 -6.38998,-56.937 -0.0702,-59.8674 17.97533,-111.0742 56.12723,-159.2696 27.3805,-34.5885 73.4334,-68.6941 102.4,-75.8348 11.8559,-2.9227 15.0619,-4.5641 20.3529,-10.4207 5.1151,-5.6618 7.8062,-14.1082 7.8062,-24.5014 0,-16.5967 -7.4307,-26.9896 -26.4437,-36.9855 -41.5288,-21.8334 -61.5699,-68.4097 -49.4918,-115.0207 4.1129,-15.8723 12.6878,-30.6829 25.3663,-43.813 17.3397,-17.9573 34.8146,-26.9929 58.6528,-30.3272 21.221,-2.9682 30.2578,-13.0092 30.406,-33.7849 0.09,-12.5954 -3.1674,-19.1918 -15.6866,-31.7674 -15.1935,-15.2621 -21.6091,-29.8823 -21.6091,-49.2442 0,-19.2505 6.2132,-34.0543 20.2471,-48.2414 13.4457,-13.59244 28.7185,-20.13962 46.9803,-20.13962 37.7434,0 69.8044,34.50192 66.7762,71.86012 -1.5761,19.4453 -6.3727,29.6684 -21.3492,45.502 -13.7473,14.5341 -15.86,18.9058 -15.8402,32.7765 0.012,8.552 0.5019,11.4316 2.7112,15.9426 5.1294,10.4731 14.2137,15.5916 31.2989,17.635 9.2033,1.1007 24.4746,6.5996 33.9326,12.2185 15.3814,9.138 32.0093,27.1293 40.2029,43.4995 13.6236,27.2189 13.501,62.4272 -0.3128,89.876 -8.8226,17.531 -24.976,34.0918 -40.9538,41.9864 -11.0834,5.4764 -19.7947,12.8003 -24.2329,20.3735 -2.4746,4.2226 -3.1858,7.1499 -3.5851,14.7576 -1.127,21.4727 7.6409,33.7021 27.026,37.696 3.827,0.7885 13.0025,4.4621 20.3901,8.1636 63.2094,31.6705 114.1443,94.8309 131.396,162.934 5.9555,23.51 6.9843,32.7748 7.0129,63.1529 0.028,29.6988 -0.6417,35.8777 -6.5677,60.5935 l -2.4329,10.1472 H 1012.013 766.45162 Z"
+     id="path1207" />
+</svg>
diff --git a/client/public/images/pieces/Pandemonium/ww.svg b/client/public/images/pieces/Pandemonium/ww.svg
deleted file mode 120000
index aed155fe..00000000
--- a/client/public/images/pieces/Pandemonium/ww.svg
+++ /dev/null
@@ -1 +0,0 @@
-../wq.svg
\ No newline at end of file
diff --git a/client/public/images/pieces/Pandemonium/ww.svg b/client/public/images/pieces/Pandemonium/ww.svg
new file mode 100644
index 00000000..7df2240c
--- /dev/null
+++ b/client/public/images/pieces/Pandemonium/ww.svg
@@ -0,0 +1,203 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   height="100%"
+   width="100%"
+   version="1.1"
+   viewBox="0 0 2048 2048"
+   id="svg227"
+   sodipodi:docname="www.svg"
+   inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
+  <metadata
+     id="metadata233">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs231" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="960"
+     inkscape:window-height="1060"
+     id="namedview229"
+     showgrid="false"
+     inkscape:zoom="0.43115234"
+     inkscape:cx="1024"
+     inkscape:cy="1024"
+     inkscape:window-x="0"
+     inkscape:window-y="20"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg227" />
+  <path
+     style="color:black;"
+     d="m1024 1621q-57 0-96 40t-40 97q0 56 39 96t97 40q56 0 96-40t41-96q0-57-40-97t-97-40zm0 70q67 0 67 67 0 66-67 66-66 0-66-66 0-67 66-67zm509-1007q-193 49-505 49-320 0-511-50l15-96q195 46 496 46 299 0 488-45l17 96zm25 60 65 115q-48-19-98-19-134 0-214 109-60-50-134-50-96 0-153 75-64-70-153-70-72 0-132 49-84-107-217-107-51 0-101 19l70-120q194 56 533 56 345 0 534-57zm-448 239-85 489-85-483q3 2 14 10 23 45 70 45 51 0 66-45 6-6 20-16zm277-19v463l-165-454q19 7 32 18 20 25 54 25 40 0 64-35 3-4 7-8t8-9zm-562 14-164 449v-457q3 4 9 10 20 42 66 42 38 0 62-32 27-12 27-12zm-254-56-215 371 55-338q57-40 111-40 21 0 49 7zm903-5q23-7 51-7 61 0 114 38l55 346-220-377zm60-506-30 113q-196 43-480 43-281 0-479-43l-31-114q186 56 511 56 317 0 509-55zm106-128q-49-43-220-72t-394-29q-227 0-399 30t-217 75l63 240-28 157-88 153-85 622 49 19 274-462 6 550 68 12 209-553 112 595h69l112-593 207 551 69-12 6-550 275 463 47-22-83-619-89-153-28-159 65-243zm-81 36q-183 76-531 76-355 0-537-78 175-69 534-69 172 0 314 19t220 52zm-955 1252q-57 0-97 39t-40 97q0 56 40 96t97 40q56 0 96-40t40-96q0-57-40-96t-96-40zm0 70q66 0 66 66t-66 66q-67 0-67-66t67-66zm840 0q67 0 67 66t-67 66q-66 0-66-66t66-66zm0-70q-57 0-96 39t-40 97q0 56 39 96t97 40q57 0 97-40t40-96q0-57-40-96t-97-40zm-1208-110q-57 0-96 39t-40 97q0 56 39 96t97 41q57 0 97-40t40-97-40-96-97-40zm0 70q67 0 67 66 0 67-67 67-66 0-66-67 0-66 66-66zm1578 0q66 0 66 66 0 67-66 67-67 0-67-67 0-66 67-66zm0-70q-57 0-97 39t-40 97q0 56 40 96t97 41q56 0 96-40t40-97-40-96-96-40z"
+     fill-rule="nonzero"
+     transform="translate(0,2048) scale(1,-1)"
+     display="block"
+     fill="#000"
+     id="path195" />
+  <g
+     fill-rule="nonzero"
+     fill="#fff"
+     id="g225">
+    <path
+       style="color:black;"
+       d="m1024 357q67 0 67-67 0-66-67-66-66 0-66 66 0 67 66 67z"
+       display="block"
+       id="path197" />
+    <path
+       style="color:black;"
+       d="m1533 1364q-193-49-505-49-320 0-511 50l15 96q195-46 496-46 299 0 488 45l17-96z"
+       display="block"
+       id="path199" />
+    <path
+       style="color:black;"
+       d="m1558 1304 65-115q-48 19-98 19-134 0-214-109-60 50-134 50-96 0-153-75-64 70-153 70-72 0-132-49-84 107-217 107-51 0-101-19l70 120q194-56 533-56 345 0 534 57z"
+       display="block"
+       id="path201" />
+    <path
+       style="color:black;"
+       d="m1110 1065-85-489-85 483q3-2 14-10 23-45 70-45 51 0 66 45 6 6 20 16z"
+       display="block"
+       id="path203" />
+    <path
+       style="color:black;"
+       d="m1387 1084v-463l-165 454q19-7 32-18 20-25 54-25 40 0 64 35 3 4 7 8t8 9z"
+       display="block"
+       id="path205" />
+    <path
+       style="color:black;"
+       d="m825 1070-164-449v457q3-4 9-10 20-42 66-42 38 0 62 32 27 12 27 12z"
+       display="block"
+       id="path207" />
+    <path
+       style="color:black;"
+       d="m571 1126-215-371 55 338q57 40 111 40 21 0 49-7z"
+       display="block"
+       id="path209" />
+    <path
+       style="color:black;"
+       d="m1474 1131q23 7 51 7 61 0 114-38l55-346-220 377z"
+       display="block"
+       id="path211" />
+    <path
+       style="color:black;"
+       d="m1534 1637-30-113q-196-43-480-43-281 0-479 43l-31 114q186-56 511-56 317 0 509 55z"
+       display="block"
+       id="path213" />
+    <path
+       style="color:black;"
+       d="m1559 1729q-183-76-531-76-355 0-537 78 175 69 534 69 172 0 314-19t220-52z"
+       display="block"
+       id="path215" />
+    <path
+       style="color:black;"
+       d="m604 407q66 0 66-66t-66-66q-67 0-67 66t67 66z"
+       display="block"
+       id="path217" />
+    <path
+       style="color:black;"
+       d="m1444 407q67 0 67-66t-67-66q-66 0-66 66t66 66z"
+       display="block"
+       id="path219" />
+    <path
+       style="color:black;"
+       d="m236 517q67 0 67-66 0-67-67-67-66 0-66 67 0 66 66 66z"
+       display="block"
+       id="path221" />
+    <path
+       style="color:black;"
+       d="m1814 517q66 0 66-66 0-67-66-67-67 0-67 67 0 66 67 66z"
+       display="block"
+       id="path223" />
+  </g>
+  <path
+     style="color:#000000;stroke-width:0.5"
+     d="m 1024,1414.4999 q 48.5,0 93,7.5 49,-17.5 71,-54.5 19,-32 19,-70.4999 0,-23 -11.5,-50.5 -11.5,-27.5 -37.5,-50.5 -29.5,-24.5 -64.5,-53.5 -35,-29 -69.5,-68.5 -35,39 -70,68 -35,29 -64,54 -26.5,22.5 -37.5,50 -11,27.5 -11.5,51 0,38.4999 18.5,70.4999 21.5,37 71.5,54.5 44,-7.5 93,-7.5 z"
+     fill-rule="nonzero"
+     display="block"
+     fill="#ffffff"
+     id="path735" />
+  <path
+     style="color:#000000;stroke-width:0.5"
+     d="m 1006,1286.5 -41.5,-0.5 q -17,0 -17,-17 0,-17 17,-17 h 41.5 v -43 q 0,-17.5 18,-17.5 17.5,0 17.5,17.5 v 43 h 43 q 16.5,0 16.5,17 0,17 -16.5,17 h -43 v 40.9999 q 0,18 -17.5,18 -18,0 -18,-18 z m 18,288.9999 q 34,0 66,-5.5 32,-5.5 62.5,-14 -58.5,-15.5 -128.5,-15.5 -71,0 -128.5,15.5 29,8 61.5,13.5 32.5,5.5 67,6 z M 1024,1031 q 34,0 34,-34 0,-34 -34,-34 -34,0 -34,34 0,34 34,34 z m 0,474.4999 q 58.5,0 112.5,11.5 l -24,-61.5 q -44,-7 -88.5,-7 -45.5,0 -89,7 l -24,61.5 q 53.5,-11.5 113,-11.5 z m 0,-91 q 48.5,0 93,7.5 49,-17.5 71,-54.5 19,-32 19,-70.4999 0,-23 -11.5,-50.5 -11.5,-27.5 -37.5,-50.5 -29.5,-24.5 -64.5,-53.5 -35,-29 -69.5,-68.5 -35,39 -70,68 -35,29 -64,54 -26.5,22.5 -37.5,50 -11,27.5 -11.5,51 0,38.4999 18.5,70.4999 21.5,37 71.5,54.5 44,-7.5 93,-7.5 z m -18,188.5 h -16 q -28,45 -53.5,56.5 -12,6 -26.5,11 -14.5,5 -33.5,5 -3.5,0 -53.5,-8 -24,-3.5 -38,-7.5 -14,-4 -22,-5 -28.5,-3.5 -66.5,3 -23,4 -43,14.5 l 24,39 q 6,-6 15.5,-7.5 9.5,-1.5 18,-4 21,-3.5 40,-1 6.5,1.5 25.5,3.5 19,2 50.5,7.5 37.5,5.5 51,5.5 52.5,0 80.5,-20 17,-13 32,-36 15,-23 15.5,-56.5 z m 18,56.5 q -7,28.5 -17,39.5 -10,11 -26.5,23 -18,12.5 -42.5,21 -24.5,8.5 -54.5,4.5 l -140.5,-19.5 q -8.5,-1 -15,0 -6.5,1 -13,1 -10.5,0 -26.5,4.5 -16,4.5 -25.5,14 l -48.5,-79.5 q 9,-10 16,-14 7,-4 16.5,-8.5 29,-13.5 62,-16.5 14,-1 27.5,-0.5 13.5,0.5 28,-1 27,4.5 54,8 27,3.5 55,8 30,0 40.5,-6 5.5,-3 17.5,-11 12,-8 24,-23.5 -26.5,-3 -54,-10 -27.5,-7 -48.5,-15.5 l 52,-129 q -39,-22.5 -54.5,-36 -15.5,-13.5 -24.5,-32 -13,-23 -16.5,-44.5 Q 806,1314.5 806,1297.5 q 0.5,-30 14,-66 13.5,-36 52,-65 31.5,-24 61.5,-49.5 30,-25.5 59.5,-59.5 -37,-19 -37,-60.5 0,-28 19.5,-48 19.5,-20 48.5,-20 28,0 48,20 20,20 20,48 0,41 -37,60.5 29,34 58.5,59.5 29.5,25.5 62.5,49.5 37.5,28.5 51,64.5 13.5,36 14.5,66.5 0,17 -3.5,38.4999 -3.5,21.5 -16,44.5 -10,18 -25,31.5 -15,13.5 -54,36.5 l 52,129 q -22,8 -49.5,15 -27.5,7 -53,10.5 11.5,15.5 23.5,23.5 12,8 18,11 10.5,6 40.5,6 27,-4 54,-7.5 27,-3.5 55,-8.5 13.5,1.5 27,1 13.5,-0.5 28.5,0.5 32,3 62,16.5 9,4.5 16,8.5 7,4 16.5,14 l -49,79.5 q -9,-9 -25,-13.5 -16,-4.5 -26.5,-5 -6.5,0 -13,-1 -6.5,-1 -15.5,0 l -140,19.5 q -30,4.5 -55.5,-4 -25.5,-8.5 -42.5,-22.5 -16.5,-13.5 -26,-23 -9.5,-9.5 -16.5,-38.5 z m 17.5,-56.5 q 0,33 15,56 15,23 33,36.5 27.5,20 80.5,20 13,0 51,-5.5 31,-5 50,-7 19,-2 25.5,-4 19,-2.5 40,1 8,2 17.5,3.5 9.5,1.5 16.5,8 l 24,-39 q -20.5,-10.5 -43.5,-14.5 -38,-6.5 -66.5,-3 -8.5,1 -22,5 -13.5,4 -37.5,7.5 -50.5,8 -53.5,8 -19.5,0 -34,-5 -14.5,-5 -26,-11 -26.5,-12 -54,-56.5 z"
+     fill-rule="nonzero"
+     display="block"
+     fill="#000000"
+     id="path737" />
+  <g
+     fill-rule="nonzero"
+     fill="#ffffff"
+     id="g749"
+     transform="matrix(0.5,0,0,0.5,512.00003,831.5)">
+    <path
+       style="color:#000000"
+       d="m 1024,1488 q 68,0 132,-11 64,-11 125,-28 -117,-31 -257,-31 -142,0 -257,31 58,16 123,27 65,11 134,12 z"
+       display="block"
+       id="path739" />
+    <path
+       style="color:#000000"
+       d="m 1024,399 q 68,0 68,-68 0,-68 -68,-68 -68,0 -68,68 0,68 68,68 z"
+       display="block"
+       id="path741" />
+    <path
+       style="color:#000000"
+       d="m 1024,1348 q 117,0 225,23 l -48,-123 q -88,-14 -177,-14 -91,0 -178,14 l -48,123 q 107,-23 226,-23 z"
+       display="block"
+       id="path743" />
+    <path
+       style="color:#000000"
+       d="m 988,1543 h -32 q -56,90 -107,113 -24,12 -53,22 -29,10 -67,10 -7,0 -107,-16 -48,-7 -76,-15 -28,-8 -44,-10 -57,-7 -133,6 -46,8 -86,29 l 48,78 q 12,-12 31,-15 19,-3 36,-8 42,-7 80,-2 13,3 51,7 38,4 101,15 75,11 102,11 105,0 161,-40 34,-26 64,-72 30,-46 31,-113 z"
+       display="block"
+       id="path745" />
+    <path
+       style="color:#000000"
+       d="m 1059,1543 q 0,66 30,112 30,46 66,73 55,40 161,40 26,0 102,-11 62,-10 100,-14 38,-4 51,-8 38,-5 80,2 16,4 35,7 19,3 33,16 l 48,-78 q -41,-21 -87,-29 -76,-13 -133,-6 -17,2 -44,10 -27,8 -75,15 -101,16 -107,16 -39,0 -68,-10 -29,-10 -52,-22 -53,-24 -108,-113 z"
+       display="block"
+       id="path747" />
+  </g>
+  <path
+     style="fill:#ff4500;stroke:#000000;stroke-width:1.15969"
+     d="m 1009.7013,1028.5032 c -13.0618,-4.013 -20.4464,-17.8305 -18.9661,-35.48792 0.9594,-11.44296 5.3201,-19.94952 12.5035,-24.39067 7.2221,-4.46512 18.2688,-6.13057 28.8383,-4.3478 17.0618,2.87784 24.9074,12.71851 24.9509,31.29557 0.013,5.43402 -0.7288,12.47212 -1.6477,15.64022 -2.2833,7.8718 -9.4406,14.9434 -17.5672,17.3567 -7.5734,2.2491 -20.6765,2.2183 -28.1117,-0.066 z"
+     id="path759" />
+  <path
+     style="fill:#ff4500;stroke:#000000;stroke-width:1.15969"
+     d="m 919.1798,1416.6223 c -22.4679,-9.9733 -41.9761,-24.999 -53.4381,-41.1593 -35.3416,-49.8279 -30.4511,-120.4695 11.519,-166.3857 5.1407,-5.624 29.4602,-26.626 67.8809,-58.6209 15.9626,-13.2929 34.7012,-30.5059 52.0829,-47.8425 l 27.1497,-27.0793 7.5062,8.447 c 18.8754,21.241 46.3787,46.6376 88.72,81.9241 24.3656,20.306 46.9832,40.0229 50.2612,43.8154 32.5428,37.6501 43.024,83.5765 29.3521,128.6138 -3.7975,12.5094 -13.2451,30.5447 -21.4091,40.8692 -12.3822,15.6589 -30.2626,28.7996 -51.6735,37.9756 l -9.7766,4.19 -12.7565,-1.793 c -30.5114,-4.2884 -38.6528,-4.7557 -81.7577,-4.6929 -37.5996,0.055 -46.236,0.4083 -63.7825,2.6111 -11.162,1.4012 -22.3819,2.8074 -24.9332,3.1249 -3.6847,0.4586 -6.7583,-0.3636 -14.9448,-3.9975 z m 115.9029,-73.6386 c 6.0003,-3.9316 6.7828,-7.4672 7.2644,-32.8246 l 0.446,-23.4836 h 23.1118 c 30.4208,0 33.8123,-1.4152 35.3939,-14.7695 0.8699,-7.3445 -1.0708,-13.3023 -5.5648,-17.0838 l -3.4906,-2.9371 h -24.7289 -24.7289 l -0.4366,-24.6433 c -0.485,-27.3701 -1.2207,-30.4606 -8.0981,-34.0171 -4.4438,-2.2979 -15.7717,-2.4717 -20.1839,-0.3095 -1.7571,0.861 -4.2854,3.0374 -5.6184,4.8363 -2.2564,3.045 -2.448,5.0265 -2.7764,28.7022 l -0.3527,25.4313 h -23.7683 c -26.2066,0 -29.0694,0.6128 -32.3311,6.9202 -2.7739,5.3642 -2.3461,17.5339 0.7549,21.4762 4.4764,5.6908 8.0863,6.3941 32.819,6.3941 h 22.6511 v 22.6511 c 0,23.8402 0.6991,27.9246 5.5137,32.2109 1.2952,1.153 3.846,2.5736 5.6686,3.1569 4.581,1.4662 15.094,0.4917 18.4553,-1.7107 z"
+     id="path761" />
+  <path
+     style="fill:#ff4500;stroke:#000000;stroke-width:1.15969"
+     d="m 923.5018,1486.3103 11.7825,-30.1815 6.9581,-1.1963 c 3.8269,-0.6579 15.0469,-2.1003 24.9332,-3.2054 25.1185,-2.8075 88.443,-2.8149 113.069,-0.013 21.5186,2.4483 30.9024,3.9519 31.9367,5.1174 1.0028,1.1302 23.2991,58.551 22.8784,58.9199 -0.1705,0.1494 -5.7895,-0.7232 -12.4866,-1.9391 -49.0078,-8.8979 -100.2635,-10.9561 -152.6565,-6.1301 -16.4876,1.5187 -46.7505,5.9368 -55.211,8.0602 -2.8961,0.7269 -2.6306,-0.1617 8.7962,-29.432 z"
+     id="path763" />
+  <path
+     style="fill:#ff4500;stroke:#000000;stroke-width:1.15969"
+     d="m 1004.2522,1574.1913 c -8.6289,-0.4958 -22.4581,-1.7642 -30.7316,-2.8188 -26.5312,-3.3817 -76.3816,-14.093 -73.3413,-15.7587 2.1006,-1.1509 27.2966,-6.4924 40.3236,-8.5486 34.9546,-5.5173 95.9646,-7.4969 131.0441,-4.252 25.8195,2.3883 57.5662,7.5291 73.6399,11.9246 l 4.6387,1.2685 -5.2186,1.5822 c -10.4445,3.1665 -47.3683,10.8426 -63.2227,13.1434 -15.0254,2.1804 -49.863,4.8984 -57.9642,4.5224 -1.9134,-0.089 -10.539,-0.5672 -19.1679,-1.063 z"
+     id="path765" />
+  <path
+     style="fill:#ff4500;stroke:#000000;stroke-width:1.15969"
+     d="m 843.6693,1711.7129 c -10.843,-1.4703 -26.2378,-3.7506 -34.2106,-5.0674 -7.9728,-1.3167 -22.8458,-3.4359 -33.051,-4.7092 -10.2052,-1.2734 -22.9907,-2.9066 -28.4122,-3.6294 -11.7912,-1.572 -28.2803,-0.652 -41.1688,2.297 -5.1025,1.1675 -11.3648,2.4849 -13.9161,2.9276 -2.5513,0.4427 -6.952,2.0866 -9.7792,3.6533 -4.1419,2.2951 -5.4057,2.5596 -6.5058,1.362 -2.2528,-2.4524 -21.4047,-34.0948 -21.4047,-35.3643 0,-1.2489 9.8351,-5.9149 18.621,-8.8343 20.3835,-6.773 39.3382,-9.3894 67.7753,-9.3552 22.2509,0.027 23.7358,0.1741 36.53,3.6229 19.828,5.3448 46.3481,10.137 91.593,16.5508 16.7497,2.3744 37.3555,-1.7463 59.7457,-11.9478 22.3632,-10.1893 36.5492,-23.3338 55.0003,-50.9625 l 6.0021,-8.9875 h 7.6384 7.6383 l -0.7904,8.9875 c -1.0259,11.6655 -4.4319,26.0301 -8.1835,34.5131 -4.9527,11.1989 -15.6489,26.0123 -27.2962,37.803 -9.8247,9.9456 -12.3347,11.7939 -23.1936,17.0787 -26.1331,12.7185 -59.1601,15.9564 -102.632,10.0617 z"
+     id="path767" />
+  <path
+     style="fill:#ff4500;stroke:#000000;stroke-width:1.15969"
+     d="m 1140.7044,1713.2826 c -28.2421,-3.6268 -47.4466,-12.8838 -65.2922,-31.4721 -20.9443,-21.8161 -31.0281,-42.6694 -32.5117,-67.2347 l -0.6828,-11.3069 h 7.4307 7.4306 l 6.2335,9.4247 c 15.49,23.4202 31.3658,38.8451 48.8992,47.5105 34.2661,16.9352 46.8901,18.3298 95.598,10.5603 38.1731,-6.0891 39.0054,-6.252 58.2126,-11.3936 15.8393,-4.24 16.2503,-4.2858 39.2008,-4.3725 25.5302,-0.096 43.1762,1.9434 60.8186,7.0305 12.435,3.5856 26.7374,9.5141 26.7374,11.0831 0,0.6629 -5.0639,9.4312 -11.2532,19.4852 l -11.2533,18.2799 -3.5326,-2.6065 c -4.7008,-3.4684 -5.841,-3.8281 -22.4972,-7.0987 -17.5992,-3.4557 -34.2544,-4.5507 -44.2382,-2.9084 -4.1459,0.682 -17.4533,2.5415 -29.572,4.1321 -12.1186,1.5906 -28.8181,3.9435 -37.1099,5.2287 -43.7017,6.7736 -70.9647,8.4392 -92.6183,5.6584 z"
+     id="path769" />
+</svg>
diff --git a/client/src/base_rules.js b/client/src/base_rules.js
index df150262..5cf1d97e 100644
--- a/client/src/base_rules.js
+++ b/client/src/base_rules.js
@@ -139,6 +139,10 @@ export const ChessRules = class ChessRules {
   static get IgnoreRepetition() {
     return false;
   }
+  loseOnRepetition() {
+    // In some variants, result depends on the position:
+    return V.LoseOnRepetition;
+  }
 
   // At some stages, some games could wait clicks only:
   onlyClick() {
diff --git a/client/src/translations/rules/Pandemonium/en.pug b/client/src/translations/rules/Pandemonium/en.pug
index f5d518d6..1c315cb3 100644
--- a/client/src/translations/rules/Pandemonium/en.pug
+++ b/client/src/translations/rules/Pandemonium/en.pug
@@ -43,14 +43,11 @@ p.
   On the third rank, they can still advance two squares.
   A dropped pawn cannot give checkmate.
 
-p.
-  While castling, the king moves three squares lateraly.
-  Castling is possible even if the king or the rooks moved.
-  However, it can only be done once.
+p While castling, the king moves three squares lateraly.
 
 p.
-  If after a move both kings are facing each other (on a rank or file)
-  without intervening pieces, then the player who made the move loses.
+  Threefold repetition is a draw, unless caused by a perpetual check.
+  In this case, the player giving check loses.
 
 h3 More information
 
diff --git a/client/src/translations/rules/Pandemonium/es.pug b/client/src/translations/rules/Pandemonium/es.pug
index 8aed7fe1..56ab473e 100644
--- a/client/src/translations/rules/Pandemonium/es.pug
+++ b/client/src/translations/rules/Pandemonium/es.pug
@@ -44,15 +44,11 @@ p.
   En la tercera fila, todavía pueden avanzar dos espacios.
   Un peón lanzado en paracaídas no puede dar jaque mate.
 
-p.
-  Durante el enroque, el rey mueve tres casillas hacia los lados.
-  El enroque es posible incluso si el rey o las torres se han movido.
-  Sin embargo, solo se puede realizar una vez.
+p Durante el enroque, el rey mueve tres casillas hacia los lados.
 
 p.
-  Si después de una jugada los dos reyes se encuentran cara a cara (en fila
-  o una columna) sin piezas intermedias, entonces el jugador que hizo
-  el movimiento pierde.
+  La triple repetición es un empate, a menos que sea causado por un jaque
+  perpetuo. En este caso, el jugador que da jaque pierde.
 
 h3 Más información
 
diff --git a/client/src/translations/rules/Pandemonium/fr.pug b/client/src/translations/rules/Pandemonium/fr.pug
index bdd6d3b5..63de846c 100644
--- a/client/src/translations/rules/Pandemonium/fr.pug
+++ b/client/src/translations/rules/Pandemonium/fr.pug
@@ -44,15 +44,11 @@ p.
   Sur la troisième rangée, ils peuvent encore avancer de deux cases.
   Un pion parachuté ne peut pas donner échec et mat.
 
-p.
-  Lors du roque, le roi se déplace de trois cases latéralement.
-  Le roque est possible même si le roi ou les tours ont bougé.
-  Cependant, il ne peut être exécuté qu'une fois.
+p Lors du roque, le roi se déplace de trois cases latéralement.
 
 p.
-  Si après un coup les deux rois se retrouvent face à face (sur une rangée
-  ou une colonne) sans pièces intermédiaires, alors le joueur ayant effectué
-  le coup perd.
+  La triple répétition fait nulle, à moins d'être causée par un échec
+  perpétuel. Dans ce cas, le joueur donnant échec perd.
 
 h3 Plus d'information
 
diff --git a/client/src/variants/Crazyhouse.js b/client/src/variants/Crazyhouse.js
index 2a95dc85..56e65412 100644
--- a/client/src/variants/Crazyhouse.js
+++ b/client/src/variants/Crazyhouse.js
@@ -3,21 +3,30 @@ import { ArrayFun } from "@/utils/array";
 
 export class CrazyhouseRules extends ChessRules {
 
+  static get PawnSpecs() {
+    return Object.assign(
+      {},
+      ChessRules.PawnSpecs,
+      // Change names to know that this goes back to pawn after capture:
+      { promotions: ['u', 'o', 'c', 't'] }
+    );
+  }
+
+  static get PIECES() {
+    return ChessRules.PIECES.concat(['u', 'o', 'c', 't']);
+  }
+
+  getPpath(b) {
+    const prefix = (ChessRules.PIECES.includes(b[1]) ? "" : "Crazyhouse/");
+    return prefix + b;
+  }
+
   static IsGoodFen(fen) {
     if (!ChessRules.IsGoodFen(fen)) return false;
     const fenParsed = V.ParseFen(fen);
     // 5) Check reserves
     if (!fenParsed.reserve || !fenParsed.reserve.match(/^[0-9]{10,10}$/))
       return false;
-    // 6) Check promoted array
-    if (!fenParsed.promoted) return false;
-    if (fenParsed.promoted == "-") return true; //no promoted piece on board
-    const squares = fenParsed.promoted.split(",");
-    for (let square of squares) {
-      const c = V.SquareToCoords(square);
-      if (c.y < 0 || c.y > V.size.y || isNaN(c.x) || c.x < 0 || c.x > V.size.x)
-        return false;
-    }
     return true;
   }
 
@@ -25,10 +34,7 @@ export class CrazyhouseRules extends ChessRules {
     const fenParts = fen.split(" ");
     return Object.assign(
       ChessRules.ParseFen(fen),
-      {
-        reserve: fenParts[5],
-        promoted: fenParts[6]
-      }
+      { reserve: fenParts[5] }
     );
   }
 
@@ -37,19 +43,11 @@ export class CrazyhouseRules extends ChessRules {
   }
 
   getFen() {
-    return (
-      super.getFen() + " " +
-      this.getReserveFen() + " " +
-      this.getPromotedFen()
-    );
+    return super.getFen() + " " + this.getReserveFen();
   }
 
   getFenForRepeat() {
-    return (
-      super.getFenForRepeat() + "_" +
-      this.getReserveFen() + "_" +
-      this.getPromotedFen()
-    );
+    return super.getFenForRepeat() + "_" + this.getReserveFen();
   }
 
   getReserveFen() {
@@ -65,19 +63,6 @@ export class CrazyhouseRules extends ChessRules {
     return counts.join("");
   }
 
-  getPromotedFen() {
-    let res = "";
-    for (let i = 0; i < V.size.x; i++) {
-      for (let j = 0; j < V.size.y; j++) {
-        if (this.promoted[i][j]) res += V.CoordsToSquare({ x: i, y: j }) + ",";
-      }
-    }
-    // Remove last comma:
-    if (res.length > 0) res = res.slice(0, -1);
-    else res = "-";
-    return res;
-  }
-
   setOtherVariables(fen) {
     super.setOtherVariables(fen);
     const fenParsed = V.ParseFen(fen);
@@ -99,13 +84,6 @@ export class CrazyhouseRules extends ChessRules {
         [V.QUEEN]: reserve[9]
       }
     };
-    this.promoted = ArrayFun.init(V.size.x, V.size.y, false);
-    if (fenParsed.promoted != "-") {
-      for (let square of fenParsed.promoted.split(",")) {
-        const coords = V.SquareToCoords(square);
-        this.promoted[coords.x][coords.y] = true;
-      }
-    }
   }
 
   getColor(i, j) {
@@ -113,9 +91,22 @@ export class CrazyhouseRules extends ChessRules {
     return this.board[i][j].charAt(0);
   }
 
+  // Pieces types after pawn promotion
+  static get PromotionMap() {
+    return {
+      u: 'r',
+      o: 'n',
+      c: 'b',
+      t: 'q'
+    };
+  }
+
   getPiece(i, j) {
     if (i >= V.size.x) return V.RESERVE_PIECES[j];
-    return this.board[i][j].charAt(1);
+    const p = this.board[i][j].charAt(1);
+    if (ChessRules.PIECES.includes(p)) return p;
+    // Pawn promotion:
+    return V.PromotionMap[p];
   }
 
   // Used by the interface:
@@ -205,14 +196,11 @@ export class CrazyhouseRules extends ChessRules {
       this.reserve[color][move.appear[0].p]--;
       return;
     }
-    move.movePromoted = this.promoted[move.start.x][move.start.y];
-    move.capturePromoted = this.promoted[move.end.x][move.end.y];
-    this.promoted[move.start.x][move.start.y] = false;
-    this.promoted[move.end.x][move.end.y] =
-      move.movePromoted ||
-      (move.vanish[0].p == V.PAWN && move.appear[0].p != V.PAWN);
-    if (move.capturePromoted) this.reserve[color][V.PAWN]++;
-    else if (move.vanish.length == 2) this.reserve[color][move.vanish[1].p]++;
+    if (move.vanish.length == 2) {
+      if (V.PawnSpecs.promotions.includes(move.vanish[1].p))
+        this.reserve[color][V.PAWN]++;
+      else this.reserve[color][move.vanish[1].p]++;
+    }
   }
 
   postUndo(move) {
@@ -223,10 +211,11 @@ export class CrazyhouseRules extends ChessRules {
       this.reserve[color][move.appear[0].p]++;
       return;
     }
-    if (move.movePromoted) this.promoted[move.start.x][move.start.y] = true;
-    this.promoted[move.end.x][move.end.y] = move.capturePromoted;
-    if (move.capturePromoted) this.reserve[color][V.PAWN]--;
-    else if (move.vanish.length == 2) this.reserve[color][move.vanish[1].p]--;
+    if (move.vanish.length == 2) {
+      if (V.PawnSpecs.promotions.includes(move.vanish[1].p))
+        this.reserve[color][V.PAWN]--;
+      else this.reserve[color][move.vanish[1].p]--;
+    }
   }
 
   static get SEARCH_DEPTH() {
@@ -247,8 +236,11 @@ export class CrazyhouseRules extends ChessRules {
   getNotation(move) {
     if (move.vanish.length > 0) return super.getNotation(move);
     // Rebirth:
-    const piece =
-      move.appear[0].p != V.PAWN ? move.appear[0].p.toUpperCase() : "";
+    let piece = move.appear[0].p;
+    if (ChessRules.PIECES.includes(piece)) {
+      if (move.appear[0].p != V.PAWN) piece = move.appear[0].p.toUpperCase();
+    }
+    else piece = V.PromotionMap[piece].toUpperCase();
     return piece + "@" + V.CoordsToSquare(move.end);
   }
 
diff --git a/client/src/variants/Pandemonium.js b/client/src/variants/Pandemonium.js
index 1291eda1..4ae73033 100644
--- a/client/src/variants/Pandemonium.js
+++ b/client/src/variants/Pandemonium.js
@@ -14,6 +14,11 @@ export class PandemoniumRules extends ChessRules {
     );
   }
 
+  loseOnRepetition() {
+    // If current side is under check: lost
+    return this.underCheck(this.turn);
+  }
+
   static get GILDING() {
     return "g";
   }
diff --git a/client/src/variants/Shogi.js b/client/src/variants/Shogi.js
index ac98835a..bca37627 100644
--- a/client/src/variants/Shogi.js
+++ b/client/src/variants/Shogi.js
@@ -24,6 +24,11 @@ export class ShogiRules extends ChessRules {
     return true;
   }
 
+  loseOnRepetition() {
+    // If current side is under check: lost
+    return this.underCheck(this.turn);
+  }
+
   static IsGoodFen(fen) {
     if (!ChessRules.IsGoodFen(fen)) return false;
     const fenParsed = V.ParseFen(fen);
diff --git a/client/src/views/Game.vue b/client/src/views/Game.vue
index 65d46460..fc86e90d 100644
--- a/client/src/views/Game.vue
+++ b/client/src/views/Game.vue
@@ -1414,7 +1414,7 @@ export default {
               ? this.repeat[fenObj] + 1
               : 1;
           if (this.repeat[fenObj] >= 3) {
-            if (V.LoseOnRepetition)
+            if (this.vr.loseOnRepetition())
               this.gameOver(moveCol == "w" ? "0-1" : "1-0", "Repetition");
             else this.drawOffer = "threerep";
           }
-- 
2.44.0