Add Balaklava variant
authorBenjamin Auder <benjamin.auder@somewhere>
Fri, 1 May 2020 11:33:55 +0000 (13:33 +0200)
committerBenjamin Auder <benjamin.auder@somewhere>
Fri, 1 May 2020 11:33:55 +0000 (13:33 +0200)
client/public/images/pieces/Balaklava/bm.svg [new file with mode: 0644]
client/public/images/pieces/Balaklava/wm.svg [new file with mode: 0644]
client/public/images/pieces/SOURCE
client/src/translations/en.js
client/src/translations/es.js
client/src/translations/fr.js
client/src/translations/rules/Balaklava/en.pug [new file with mode: 0644]
client/src/translations/rules/Balaklava/es.pug [new file with mode: 0644]
client/src/translations/rules/Balaklava/fr.pug [new file with mode: 0644]
client/src/variants/Balaklava.js [new file with mode: 0644]
server/db/populate.sql

diff --git a/client/public/images/pieces/Balaklava/bm.svg b/client/public/images/pieces/Balaklava/bm.svg
new file mode 100644 (file)
index 0000000..48add19
--- /dev/null
@@ -0,0 +1,184 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+
+<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"
+   version="1.1"
+   id="Capa_1"
+   x="0px"
+   y="0px"
+   viewBox="0 0 512 512"
+   style="enable-background:new 0 0 512 512;"
+   xml:space="preserve"
+   sodipodi:docname="bm.svg"
+   inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"><metadata
+   id="metadata61"><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="defs59" /><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="namedview57"
+   showgrid="false"
+   inkscape:zoom="1.3037281"
+   inkscape:cx="266.21202"
+   inkscape:cy="256"
+   inkscape:window-x="0"
+   inkscape:window-y="20"
+   inkscape:window-maximized="0"
+   inkscape:current-layer="Capa_1" />
+<g
+   id="g6"
+   transform="matrix(0.9,0,0,0.9,25.600024,25.599998)">
+       <g
+   id="g4">
+               <path
+   d="m 438.343,344.359 c -4.851,-2.408 -10.847,-0.341 -13.234,4.487 -2.371,4.796 -0.269,10.891 4.496,13.235 4.829,2.376 10.873,0.295 13.236,-4.487 2.411,-4.892 0.395,-10.823 -4.498,-13.235 z"
+   id="path2"
+   inkscape:connector-curvature="0" />
+       </g>
+</g>
+<g
+   id="g12"
+   transform="matrix(0.9,0,0,0.9,25.600024,25.599998)">
+       <g
+   id="g10">
+               <path
+   d="m 467.46,150.829 c -1.733,-15.248 -6.124,-34.746 -21.759,-41.571 -10.77,-4.702 -23.892,-1.747 -34.523,4.547 -6.781,4.099 -18.321,12.042 -10.307,20.913 7.08,7.837 14.602,-0.5 20.913,-4.219 5.652,-3.33 13.154,-5.117 18.55,-0.339 5.8,5.136 6.684,15.673 7.477,22.854 1.948,17.465 2.975,36.611 2.975,55.371 0.011,27.339 -2.164,67.774 -12.552,105.195 -3.379,12.174 15.648,17.618 19.046,5.28 9.859,-35.804 13.274,-73.435 13.274,-110.475 0,-19.482 -1.076,-39.378 -3.094,-57.556 z"
+   id="path8"
+   inkscape:connector-curvature="0" />
+       </g>
+</g>
+<g
+   id="g18"
+   transform="matrix(0.9,0,0,0.9,25.600024,25.599998)">
+       <g
+   id="g16">
+               <path
+   d="m 502.474,107.08 c -9.946,-41.4 -28.689,-62.392 -55.709,-62.392 -15.26,0 -32.325,7.019 -49.631,20.134 C 388.072,56.662 369.273,43.347 331.948,27.839 271.84,2.862 171.24,37.325 166.964,38.812 c -5.866,2.04 -8.42,9.519 -5.043,14.719 l 17.097,26.328 c -7.076,11.717 -11.364,24.558 -15.458,36.868 -5.591,16.812 -10.873,32.691 -22.564,44.941 -9.831,10.301 -23.446,18.055 -37.86,26.263 -16.712,9.517 -35.247,20.076 -51.564,36.617 -8.26,-21.929 -10.022,-46.135 -5.211,-72.169 4.42,-23.919 13.024,-40.47 13.137,-40.687 5.08,-9.714 -7.812,-19.452 -15.683,-11.661 -22.547,22.318 -37.545,53.825 -42.229,88.72 -4.325,32.219 0.268,65.239 12.925,93.5 -5.695,14.793 -8.577,29.553 -8.577,44.179 0,91.966 71.609,166.785 159.628,166.785 5.459,0 9.884,-4.425 9.884,-9.884 v -43.497 c 0,-5.459 -4.425,-9.884 -9.884,-9.884 -43.608,0 -79.775,-34.561 -85.645,-79.318 20.138,11.026 45.616,19.431 68.858,17.529 23.725,-1.941 44.963,-13.751 61.902,-30.056 23.258,13.904 50.269,21.512 76.954,21.512 12.708,0 24.846,-1.591 36.235,-4.74 11.691,81.18 29.847,128.893 30.649,130.975 1.587,4.118 5.712,6.678 10.107,6.29 1.558,-0.14 38.568,-3.845 75.271,-40.31 21.141,-21.004 37.932,-48.664 49.91,-82.212 C 504.532,328.363 512,277.943 512,219.758 512,188.408 511.013,142.62 502.474,107.08 Z M 324.363,46.093 c 34.536,14.35 51.257,26.204 58.631,32.601 l -30.826,35.442 -54.093,3.685 -20.647,-36.056 c -1.781,-3.11 -5.075,-4.973 -8.575,-4.973 -12.223,0 -60.617,11.765 -61.483,10.432 -0.004,-0.006 -21.767,-33.521 -21.767,-33.521 27.8,-8.1 96.849,-25.024 138.76,-7.61 z M 155.678,449.238 v 23.846 C 83.154,467.735 25.702,404.003 25.702,326.43 c 0,-6.727 0.755,-13.525 2.236,-20.376 8.775,12.577 19.387,23.343 31.371,31.787 0.008,58.182 42.403,106.13 96.369,111.397 z M 142.045,348.579 C 103.786,348.577 76.358,325.485 74.822,324.431 57.553,312.582 43.221,296.453 34.113,277.546 18.954,246.079 16.052,209.127 24.058,176.025 c -0.608,25.515 4.803,49.727 16.037,71.165 12.432,23.724 32.193,43.798 54.137,58.904 29.228,20.108 56.812,21.28 82.13,3.536 5.245,6.042 11.202,11.753 17.69,16.962 0.803,0.645 -23.052,21.987 -52.007,21.987 z M 99.329,285.408 c 8.397,-5.763 49.588,-4.266 55.651,-4.294 2.49,4.328 5.523,8.758 8.862,13.135 -31.392,23.532 -62.522,-7.351 -64.513,-8.841 z m 327.7,151.327 c -22.589,22.895 -45.422,31.281 -56.787,34.222 -3.314,0.857 -21.904,-88.65 -22.872,-94.198 -6.058,-34.715 -11.745,-70.446 -11.721,-105.759 -0.049,-14.489 1.354,-26.912 3.844,-34.089 4.13,-11.904 -14.601,-18.463 -18.719,-6.347 -3.331,9.993 -4.844,22.457 -4.893,40.436 0.015,24.252 3.18,50.343 5.128,64.121 -10.353,3.138 -21.544,4.728 -33.376,4.728 -25.495,0 -51.376,-8.004 -72.885,-22.545 -10.735,-7.238 -36.569,-32.481 -44.887,-50.357 -1.679,-3.608 -5.363,-5.848 -9.332,-5.707 -7.558,0.283 -61.608,-2.142 -76.625,11.172 -9.287,-8.866 -17.031,-18.475 -23.114,-28.703 15.374,-17.626 34.027,-28.288 52.13,-38.597 15.709,-8.946 30.547,-17.396 42.378,-29.793 14.75,-15.455 20.989,-34.212 27.022,-52.351 2.706,-8.136 5.444,-16.254 9.041,-24.046 2.539,4.966 6.758,9.921 12.945,8.889 l 59.407,-10.22 20.286,35.424 c 1.768,3.089 5.05,4.972 8.575,4.972 0.224,0 0.448,-0.008 0.674,-0.023 l 64.361,-4.385 c 2.621,-0.179 5.063,-1.393 6.786,-3.375 l 39.423,-45.326 c 0.057,-0.066 0.108,-0.136 0.163,-0.203 15.512,-12.885 30.76,-20.219 42.788,-20.219 45.467,0 45.467,116.891 45.467,155.302 -0.004,124.712 -35.463,186.829 -65.207,216.977 z"
+   id="path14"
+   inkscape:connector-curvature="0" />
+       </g>
+</g>
+<g
+   id="g24"
+   transform="matrix(0.9,0,0,0.9,25.600024,25.599998)">
+       <g
+   id="g22">
+               <path
+   d="m 273.825,195.683 c -10.331,-3.287 -19.651,-5.079 -28.022,-5.78 1.723,0.119 1.801,-19.811 -0.622,-19.811 10e-4,0 5.858,0 5.878,0 12.693,0 12.791,-19.768 0,-19.768 0,0 -33.58,0 -33.606,0 -25.652,0 -38.388,32.855 -21.733,51.383 -13.006,8.991 -18.263,19.694 -18.857,20.971 -5.316,11.42 12.52,19.957 17.924,8.338 12.344,-26.537 50.285,-23.726 73.043,-16.495 11.822,3.756 18.189,-14.957 5.995,-18.838 z m -56.371,-3.934 c -5.45,0 -9.884,-4.858 -9.884,-10.829 -0.001,-5.97 4.433,-10.828 9.884,-10.828 5.45,0 9.884,4.857 9.884,10.828 0,5.29 -4.249,10.829 -9.884,10.829 z"
+   id="path20"
+   inkscape:connector-curvature="0" />
+       </g>
+</g>
+<g
+   id="g26"
+   transform="matrix(0.9,0,0,0.9,25.600024,25.599998)">
+</g>
+<g
+   id="g28"
+   transform="matrix(0.9,0,0,0.9,25.600024,25.599998)">
+</g>
+<g
+   id="g30"
+   transform="matrix(0.9,0,0,0.9,25.600024,25.599998)">
+</g>
+<g
+   id="g32"
+   transform="matrix(0.9,0,0,0.9,25.600024,25.599998)">
+</g>
+<g
+   id="g34"
+   transform="matrix(0.9,0,0,0.9,25.600024,25.599998)">
+</g>
+<g
+   id="g36"
+   transform="matrix(0.9,0,0,0.9,25.600024,25.599998)">
+</g>
+<g
+   id="g38"
+   transform="matrix(0.9,0,0,0.9,25.600024,25.599998)">
+</g>
+<g
+   id="g40"
+   transform="matrix(0.9,0,0,0.9,25.600024,25.599998)">
+</g>
+<g
+   id="g42"
+   transform="matrix(0.9,0,0,0.9,25.600024,25.599998)">
+</g>
+<g
+   id="g44"
+   transform="matrix(0.9,0,0,0.9,25.600024,25.599998)">
+</g>
+<g
+   id="g46"
+   transform="matrix(0.9,0,0,0.9,25.600024,25.599998)">
+</g>
+<g
+   id="g48"
+   transform="matrix(0.9,0,0,0.9,25.600024,25.599998)">
+</g>
+<g
+   id="g50"
+   transform="matrix(0.9,0,0,0.9,25.600024,25.599998)">
+</g>
+<g
+   id="g52"
+   transform="matrix(0.9,0,0,0.9,25.600024,25.599998)">
+</g>
+<g
+   id="g54"
+   transform="matrix(0.9,0,0,0.9,25.600024,25.599998)">
+</g>
+<path
+   style="fill:#312c28;fill-opacity:1;stroke-width:0.76703107"
+   d="m 357.70724,446.54438 c -4.04767,-9.68742 -18.36193,-75.08012 -22.93829,-104.7903 -5.22617,-33.92891 -6.98462,-55.3622 -6.35584,-77.47014 0.33094,-11.63575 0.78831,-16.40488 2.05967,-21.47687 1.92752,-7.68974 1.59125,-10.68941 -1.48887,-13.28116 -5.11614,-4.30495 -12.05781,-3.01526 -14.57878,2.70858 -3.38208,7.67897 -4.24373,15.71447 -4.21799,39.33624 0.0228,20.93974 0.76172,32.28367 3.33293,51.16802 l 0.59624,4.37911 -5.41384,1.23135 c -24.29564,5.52592 -50.96752,2.27242 -75.04742,-9.15448 -11.08287,-5.25928 -19.50522,-11.52913 -30.88539,-22.992 -11.46485,-11.54817 -17.67548,-19.25061 -22.28732,-27.64083 -4.32936,-7.87631 -4.92966,-8.10681 -21.12141,-8.11025 -25.12325,-0.005 -43.935,2.46716 -53.50267,7.03205 l -4.87657,2.32668 -3.452887,-3.3385 c -3.892511,-3.76355 -13.560356,-15.94193 -15.251123,-19.21152 -1.487842,-2.87717 -0.489996,-4.34016 8.031337,-11.7751 8.312629,-7.25287 19.532563,-14.79263 37.684003,-25.32354 19.44678,-11.28243 26.77183,-16.34935 34.73935,-24.03005 11.35166,-10.94304 17.57729,-21.73686 25.13324,-43.57537 4.20383,-12.15006 9.18072,-25.75133 9.58653,-26.19887 0.13615,-0.15016 1.57075,1.11795 3.18799,2.81802 1.61723,1.70006 3.87651,3.32597 5.02062,3.61312 1.28964,0.32368 12.46638,-1.27255 29.40942,-4.20018 15.03108,-2.59726 27.49227,-4.55925 27.69152,-4.35999 0.19926,0.19925 4.58306,7.71833 9.74176,16.70905 7.36048,12.828 9.92906,16.66774 11.93262,17.83788 2.53962,1.48322 2.71748,1.47999 33.5778,-0.61 17.06356,-1.15561 31.84368,-2.47428 32.8447,-2.93037 1.00102,-0.4561 10.25722,-10.53034 20.56933,-22.3872 20.18834,-23.212533 23.31082,-26.051042 35.94116,-32.672428 16.75646,-8.784482 28.47664,-7.982024 37.90398,2.59521 11.61906,13.036298 19.16325,42.173838 21.66829,83.688338 4.16784,69.07117 -1.3273,126.75059 -16.31214,171.21928 -15.24883,45.25215 -40.19364,77.51268 -72.53701,93.81044 -6.46349,3.25693 -11.99859,5.53416 -16.40468,6.74913 -2.8733,0.7923 -2.95648,0.75691 -3.98026,-1.69335 z m 63.35268,-95.36047 c 9.67579,-5.71564 1.32885,-20.7435 -8.8411,-15.91754 -3.35536,1.59222 -5.02648,4.52701 -5.02648,8.82741 0,2.59708 0.48,3.66292 2.6079,5.79082 2.13711,2.13711 3.1889,2.60791 5.82615,2.60791 1.77003,0 4.21512,-0.58887 5.43353,-1.3086 z m 13.90952,-34.62279 c 4.10593,-4.01733 10.00785,-33.4328 13.0282,-64.9332 2.06202,-21.50556 1.10514,-72.29817 -1.75568,-93.19427 -3.20582,-23.41608 -12.49997,-35.60159 -27.943,-36.63594 -12.14978,-0.81378 -28.86964,6.93797 -33.40513,15.48745 -2.13923,4.03249 -1.63365,6.5741 2.03811,10.24587 2.41653,2.41652 2.96998,2.62519 6.04394,2.27871 2.29438,-0.25861 4.92108,-1.43073 8.15857,-3.64062 6.27254,-4.2816 9.05262,-5.37719 13.64472,-5.37719 2.98382,0 4.3155,0.43298 6.19451,2.01406 4.57847,3.85253 6.17237,8.92859 7.67695,24.44851 4.56795,47.11908 2.09421,94.32302 -6.92818,132.20363 -2.76319,11.60135 -2.78996,13.16543 -0.27644,16.15259 3.59574,4.27329 9.68954,4.70155 13.52343,0.9504 z M 198.64249,236.97957 c 0.78452,-0.70998 2.42197,-3.05492 3.63878,-5.21099 7.6249,-13.51057 25.59035,-19.5998 48.05321,-16.28719 4.64054,0.68434 10.76105,1.909 13.60113,2.72145 8.04753,2.30214 12.83562,0.0798 14.07625,-6.5333 1.41786,-7.55784 -3.19544,-10.6923 -20.32647,-13.81063 -3.62113,-0.65916 -7.27421,-1.32843 -8.11794,-1.48729 -1.42192,-0.26772 -1.53506,-0.90207 -1.54772,-8.67801 l -0.0137,-8.38917 3.80327,-0.36545 c 3.02613,-0.29077 4.23517,-0.84884 5.91704,-2.73116 2.90304,-3.24907 3.4972,-6.96807 1.69984,-10.63974 -0.78178,-1.59702 -2.28432,-3.33275 -3.33899,-3.8572 -2.97039,-1.47706 -37.60927,-1.34169 -42.689,0.16683 -16.23954,4.82263 -24.12376,27.87331 -14.42309,42.16806 l 1.95667,2.88331 -4.77954,4.32419 c -8.61535,7.79455 -13.29532,15.50603 -12.36472,20.37412 0.47333,2.47609 4.15948,6.33368 6.53327,6.83714 2.82909,0.60003 6.80097,-0.10874 8.32169,-1.48497 z"
+   id="path33"
+   inkscape:connector-curvature="0" /><path
+   style="fill:#333333;fill-opacity:1;stroke-width:0.76703107"
+   d="m 292.67733,128.72172 c -0.9867,-1.58779 -5.01556,-8.5821 -8.95306,-15.54291 -8.83186,-15.613225 -10.13169,-17.395465 -13.33119,-18.278892 -3.44355,-0.950808 -13.26055,0.408756 -37.6123,5.208952 -10.92014,2.15257 -20.04053,3.72802 -20.26754,3.50101 -0.84024,-0.84024 -19.10444,-29.173916 -18.93874,-29.38011 0.44282,-0.551046 15.02692,-4.264829 26.07874,-6.640847 39.66617,-8.527785 73.09933,-9.045241 94.15803,-1.457316 17.61543,6.347238 50.1379,23.894978 54.88308,29.612563 1.17917,1.420803 -24.92918,31.38515 -27.9784,32.1106 -1.19509,0.28432 -11.31974,1.08064 -22.49922,1.7696 -11.17948,0.68895 -21.09562,1.41725 -22.03587,1.61845 -1.3375,0.28619 -2.09997,-0.26247 -3.50353,-2.5211 z"
+   id="path35"
+   inkscape:connector-curvature="0" /><path
+   style="fill:#333333;fill-opacity:1;stroke-width:0.76703107"
+   d="M 137.65538,337.45362 C 117.83296,333.87397 96.566089,322.1954 78.903273,305.19028 69.742902,296.371 63.750656,288.4859 58.208299,277.95808 45.77659,254.34378 40.850357,222.43695 45.438819,195.25114 l 0.970955,-5.75274 0.565282,6.13625 c 3.422449,37.15136 15.423111,62.46371 41.638294,87.82544 15.1213,14.62901 30.03718,24.55928 43.76947,29.1396 16.13154,5.38057 33.10222,3.58968 47.36388,-4.99824 l 4.48885,-2.70304 7.35392,7.11413 c 4.04466,3.91276 7.46169,7.3511 7.59339,7.64074 0.53599,1.17876 -9.20585,7.88039 -17.11414,11.7732 -10.96085,5.39539 -18.76177,7.26914 -29.91422,7.18527 -4.64054,-0.0349 -11.16514,-0.55606 -14.49912,-1.15813 z"
+   id="path37"
+   inkscape:connector-curvature="0" /><path
+   style="fill:#333333;fill-opacity:1;stroke-width:0.76703107"
+   d="m 142.79915,297.2778 c -4.48916,-0.95476 -11.79787,-3.99788 -16.61819,-6.9193 -5.41025,-3.27895 -10.21642,-7.38156 -9.49894,-8.10841 1.66029,-1.68197 11.49096,-2.74991 28.95272,-3.14523 l 18.79226,-0.42545 4.02657,5.83113 4.02657,5.83114 -2.92638,1.93659 c -6.70248,4.43549 -18.78803,6.69387 -26.75461,4.99953 z"
+   id="path39"
+   inkscape:connector-curvature="0" /><path
+   style="fill:#333333;fill-opacity:1;stroke-width:0.76703107"
+   d="M 151.80508,449.0928 C 99.279147,438.58879 59.197215,395.08861 50.42739,339.06947 49.323211,332.01629 49.183573,309.96732 50.212347,305.11392 l 0.694053,-3.27431 4.051062,5.31603 c 4.366387,5.72983 16.487077,17.67431 21.098598,20.79188 2.710927,1.83269 2.836724,2.11036 2.841733,6.2725 0.02255,18.73682 8.555044,42.62385 21.004496,58.80285 14.675141,19.07144 37.159961,32.79159 59.500271,36.30682 l 6.17499,0.97163 v 10.18559 10.18558 l -3.25989,-0.0647 c -1.79293,-0.0356 -6.52359,-0.71732 -10.51258,-1.51503 z"
+   id="path41"
+   inkscape:connector-curvature="0" /><path
+   style="fill:#312c28;fill-opacity:1;stroke-width:0.76703107"
+   d="m 134.8963,336.43182 c -13.4511,-2.8454 -29.23603,-10.41034 -42.722848,-20.47495 -7.199357,-5.37256 -21.068095,-18.98606 -25.292306,-24.82685 -10.993563,-15.2007 -18.33886,-34.23866 -21.33001,-55.28434 -1.383208,-9.73223 -1.496103,-27.65826 -0.233592,-37.09096 l 0.930917,-6.95522 0.548835,5.36921 c 0.94373,9.23245 2.351986,17.2582 3.028246,17.2582 0.357053,0 0.461667,0.48868 0.232474,1.08594 -1.117888,2.91317 6.12892,23.96756 11.770595,34.19749 13.206357,23.94682 38.436629,48.25211 61.720379,59.45761 18.35983,8.83581 36.51761,8.84064 53.79699,0.0143 l 6.78273,-3.46464 6.52357,5.9375 c 7.9641,7.24861 8.38484,7.92807 6.15212,9.93526 -5.68412,5.10997 -21.33035,13.05512 -29.7418,15.10287 -6.98512,1.70052 -23.52715,1.56608 -32.1663,-0.26141 z"
+   id="path4546"
+   inkscape:connector-curvature="0" /><path
+   style="fill:#312c28;fill-opacity:1;stroke-width:0.76703107"
+   d="m 158.75011,449.81518 c -11.16786,-1.29504 -25.70009,-5.8615 -37.66037,-11.83402 -35.106236,-17.53075 -60.36568,-51.29031 -69.129132,-92.39193 -1.463849,-6.86562 -1.724867,-10.50557 -1.769219,-24.67215 -0.02862,-9.14008 0.234977,-16.90564 0.585761,-17.2568 0.350784,-0.35116 1.365415,0.39639 2.254736,1.66122 2.353173,3.34679 18.493357,19.68018 22.03975,22.30359 2.090882,1.54671 3.037345,2.83351 3.057975,4.15758 0.02193,1.4073 0.20967,1.63366 0.705518,0.85063 0.409244,-0.64626 0.521906,0.8659 0.285734,3.83516 -0.445639,5.60278 1.177119,15.37752 4.076759,24.5565 1.049618,3.32263 2.258913,6.04114 2.687324,6.04114 0.42841,0 0.567748,0.3417 0.309639,0.75933 -0.702965,1.13742 5.177384,13.16931 9.919111,20.29569 10.838204,16.28882 29.041514,30.71335 46.925924,37.18468 7.02041,2.54029 21.40901,5.73808 22.57533,5.01725 0.44777,-0.27674 0.72962,3.56661 0.72962,9.94925 0,7.86187 -0.234,10.37591 -0.95879,10.30068 -0.52733,-0.0547 -3.51339,-0.39574 -6.63567,-0.7578 z"
+   id="path4548"
+   inkscape:connector-curvature="0" /><path
+   style="fill:#312c28;fill-opacity:1;stroke-width:0.76703107"
+   d="m 136.95982,294.96549 c -7.91626,-2.94195 -19.70524,-10.28489 -19.70524,-12.2737 0,-1.6651 16.80961,-3.06318 45.81013,-3.81008 1.19267,-0.0307 8.76228,10.67758 8.19582,11.59414 -0.23229,0.37584 -2.11793,1.54257 -4.19032,2.59273 -9.50673,4.81743 -20.40444,5.50396 -30.11039,1.89691 z"
+   id="path4550"
+   inkscape:connector-curvature="0" /><path
+   style="fill:#312c28;fill-opacity:1;stroke-width:0.76703107"
+   d="m 293.87997,129.86174 c -0.41065,-0.52734 -4.49809,-7.50492 -9.08318,-15.50574 -9.1303,-15.932008 -12.06276,-19.90585 -14.26449,-19.330087 -0.77306,0.202159 -1.40556,0.05471 -1.40556,-0.32766 0,-0.905437 -3.61459,-0.90561 -4.17417,-1.99e-4 -0.23625,0.382262 -1.09844,0.520101 -1.91598,0.306309 -1.75069,-0.457814 -6.56574,0.30229 -30.60134,4.830729 -9.84458,1.854768 -18.35824,3.372308 -18.91925,3.372308 -0.91129,0 -19.81301,-28.381124 -19.26602,-28.928114 0.59953,-0.599529 25.8932,-6.512896 35.20277,-8.229998 18.93877,-3.493161 29.14746,-4.49657 46.19375,-4.540369 25.3274,-0.06508 34.12918,2.116255 59.82843,14.827183 19.03263,9.413603 32.59882,17.768369 32.59882,20.076062 0,1.915716 -23.67685,28.877086 -26.851,30.575836 -0.74297,0.39762 -11.13486,1.42261 -23.09307,2.27774 -25.72253,1.83942 -23.32727,1.78055 -24.24971,0.596 z"
+   id="path4552"
+   inkscape:connector-curvature="0" /></svg>
\ No newline at end of file
diff --git a/client/public/images/pieces/Balaklava/wm.svg b/client/public/images/pieces/Balaklava/wm.svg
new file mode 100644 (file)
index 0000000..5535a15
--- /dev/null
@@ -0,0 +1,172 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+
+<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"
+   version="1.1"
+   id="Capa_1"
+   x="0px"
+   y="0px"
+   viewBox="0 0 512 512"
+   style="enable-background:new 0 0 512 512;"
+   xml:space="preserve"
+   sodipodi:docname="wm.svg"
+   inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"><metadata
+   id="metadata61"><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="defs59" /><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="namedview57"
+   showgrid="false"
+   inkscape:zoom="1.3037281"
+   inkscape:cx="264.67796"
+   inkscape:cy="256"
+   inkscape:window-x="0"
+   inkscape:window-y="20"
+   inkscape:window-maximized="0"
+   inkscape:current-layer="Capa_1" />
+<g
+   id="g6"
+   transform="matrix(0.9,0,0,0.9,25.600024,25.599998)">
+       <g
+   id="g4">
+               <path
+   d="m 438.343,344.359 c -4.851,-2.408 -10.847,-0.341 -13.234,4.487 -2.371,4.796 -0.269,10.891 4.496,13.235 4.829,2.376 10.873,0.295 13.236,-4.487 2.411,-4.892 0.395,-10.823 -4.498,-13.235 z"
+   id="path2"
+   inkscape:connector-curvature="0" />
+       </g>
+</g>
+<g
+   id="g12"
+   transform="matrix(0.9,0,0,0.9,25.600024,25.599998)">
+       <g
+   id="g10">
+               <path
+   d="m 467.46,150.829 c -1.733,-15.248 -6.124,-34.746 -21.759,-41.571 -10.77,-4.702 -23.892,-1.747 -34.523,4.547 -6.781,4.099 -18.321,12.042 -10.307,20.913 7.08,7.837 14.602,-0.5 20.913,-4.219 5.652,-3.33 13.154,-5.117 18.55,-0.339 5.8,5.136 6.684,15.673 7.477,22.854 1.948,17.465 2.975,36.611 2.975,55.371 0.011,27.339 -2.164,67.774 -12.552,105.195 -3.379,12.174 15.648,17.618 19.046,5.28 9.859,-35.804 13.274,-73.435 13.274,-110.475 0,-19.482 -1.076,-39.378 -3.094,-57.556 z"
+   id="path8"
+   inkscape:connector-curvature="0" />
+       </g>
+</g>
+<g
+   id="g18"
+   transform="matrix(0.9,0,0,0.9,25.600024,25.599998)">
+       <g
+   id="g16">
+               <path
+   d="m 502.474,107.08 c -9.946,-41.4 -28.689,-62.392 -55.709,-62.392 -15.26,0 -32.325,7.019 -49.631,20.134 C 388.072,56.662 369.273,43.347 331.948,27.839 271.84,2.862 171.24,37.325 166.964,38.812 c -5.866,2.04 -8.42,9.519 -5.043,14.719 l 17.097,26.328 c -7.076,11.717 -11.364,24.558 -15.458,36.868 -5.591,16.812 -10.873,32.691 -22.564,44.941 -9.831,10.301 -23.446,18.055 -37.86,26.263 -16.712,9.517 -35.247,20.076 -51.564,36.617 -8.26,-21.929 -10.022,-46.135 -5.211,-72.169 4.42,-23.919 13.024,-40.47 13.137,-40.687 5.08,-9.714 -7.812,-19.452 -15.683,-11.661 -22.547,22.318 -37.545,53.825 -42.229,88.72 -4.325,32.219 0.268,65.239 12.925,93.5 -5.695,14.793 -8.577,29.553 -8.577,44.179 0,91.966 71.609,166.785 159.628,166.785 5.459,0 9.884,-4.425 9.884,-9.884 v -43.497 c 0,-5.459 -4.425,-9.884 -9.884,-9.884 -43.608,0 -79.775,-34.561 -85.645,-79.318 20.138,11.026 45.616,19.431 68.858,17.529 23.725,-1.941 44.963,-13.751 61.902,-30.056 23.258,13.904 50.269,21.512 76.954,21.512 12.708,0 24.846,-1.591 36.235,-4.74 11.691,81.18 29.847,128.893 30.649,130.975 1.587,4.118 5.712,6.678 10.107,6.29 1.558,-0.14 38.568,-3.845 75.271,-40.31 21.141,-21.004 37.932,-48.664 49.91,-82.212 C 504.532,328.363 512,277.943 512,219.758 512,188.408 511.013,142.62 502.474,107.08 Z M 324.363,46.093 c 34.536,14.35 51.257,26.204 58.631,32.601 l -30.826,35.442 -54.093,3.685 -20.647,-36.056 c -1.781,-3.11 -5.075,-4.973 -8.575,-4.973 -12.223,0 -60.617,11.765 -61.483,10.432 -0.004,-0.006 -21.767,-33.521 -21.767,-33.521 27.8,-8.1 96.849,-25.024 138.76,-7.61 z M 155.678,449.238 v 23.846 C 83.154,467.735 25.702,404.003 25.702,326.43 c 0,-6.727 0.755,-13.525 2.236,-20.376 8.775,12.577 19.387,23.343 31.371,31.787 0.008,58.182 42.403,106.13 96.369,111.397 z M 142.045,348.579 C 103.786,348.577 76.358,325.485 74.822,324.431 57.553,312.582 43.221,296.453 34.113,277.546 18.954,246.079 16.052,209.127 24.058,176.025 c -0.608,25.515 4.803,49.727 16.037,71.165 12.432,23.724 32.193,43.798 54.137,58.904 29.228,20.108 56.812,21.28 82.13,3.536 5.245,6.042 11.202,11.753 17.69,16.962 0.803,0.645 -23.052,21.987 -52.007,21.987 z M 99.329,285.408 c 8.397,-5.763 49.588,-4.266 55.651,-4.294 2.49,4.328 5.523,8.758 8.862,13.135 -31.392,23.532 -62.522,-7.351 -64.513,-8.841 z m 327.7,151.327 c -22.589,22.895 -45.422,31.281 -56.787,34.222 -3.314,0.857 -21.904,-88.65 -22.872,-94.198 -6.058,-34.715 -11.745,-70.446 -11.721,-105.759 -0.049,-14.489 1.354,-26.912 3.844,-34.089 4.13,-11.904 -14.601,-18.463 -18.719,-6.347 -3.331,9.993 -4.844,22.457 -4.893,40.436 0.015,24.252 3.18,50.343 5.128,64.121 -10.353,3.138 -21.544,4.728 -33.376,4.728 -25.495,0 -51.376,-8.004 -72.885,-22.545 -10.735,-7.238 -36.569,-32.481 -44.887,-50.357 -1.679,-3.608 -5.363,-5.848 -9.332,-5.707 -7.558,0.283 -61.608,-2.142 -76.625,11.172 -9.287,-8.866 -17.031,-18.475 -23.114,-28.703 15.374,-17.626 34.027,-28.288 52.13,-38.597 15.709,-8.946 30.547,-17.396 42.378,-29.793 14.75,-15.455 20.989,-34.212 27.022,-52.351 2.706,-8.136 5.444,-16.254 9.041,-24.046 2.539,4.966 6.758,9.921 12.945,8.889 l 59.407,-10.22 20.286,35.424 c 1.768,3.089 5.05,4.972 8.575,4.972 0.224,0 0.448,-0.008 0.674,-0.023 l 64.361,-4.385 c 2.621,-0.179 5.063,-1.393 6.786,-3.375 l 39.423,-45.326 c 0.057,-0.066 0.108,-0.136 0.163,-0.203 15.512,-12.885 30.76,-20.219 42.788,-20.219 45.467,0 45.467,116.891 45.467,155.302 -0.004,124.712 -35.463,186.829 -65.207,216.977 z"
+   id="path14"
+   inkscape:connector-curvature="0" />
+       </g>
+</g>
+<g
+   id="g24"
+   transform="matrix(0.9,0,0,0.9,25.600024,25.599998)">
+       <g
+   id="g22">
+               <path
+   d="m 273.825,195.683 c -10.331,-3.287 -19.651,-5.079 -28.022,-5.78 1.723,0.119 1.801,-19.811 -0.622,-19.811 10e-4,0 5.858,0 5.878,0 12.693,0 12.791,-19.768 0,-19.768 0,0 -33.58,0 -33.606,0 -25.652,0 -38.388,32.855 -21.733,51.383 -13.006,8.991 -18.263,19.694 -18.857,20.971 -5.316,11.42 12.52,19.957 17.924,8.338 12.344,-26.537 50.285,-23.726 73.043,-16.495 11.822,3.756 18.189,-14.957 5.995,-18.838 z m -56.371,-3.934 c -5.45,0 -9.884,-4.858 -9.884,-10.829 -0.001,-5.97 4.433,-10.828 9.884,-10.828 5.45,0 9.884,4.857 9.884,10.828 0,5.29 -4.249,10.829 -9.884,10.829 z"
+   id="path20"
+   inkscape:connector-curvature="0" />
+       </g>
+</g>
+<g
+   id="g26"
+   transform="matrix(0.9,0,0,0.9,25.600024,25.599998)">
+</g>
+<g
+   id="g28"
+   transform="matrix(0.9,0,0,0.9,25.600024,25.599998)">
+</g>
+<g
+   id="g30"
+   transform="matrix(0.9,0,0,0.9,25.600024,25.599998)">
+</g>
+<g
+   id="g32"
+   transform="matrix(0.9,0,0,0.9,25.600024,25.599998)">
+</g>
+<g
+   id="g34"
+   transform="matrix(0.9,0,0,0.9,25.600024,25.599998)">
+</g>
+<g
+   id="g36"
+   transform="matrix(0.9,0,0,0.9,25.600024,25.599998)">
+</g>
+<g
+   id="g38"
+   transform="matrix(0.9,0,0,0.9,25.600024,25.599998)">
+</g>
+<g
+   id="g40"
+   transform="matrix(0.9,0,0,0.9,25.600024,25.599998)">
+</g>
+<g
+   id="g42"
+   transform="matrix(0.9,0,0,0.9,25.600024,25.599998)">
+</g>
+<g
+   id="g44"
+   transform="matrix(0.9,0,0,0.9,25.600024,25.599998)">
+</g>
+<g
+   id="g46"
+   transform="matrix(0.9,0,0,0.9,25.600024,25.599998)">
+</g>
+<g
+   id="g48"
+   transform="matrix(0.9,0,0,0.9,25.600024,25.599998)">
+</g>
+<g
+   id="g50"
+   transform="matrix(0.9,0,0,0.9,25.600024,25.599998)">
+</g>
+<g
+   id="g52"
+   transform="matrix(0.9,0,0,0.9,25.600024,25.599998)">
+</g>
+<g
+   id="g54"
+   transform="matrix(0.9,0,0,0.9,25.600024,25.599998)">
+</g>
+<path
+   style="fill:#ffffff;fill-opacity:1;stroke-width:0.76703107"
+   d="M 151.80508,449.0928 C 99.279147,438.58879 59.197215,395.08861 50.42739,339.06947 49.323211,332.01629 49.183573,309.96732 50.212347,305.11392 l 0.694053,-3.27431 4.051062,5.31603 c 4.366387,5.72983 16.487077,17.67431 21.098598,20.79188 2.710927,1.83269 2.836724,2.11036 2.841733,6.2725 0.02255,18.73682 8.555044,42.62385 21.004496,58.80285 14.675141,19.07144 37.159961,32.79159 59.500271,36.30682 l 6.17499,0.97163 v 10.18559 10.18558 l -3.25989,-0.0647 c -1.79293,-0.0356 -6.52359,-0.71732 -10.51258,-1.51503 z"
+   id="path33"
+   inkscape:connector-curvature="0" /><path
+   style="fill:#ffffff;fill-opacity:1;stroke-width:0.76703107"
+   d="M 137.65538,337.45362 C 117.83296,333.87397 96.566089,322.1954 78.903273,305.19028 69.742902,296.371 63.750656,288.4859 58.208299,277.95808 45.77659,254.34378 40.850357,222.43695 45.438819,195.25114 l 0.970955,-5.75274 0.565282,6.13625 c 3.422449,37.15136 15.423111,62.46371 41.638294,87.82544 15.1213,14.62901 30.03718,24.55928 43.76947,29.1396 16.13154,5.38057 33.10222,3.58968 47.36388,-4.99824 l 4.48885,-2.70304 7.35392,7.11413 c 4.04466,3.91276 7.46169,7.3511 7.59339,7.64074 0.53599,1.17876 -9.20585,7.88039 -17.11414,11.7732 -10.96085,5.39539 -18.76177,7.26914 -29.91422,7.18527 -4.64054,-0.0349 -11.16514,-0.55606 -14.49912,-1.15813 z"
+   id="path35"
+   inkscape:connector-curvature="0" /><path
+   style="fill:#ffffff;fill-opacity:1;stroke-width:0.76703107"
+   d="m 142.79915,297.2778 c -4.48916,-0.95476 -11.79787,-3.99788 -16.61819,-6.9193 -5.41025,-3.27895 -10.21642,-7.38156 -9.49894,-8.10841 1.66029,-1.68197 11.49096,-2.74991 28.95272,-3.14523 l 18.79226,-0.42545 4.02657,5.83113 4.02657,5.83114 -2.92638,1.93659 c -6.70248,4.43549 -18.78803,6.69387 -26.75461,4.99953 z"
+   id="path37"
+   inkscape:connector-curvature="0" /><path
+   style="fill:#ffffff;fill-opacity:1;stroke-width:0.76703107"
+   d="m 357.70724,446.54438 c -4.04767,-9.68742 -18.36193,-75.08012 -22.93829,-104.7903 -5.22617,-33.92891 -6.98462,-55.3622 -6.35584,-77.47014 0.33094,-11.63575 0.78831,-16.40488 2.05967,-21.47687 1.92752,-7.68974 1.59125,-10.68941 -1.48887,-13.28116 -5.11614,-4.30495 -12.05781,-3.01526 -14.57878,2.70858 -3.38208,7.67897 -4.24373,15.71447 -4.21799,39.33624 0.0228,20.93974 0.76172,32.28367 3.33293,51.16802 l 0.59624,4.37911 -5.41384,1.23135 c -24.29564,5.52592 -50.96752,2.27242 -75.04742,-9.15448 -11.08287,-5.25928 -19.50522,-11.52913 -30.88539,-22.992 -11.46485,-11.54817 -17.67548,-19.25061 -22.28732,-27.64083 -4.32936,-7.87631 -4.92966,-8.10681 -21.12141,-8.11025 -25.12325,-0.005 -43.935,2.46716 -53.50267,7.03205 l -4.87657,2.32668 -3.452887,-3.3385 c -3.892511,-3.76355 -13.560356,-15.94193 -15.251123,-19.21152 -1.487842,-2.87717 -0.489996,-4.34016 8.031337,-11.7751 8.312629,-7.25287 19.532563,-14.79263 37.684003,-25.32354 19.44678,-11.28243 26.77183,-16.34935 34.73935,-24.03005 11.35166,-10.94304 17.57729,-21.73686 25.13324,-43.57537 4.20383,-12.15006 9.18072,-25.75133 9.58653,-26.19887 0.13615,-0.15016 1.57075,1.11795 3.18799,2.81802 1.61723,1.70006 3.87651,3.32597 5.02062,3.61312 1.28964,0.32368 12.46638,-1.27255 29.40942,-4.20018 15.03108,-2.59726 27.49227,-4.55925 27.69152,-4.35999 0.19926,0.19925 4.58306,7.71833 9.74176,16.70905 7.36048,12.828 9.92906,16.66774 11.93262,17.83788 2.53962,1.48322 2.71748,1.47999 33.5778,-0.61 17.06356,-1.15561 31.84368,-2.47428 32.8447,-2.93037 1.00102,-0.4561 10.25722,-10.53034 20.56933,-22.3872 20.18834,-23.212533 23.31082,-26.051042 35.94116,-32.672428 16.75646,-8.784482 28.47664,-7.982024 37.90398,2.59521 11.61906,13.036298 19.16325,42.173838 21.66829,83.688338 4.16784,69.07117 -1.3273,126.75059 -16.31214,171.21928 -15.24883,45.25215 -40.19364,77.51268 -72.53701,93.81044 -6.46349,3.25693 -11.99859,5.53416 -16.40468,6.74913 -2.8733,0.7923 -2.95648,0.75691 -3.98026,-1.69335 z m 63.35268,-95.36047 c 9.67579,-5.71564 1.32885,-20.7435 -8.8411,-15.91754 -3.35536,1.59222 -5.02648,4.52701 -5.02648,8.82741 0,2.59708 0.48,3.66292 2.6079,5.79082 2.13711,2.13711 3.1889,2.60791 5.82615,2.60791 1.77003,0 4.21512,-0.58887 5.43353,-1.3086 z m 13.90952,-34.62279 c 4.10593,-4.01733 10.00785,-33.4328 13.0282,-64.9332 2.06202,-21.50556 1.10514,-72.29817 -1.75568,-93.19427 -3.20582,-23.41608 -12.49997,-35.60159 -27.943,-36.63594 -12.14978,-0.81378 -28.86964,6.93797 -33.40513,15.48745 -2.13923,4.03249 -1.63365,6.5741 2.03811,10.24587 2.41653,2.41652 2.96998,2.62519 6.04394,2.27871 2.29438,-0.25861 4.92108,-1.43073 8.15857,-3.64062 6.27254,-4.2816 9.05262,-5.37719 13.64472,-5.37719 2.98382,0 4.3155,0.43298 6.19451,2.01406 4.57847,3.85253 6.17237,8.92859 7.67695,24.44851 4.56795,47.11908 2.09421,94.32302 -6.92818,132.20363 -2.76319,11.60135 -2.78996,13.16543 -0.27644,16.15259 3.59574,4.27329 9.68954,4.70155 13.52343,0.9504 z M 198.64249,236.97957 c 0.78452,-0.70998 2.42197,-3.05492 3.63878,-5.21099 7.6249,-13.51057 25.59035,-19.5998 48.05321,-16.28719 4.64054,0.68434 10.76105,1.909 13.60113,2.72145 8.04753,2.30214 12.83562,0.0798 14.07625,-6.5333 1.41786,-7.55784 -3.19544,-10.6923 -20.32647,-13.81063 -3.62113,-0.65916 -7.27421,-1.32843 -8.11794,-1.48729 -1.42192,-0.26772 -1.53506,-0.90207 -1.54772,-8.67801 l -0.0137,-8.38917 3.80327,-0.36545 c 3.02613,-0.29077 4.23517,-0.84884 5.91704,-2.73116 2.90304,-3.24907 3.4972,-6.96807 1.69984,-10.63974 -0.78178,-1.59702 -2.28432,-3.33275 -3.33899,-3.8572 -2.97039,-1.47706 -37.60927,-1.34169 -42.689,0.16683 -16.23954,4.82263 -24.12376,27.87331 -14.42309,42.16806 l 1.95667,2.88331 -4.77954,4.32419 c -8.61535,7.79455 -13.29532,15.50603 -12.36472,20.37412 0.47333,2.47609 4.15948,6.33368 6.53327,6.83714 2.82909,0.60003 6.80097,-0.10874 8.32169,-1.48497 z"
+   id="path39"
+   inkscape:connector-curvature="0" /><path
+   style="fill:#ffffff;fill-opacity:1;stroke-width:0.76703107"
+   d="m 215.74138,194.94433 c -3.8051,-3.8051 -3.8051,-9.38784 0,-13.19294 3.61095,-3.61095 7.26566,-3.62618 10.84663,-0.0452 1.40948,1.40948 2.79304,3.48046 3.07457,4.60218 0.76562,3.05048 -0.21626,5.82287 -3.07457,8.68118 -3.58097,3.58097 -7.23568,3.56573 -10.84663,-0.0452 z"
+   id="path41"
+   inkscape:connector-curvature="0" /><path
+   style="fill:#ffffff;fill-opacity:1;stroke-width:0.76703107"
+   d="m 292.67733,128.72172 c -0.9867,-1.58779 -5.01556,-8.5821 -8.95306,-15.54291 -8.83186,-15.613225 -10.13169,-17.395465 -13.33119,-18.278892 -3.44355,-0.950808 -13.26055,0.408756 -37.6123,5.208952 -10.92014,2.15257 -20.04053,3.72802 -20.26754,3.50101 -0.84024,-0.84024 -19.10444,-29.173916 -18.93874,-29.38011 0.44282,-0.551046 15.02692,-4.264829 26.07874,-6.640847 39.66617,-8.527785 73.09933,-9.045241 94.15803,-1.457316 17.61543,6.347238 50.1379,23.894978 54.88308,29.612563 1.17917,1.420803 -24.92918,31.38515 -27.9784,32.1106 -1.19509,0.28432 -11.31974,1.08064 -22.49922,1.7696 -11.17948,0.68895 -21.09562,1.41725 -22.03587,1.61845 -1.3375,0.28619 -2.09997,-0.26247 -3.50353,-2.5211 z"
+   id="path43"
+   inkscape:connector-curvature="0" /></svg>
\ No newline at end of file
index 727a6a1..8854bad 100644 (file)
@@ -9,3 +9,4 @@ He also designed all the Horde pieces in Orda, the Shako Cannon and Elephant,
 the black Colorbound + Sittuyin pieces set, and he sent me the wizard and
 champion SVG files as well (modified from Wikipedia)
 Letter D: https://svgsilh.com/image/2051714.html
+Mammoth: https://www.flaticon.com/free-icon/mammoth_925138
index c9d6efa..91667a7 100644 (file)
@@ -206,6 +206,7 @@ export const translations = {
   "Mate any piece (v1)": "Mate any piece (v1)",
   "Mate any piece (v2)": "Mate any piece (v2)",
   "Mate the knight": "Mate the knight",
+  "Meet the Mammoth": "Meet the Mammoth",
   "Middle battle": "Middle battle",
   "Mongolian Horde": "Mongolian Horde",
   "Move like a knight (v1)": "Move like a knight (v1)",
index 986adb1..daf09ae 100644 (file)
@@ -206,6 +206,7 @@ export const translations = {
   "Mate any piece (v1)": "Matar cualquier pieza (v1)",
   "Mate any piece (v2)": "Matar cualquier pieza (v2)",
   "Mate the knight": "Matar el caballo",
+  "Meet the Mammoth": "Conoce al Mamut",
   "Middle battle": "Batalla media",
   "Mongolian Horde": "Horda mongol",
   "Move like a knight (v1)": "Moverse como un caballo (v1)",
index 95ad59b..6b57c32 100644 (file)
@@ -206,6 +206,7 @@ export const translations = {
   "Mate any piece (v1)": "Matez n'importe quelle pièce (v1)",
   "Mate any piece (v2)": "Matez n'importe quelle pièce (v2)",
   "Mate the knight": "Matez le cavalier",
+  "Meet the Mammoth": "Rencontrez le Mammouth",
   "Middle battle": "Bataille du milieu",
   "Mongolian Horde": "Horde mongole",
   "Move like a knight (v1)": "Bouger comme un cavalier (v1)",
diff --git a/client/src/translations/rules/Balaklava/en.pug b/client/src/translations/rules/Balaklava/en.pug
new file mode 100644 (file)
index 0000000..6ed42f5
--- /dev/null
@@ -0,0 +1,28 @@
+p.boxed
+  | Pieces can also move as a knight. The knight is replaced by a mammoth.
+
+p.
+  In addition to their usual abilities, pawns and non-royal pieces (eveything
+  but the king) may make non-capturing knight moves.
+
+p.
+  The new piece instead of the knight is a Mammoth: it leaps two squares in
+  any direction, as illustrated below.
+
+figure.diagram-container
+  .diagram
+    | fen:8/8/2pP4/4MP2/4p3/3p4/8/8 c7,d7,e7,f7,g7,g6,g5,g4,g3,f3,e3,c3,c4,c5:
+  figcaption Movements of the Mammoth
+
+ul
+  li A pawn cannot promote with a knight move.
+  li No en passant captures.
+
+h3 Source
+
+p
+  a(href="https://www.chessvariants.com/diffmove.dir/balaklava.html")
+    | Balaklava Chess
+  | &nbsp;on chessvariants.com.
+
+p Inventor: Gianluca Vecchi (1994)
diff --git a/client/src/translations/rules/Balaklava/es.pug b/client/src/translations/rules/Balaklava/es.pug
new file mode 100644 (file)
index 0000000..1218cf4
--- /dev/null
@@ -0,0 +1,30 @@
+p.boxed
+  | Las piezas también pueden moverse como un caballo.
+  | El caballo es reemplazado por un mamut.
+
+p.
+  Además de sus habilidades habituales, peones y piezas no reales
+  (todo excepto el rey) puede hacer saltos de caballo non capturado.
+
+p.
+  La nueva pieza reemplaza para el caballo es un Mamut: salta dos
+  casillas en todas las direcciones, como se muestra a continuación.
+
+figure.diagram-container
+  .diagram
+    | fen:8/8/2pP4/4MP2/4p3/3p4/8/8 c7,d7,e7,f7,g7,g6,g5,g4,g3,f3,e3,c3,c4,c5:
+  figcaption Movimientos del Mamut.
+
+ul
+  li Un peón no puede ser promovido a través de un salto de caballo.
+  li No hay capturas en passant.
+
+h3 Fuente
+
+p
+  | La 
+  a(href="https://www.chessvariants.com/diffmove.dir/balaklava.html")
+    | variante Balaklava
+  | &nbsp;en chessvariants.com.
+
+p Inventor: Gianluca Vecchi (1994)
diff --git a/client/src/translations/rules/Balaklava/fr.pug b/client/src/translations/rules/Balaklava/fr.pug
new file mode 100644 (file)
index 0000000..8b22d69
--- /dev/null
@@ -0,0 +1,30 @@
+p.boxed
+  | Les pièces peuvent aussi se déplacer comme un cavalier.
+  | Le cavalier est remplacé par un mammouth.
+
+p.
+  En plus de leurs capacités habituelles, les pions et pièces non royales
+  (tout sauf le roi) peuvent effectuer des coups de cavalier non capturants.
+
+p.
+  La nouvelle pièce remplaçant le cavalier est un Mammouth : il saute de deux
+  cases dans toutes les directions, comme illustré ci-dessous.
+
+figure.diagram-container
+  .diagram
+    | fen:8/8/2pP4/4MP2/4p3/3p4/8/8 c7,d7,e7,f7,g7,g6,g5,g4,g3,f3,e3,c3,c4,c5:
+  figcaption Déplacements du Mammouth
+
+ul
+  li Un pion ne peut se promouvoir via un saut de cavalier.
+  li Pas de prises en passant.
+
+h3 Source
+
+p
+  | La 
+  a(href="https://www.chessvariants.com/diffmove.dir/balaklava.html")
+    | variante Balaklava
+  | &nbsp;sur chessvariants.com.
+
+p Inventeur : Gianluca Vecchi (1994)
diff --git a/client/src/variants/Balaklava.js b/client/src/variants/Balaklava.js
new file mode 100644 (file)
index 0000000..3a04e1d
--- /dev/null
@@ -0,0 +1,109 @@
+import { ChessRules } from "@/base_rules";
+
+export class BalaklavaRules extends ChessRules {
+  static get PawnSpecs() {
+    return Object.assign(
+      {},
+      ChessRules.PawnSpecs,
+      { promotions: [V.ROOK, V.MAMMOTH, V.BISHOP, V.QUEEN] }
+    );
+  }
+
+  static get HasEnpassant() {
+    return false;
+  }
+
+  getPpath(b) {
+    return (b[1] == V.MAMMOTH ? "Balaklava/" : "") + b;
+  }
+
+  // Alfil + Dabbaba:
+  static get MAMMOTH() {
+    return "m";
+  }
+
+  static get PIECES() {
+    return [V.PAWN, V.ROOK, V.MAMMOTH, V.BISHOP, V.QUEEN, V.KING];
+  }
+
+  static get steps() {
+    return Object.assign(
+      {},
+      ChessRules.steps,
+      {
+        m: [
+          [-2, -2],
+          [-2, 0],
+          [-2, 2],
+          [0, -2],
+          [0, 2],
+          [2, -2],
+          [2, 0],
+          [2, 2],
+        ]
+      }
+    );
+  }
+
+  static GenRandInitFen(randomness) {
+    // No collision between 'n' and castle flags, so next replacement is fine
+    return (
+      ChessRules.GenRandInitFen(randomness)
+        .replace(/n/g, 'm').replace(/N/g, 'M')
+    );
+  }
+
+  getPotentialMovesFrom([x, y]) {
+    const piece = this.getPiece(x, y);
+    let moves =
+      piece == V.MAMMOTH
+        ? this.getPotentialMammothMoves([x, y])
+        : super.getPotentialMovesFrom([x, y]);
+    if (piece != V.KING) {
+      // Add non-capturing knight movements
+      const lastRank = (this.turn == 'w' ? 0 : 7);
+      V.steps[V.KNIGHT].forEach(step => {
+        const [i, j] = [x + step[0], y + step[1]];
+        if (
+          V.OnBoard(i, j) &&
+          this.board[i][j] == V.EMPTY &&
+          // Pawns don't promote with a knight move
+          (piece != V.PAWN || i != lastRank)
+        ) {
+          moves.push(this.getBasicMove([x, y], [i, j]));
+        }
+      });
+    }
+    return moves;
+  }
+
+  getPotentialMammothMoves(sq) {
+    return this.getSlideNJumpMoves(sq, V.steps[V.MAMMOTH], "oneStep");
+  }
+
+  isAttacked(sq, color) {
+    return (
+      super.isAttacked(sq, color) ||
+      this.isAttackedByMammoth(sq, color)
+    );
+  }
+
+  isAttackedByMammoth(sq, color) {
+    return (
+      this.isAttackedBySlideNJump(
+        sq, color, V.MAMMOTH, V.steps[V.MAMMOTH], "oneStep")
+    );
+  }
+
+  static get SEARCH_DEPTH() {
+    return 2;
+  }
+
+  static get VALUES() {
+    return Object.assign(
+      // A mammoth is probably worth a little more than a knight
+      { m: 4 },
+      ChessRules.VALUES
+    );
+  }
+};
index 51e1a22..4941967 100644 (file)
@@ -20,6 +20,7 @@ insert or ignore into Variants (name, description) values
   ('Arena', 'Middle battle'),
   ('Atomic', 'Explosive captures'),
   ('Ball', 'Score a goal'),
+  ('Balaklava', 'Meet the Mammoth'),
   ('Baroque', 'Exotic captures'),
   ('Benedict', 'Change colors'),
   ('Berolina', 'Pawns move diagonally'),