summaryrefslogtreecommitdiff |
diff options
Diffstat (limited to 'src')
37 files changed, 2151 insertions, 107 deletions
diff --git a/src/asset/www/svg/to-logo-no-bg.svg b/src/asset/www/svg/to-logo-no-bg.svg new file mode 100644 index 0000000..1d439cf --- /dev/null +++ b/src/asset/www/svg/to-logo-no-bg.svg @@ -0,0 +1,596 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<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:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="65.628479mm" + height="41.997131mm" + viewBox="0 0 65.628476 41.997132" + version="1.1" + id="svg8" + inkscape:version="0.92.2 5c3e80d, 2017-08-06" + sodipodi:docname="to-logo-no-bg.svg" + inkscape:export-filename="/home/nsensfel/to-logo.png" + inkscape:export-xdpi="24.5634" + inkscape:export-ydpi="24.5634"> + <defs + id="defs2" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="2.8284271" + inkscape:cx="130.18042" + inkscape:cy="79.407794" + inkscape:document-units="mm" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:snap-global="false" + showguides="false" + inkscape:window-width="1918" + inkscape:window-height="1059" + inkscape:window-x="1" + inkscape:window-y="20" + inkscape:window-maximized="0" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" /> + <metadata + id="metadata5"> + <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> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-0.76520855,-49.660401)"> + <g + aria-label="nline" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:125%;font-family:Bubble_Runes;-inkscape-font-specification:Bubble_Runes;letter-spacing:0px;word-spacing:0px;fill:#e9ddaf;fill-opacity:1;stroke:#483e37;stroke-width:0.60000002;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill" + id="text1280" + transform="translate(0,-1.5875)" + inkscape:export-filename="/home/nsensfel/to-logo.png" + inkscape:export-xdpi="105.84057" + inkscape:export-ydpi="105.84057"> + <path + d="m 32.889675,81.781917 h -1.839681 l 0.02067,-0.482313 q 0.564995,-1.040419 0.564995,-2.204861 0,-1.515842 -1.378038,-1.515842 -0.310058,0 -0.72347,0.254937 -0.35829,0.220486 -0.35829,0.37896 v 2.604492 q 0,0.206706 0.130914,0.372071 l 0.392741,0.261827 0.06201,0.330729 H 27.63246 l 0.323839,-0.310058 q 0.144694,-0.165365 0.144694,-0.378961 v -3.369303 q 0,-0.248047 -0.461643,-0.695909 h 1.536512 v 0.37896 q 0.757921,-0.468533 1.743219,-0.468533 1.061089,0 1.736328,1.109321 0.172254,0.461643 0.172254,1.061089 0,0.475423 -0.502983,1.570964 l -0.02067,0.124023 q 0.0069,0.172255 0.454753,0.592556 z" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:14.11111069px;font-family:'Dumbledor 3';-inkscape-font-specification:'Dumbledor 3, ';fill:#e9ddaf;fill-opacity:1;stroke:#483e37;stroke-width:0.60000002;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill" + id="path4582" + inkscape:connector-curvature="0" /> + <path + d="m 36.066053,81.699235 h -2.067057 q 0.282498,-0.37207 0.35829,-0.613227 l 0.04134,-0.564996 V 75.02264 q 0,-0.509874 -0.502984,-0.509874 -0.179145,0 -0.502984,0.07579 0.316949,-0.502984 1.012858,-0.764811 0.330729,-0.124024 1.254015,-0.316949 v 7.014214 q 0,0.482314 0.04823,0.640788 0.05512,0.186035 0.35829,0.537435 z" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:14.11111069px;font-family:'Dumbledor 3';-inkscape-font-specification:'Dumbledor 3, ';fill:#e9ddaf;fill-opacity:1;stroke:#483e37;stroke-width:0.60000002;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill" + id="path4584" + inkscape:connector-curvature="0" /> + <path + d="m 38.560302,75.525624 q 0,0.482313 -0.695909,0.551215 -0.654568,0 -0.72347,-0.537435 0,-0.516764 0.7028,-0.544325 0.633897,-0.02756 0.716579,0.530545 z m 0.06201,1.426269 v 4.051433 q 0,0.165364 0.04134,0.254937 0.02067,0.08268 0.392741,0.434082 h -1.956814 l 0.316949,-0.310059 q 0.130913,-0.165364 0.130913,-0.37896 v -2.962782 q 0,-0.206706 -0.303168,-0.620118 -0.282498,-0.38585 -0.454753,-0.475423 z" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:14.11111069px;font-family:'Dumbledor 3';-inkscape-font-specification:'Dumbledor 3, ';fill:#e9ddaf;fill-opacity:1;stroke:#483e37;stroke-width:0.60000002;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill" + id="path4586" + inkscape:connector-curvature="0" /> + <path + d="m 44.795925,81.781917 h -1.839681 l 0.02067,-0.482313 q 0.564995,-1.040419 0.564995,-2.204861 0,-1.515842 -1.378038,-1.515842 -0.310058,0 -0.72347,0.254937 -0.35829,0.220486 -0.35829,0.37896 v 2.604492 q 0,0.206706 0.130914,0.372071 l 0.392741,0.261827 0.06201,0.330729 H 39.53871 l 0.323839,-0.310058 q 0.144694,-0.165365 0.144694,-0.378961 v -3.369303 q 0,-0.248047 -0.461643,-0.695909 h 1.536512 v 0.37896 q 0.757921,-0.468533 1.743219,-0.468533 1.061089,0 1.736328,1.109321 0.172254,0.461643 0.172254,1.061089 0,0.475423 -0.502983,1.570964 l -0.02067,0.124023 q 0.0069,0.172255 0.454753,0.592556 z" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:14.11111069px;font-family:'Dumbledor 3';-inkscape-font-specification:'Dumbledor 3, ';fill:#e9ddaf;fill-opacity:1;stroke:#483e37;stroke-width:0.60000002;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill" + id="path4588" + inkscape:connector-curvature="0" /> + <path + d="m 50.376979,79.818213 c -0.473127,1.332103 -1.31373,1.998155 -2.52181,1.998155 -0.702799,0 -1.304543,-0.241157 -1.80523,-0.72347 -0.500687,-0.482313 -0.751031,-1.072573 -0.751031,-1.770779 0,-0.767108 0.22508,-1.375742 0.675239,-1.825901 0.450159,-0.450159 1.058793,-0.675238 1.8259,-0.675238 0.58337,0 1.049606,0.149287 1.398709,0.447862 0.307762,0.266421 0.567293,0.689019 0.778592,1.267795 l -3.513998,0.627008 0.02757,0.03445 c 0,0.546621 0.156178,1.005967 0.468533,1.378038 0.330729,0.399631 0.762515,0.599446 1.295356,0.599446 0.431785,0 0.845197,-0.130914 1.240234,-0.392741 0.376664,-0.248047 0.670646,-0.569589 0.881945,-0.964626 z m -1.598524,-1.688097 c -0.05512,-0.248047 -0.197517,-0.445565 -0.427192,-0.592556 -0.22508,-0.151585 -0.46394,-0.2113 -0.71658,-0.179145 -0.385851,0.05053 -0.675239,0.229672 -0.868164,0.537435 -0.101056,0.234266 -0.202112,0.466236 -0.303169,0.695909 z" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:14.11111069px;font-family:'Dumbledor 3';-inkscape-font-specification:'Dumbledor 3, ';fill:#e9ddaf;fill-opacity:1;stroke:#483e37;stroke-width:0.60000002;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill" + id="path4590" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cssssscccccsccccccccc" /> + </g> + <g + id="g1022" + style="fill:#e9ddaf;stroke:#483e37" + inkscape:export-filename="/home/nsensfel/to-logo.png" + inkscape:export-xdpi="105.84057" + inkscape:export-ydpi="105.84057"> + <path + inkscape:connector-curvature="0" + id="path922" + d="M 25.865528,74.956004 A 8.2336796,8.233679 65.781463 0 1 21.734121,85.84262 8.2336796,8.233679 65.781463 0 1 10.847504,81.711213 8.2336796,8.233679 65.781463 0 1 14.978912,70.824595 8.2336796,8.233679 65.781463 0 1 25.865528,74.956004 Z" + style="opacity:1;vector-effect:none;fill:#e9ddaf;fill-opacity:1;stroke:#483e37;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" /> + <path + inkscape:connector-curvature="0" + id="path922-6" + d="m 24.980478,75.354106 a 7.2632172,7.2632165 65.781463 0 1 -3.64446,9.603462 7.2632172,7.2632165 65.781463 0 1 -9.603464,-3.644457 7.2632172,7.2632165 65.781463 0 1 3.644459,-9.603465 7.2632172,7.2632165 65.781463 0 1 9.603465,3.64446 z" + style="opacity:1;vector-effect:none;fill:#e9ddaf;fill-opacity:1;stroke:#483e37;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" /> + <path + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" + id="path945" + d="m 11.267005,76.675344 3.601606,8.007007" + style="fill:#e9ddaf;fill-rule:evenodd;stroke:#483e37;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + <use + style="fill:#e9ddaf;stroke:#483e37;stroke-width:0.10036709;stroke-miterlimit:4;stroke-dasharray:none" + height="100%" + width="100%" + transform="matrix(0.99877131,-0.00273161,-0.0027316,0.99392716,10.815408,-4.1975421)" + id="use947" + xlink:href="#path945" + y="0" + x="0" /> + <path + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" + id="path945-7" + d="m 12.214167,74.472549 1.581326,3.515567" + style="fill:#e9ddaf;fill-rule:evenodd;stroke:#483e37;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + <use + style="fill:#e9ddaf;stroke:#483e37;stroke-width:0.1;stroke-miterlimit:4;stroke-dasharray:none" + height="100%" + width="100%" + transform="translate(7.3407042,-3.3018987)" + id="use964" + xlink:href="#path945-7" + y="0" + x="0" /> + <path + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" + id="path945-7-3" + d="m 13.680506,72.792441 5.722133,12.721313" + style="fill:#e9ddaf;fill-rule:evenodd;stroke:#483e37;stroke-width:0.10072506;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + <use + style="fill:#e9ddaf;stroke:#483e37;stroke-width:0.1;stroke-miterlimit:4;stroke-dasharray:none" + height="100%" + width="100%" + transform="translate(3.6113839,-1.6244246)" + id="use4555" + xlink:href="#path945-7-3" + y="0" + x="0" /> + <use + style="fill:#e9ddaf;stroke:#483e37;stroke-width:0.46230963;stroke-miterlimit:4;stroke-dasharray:none" + height="100%" + width="100%" + transform="matrix(0.83876347,-0.35621468,-0.35621468,0.20706298,35.516026,74.14673)" + id="use4555-6" + xlink:href="#path945-7-3" + y="0" + x="0" /> + <path + inkscape:connector-curvature="0" + id="path922-3" + d="m 20.059508,77.500772 a 1.8947521,1.894752 65.781463 0 1 -0.950728,2.505251 1.8947521,1.894752 65.781463 0 1 -2.505252,-0.950728 1.8947521,1.894752 65.781463 0 1 0.950728,-2.505252 1.8947521,1.894752 65.781463 0 1 2.505252,0.950729 z" + style="opacity:1;vector-effect:none;fill:#e9ddaf;fill-opacity:1;stroke:#483e37;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" /> + <path + style="opacity:1;vector-effect:none;fill:#e9ddaf;fill-opacity:1;stroke:#483e37;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" + d="m 25.586526,74.873639 a 0.31658667,0.31658669 65.781463 0 1 -0.158853,0.418592 0.31658667,0.31658669 65.781463 0 1 -0.418593,-0.158853 0.31658667,0.31658669 65.781463 0 1 0.158854,-0.418592 0.31658667,0.31658669 65.781463 0 1 0.418592,0.158853 z" + id="use4597" + inkscape:connector-curvature="0" /> + <path + style="opacity:1;vector-effect:none;fill:#e9ddaf;fill-opacity:1;stroke:#483e37;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" + d="m 15.492296,71.194187 a 0.31658667,0.31658669 65.781463 0 1 -0.158853,0.418592 0.31658667,0.31658669 65.781463 0 1 -0.418593,-0.158853 0.31658667,0.31658669 65.781463 0 1 0.158854,-0.418592 0.31658667,0.31658669 65.781463 0 1 0.418592,0.158853 z" + id="use4599" + inkscape:connector-curvature="0" /> + <use + style="fill:#e9ddaf;stroke:#483e37;stroke-width:0.1;stroke-miterlimit:4;stroke-dasharray:none" + height="100%" + width="100%" + transform="translate(6.3164879,14.042667)" + id="use4601" + xlink:href="#use4599" + y="0" + x="0" /> + <use + style="fill:#e9ddaf;stroke:#483e37;stroke-width:0.1;stroke-miterlimit:4;stroke-dasharray:none" + height="100%" + width="100%" + transform="translate(-6.1853332,0.01509253)" + id="use4603" + xlink:href="#use4601" + y="0" + x="0" /> + <use + style="fill:#e9ddaf;stroke:#483e37;stroke-width:0.1;stroke-miterlimit:4;stroke-dasharray:none" + height="100%" + width="100%" + transform="translate(-4.253919,-9.45721)" + id="use4605" + xlink:href="#use4603" + y="0" + x="0" /> + <use + style="fill:#e9ddaf;stroke:#483e37;stroke-width:0.1;stroke-miterlimit:4;stroke-dasharray:none" + height="100%" + width="100%" + transform="translate(10.335747,-4.6490893)" + id="use4607" + xlink:href="#use4605" + y="0" + x="0" /> + <use + style="fill:#e9ddaf;stroke:#483e37;stroke-width:0.1;stroke-miterlimit:4;stroke-dasharray:none" + height="100%" + width="100%" + transform="translate(4.2528614,9.4548607)" + id="use4609" + xlink:href="#use4607" + y="0" + x="0" /> + <path + inkscape:connector-curvature="0" + id="path922-3-5" + d="m 19.197688,77.888425 a 0.94976008,0.94976008 0 0 1 -0.476561,1.255778 0.94976008,0.94976008 0 0 1 -1.255778,-0.476561 0.94976008,0.94976008 0 0 1 0.476561,-1.255778 0.94976008,0.94976008 0 0 1 1.255778,0.476561 z" + style="opacity:1;vector-effect:none;fill:#e9ddaf;fill-opacity:1;stroke:#483e37;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" /> + <use + style="fill:#e9ddaf;stroke:#483e37;stroke-width:0.1;stroke-miterlimit:4;stroke-dasharray:none" + height="100%" + width="100%" + transform="translate(3.381091,7.5167623)" + id="use5318" + xlink:href="#use964" + y="0" + x="0" /> + <path + id="path4515" + d="m 20.539529,74.318259 c -0.554039,0.768715 -0.839134,2.270931 -0.490049,3.047011 0.356245,0.791994 1.68406,1.748123 2.604977,1.654849 1.135615,-0.640224 1.959929,-2.604168 2.077041,-3.760852 -0.973169,-0.701396 -2.916783,-1.147968 -4.191969,-0.941008 z m 0.226674,0.824329 c 0.853696,-0.138548 2.154856,0.16038 2.806362,0.629939 -0.0784,0.774366 -0.63026,2.089116 -1.39052,2.517729 -0.616528,0.06244 -1.505286,-0.577681 -1.743782,-1.107899 -0.233704,-0.519565 -0.04297,-1.525135 0.32794,-2.039769 z" + style="fill:#e9ddaf;fill-opacity:1;stroke:#483e37;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + inkscape:connector-curvature="0" /> + <use + style="fill:#e9ddaf;stroke:#483e37;stroke-width:0.1;stroke-miterlimit:4;stroke-dasharray:none" + height="100%" + width="100%" + transform="matrix(-0.66344221,0.74822754,0.74822754,0.66344221,-28.063685,12.623235)" + id="use5298" + xlink:href="#path4515" + y="0" + x="0" /> + <use + style="fill:#e9ddaf;stroke:#483e37;stroke-width:0.1;stroke-miterlimit:4;stroke-dasharray:none" + height="100%" + width="100%" + transform="rotate(90.000003,18.244948,78.249795)" + id="use5300" + xlink:href="#path4515" + y="0" + x="0" /> + <use + style="fill:#e9ddaf;stroke:#483e37;stroke-width:0.1;stroke-miterlimit:4;stroke-dasharray:none" + height="100%" + width="100%" + transform="matrix(0.66344221,-0.74822754,-0.74822754,-0.66344221,64.750099,143.95093)" + id="use5302" + xlink:href="#use5300" + y="0" + x="0" /> + <use + style="fill:#e9ddaf;stroke:#483e37;stroke-width:0.1;stroke-miterlimit:4;stroke-dasharray:none" + height="100%" + width="100%" + transform="translate(-5.6969953,-12.665431)" + id="use5320" + xlink:href="#use4555-6" + y="0" + x="0" /> + <use + style="fill:#e9ddaf;stroke:#483e37;stroke-width:0.1;stroke-miterlimit:4;stroke-dasharray:none" + height="100%" + width="100%" + id="use5304" + xlink:href="#use5302" + y="0" + x="0" /> + <use + style="fill:#e9ddaf;stroke:#483e37;stroke-width:0.1;stroke-miterlimit:4;stroke-dasharray:none" + height="100%" + width="100%" + transform="translate(3.381091,7.5167623)" + id="use5316" + xlink:href="#path945-7" + y="0" + x="0" /> + <use + style="fill:#e9ddaf;stroke:#483e37;stroke-width:0.1;stroke-miterlimit:4;stroke-dasharray:none" + height="100%" + width="100%" + id="use5312" + xlink:href="#use5298" + y="0" + x="0" /> + <path + style="opacity:1;vector-effect:none;fill:#e9ddaf;fill-opacity:1;stroke:#483e37;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" + d="m 18.62024,78.148162 a 0.31658667,0.31658669 65.781463 0 1 -0.158853,0.418592 0.31658667,0.31658669 65.781463 0 1 -0.418593,-0.158853 0.31658667,0.31658669 65.781463 0 1 0.158854,-0.418592 0.31658667,0.31658669 65.781463 0 1 0.418592,0.158853 z" + id="use5330" + inkscape:connector-curvature="0" /> + <use + style="fill:#e9ddaf;stroke:#483e37" + height="100%" + width="100%" + transform="translate(-13.995179,6.2951259)" + id="use1241" + xlink:href="#use4597" + y="0" + x="0" /> + </g> + <path + id="path4526" + style="fill:#e9ddaf;fill-opacity:1;fill-rule:evenodd;stroke:#483e37;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:88.80000305;stroke-dasharray:none;stroke-opacity:1;paint-order:normal" + d="M 24.217169,91.310568 C 22.777854,81.063399 18.838937,81.485083 13.355752,61.08567 c 1.143982,-1.913891 5.970334,-1.676019 7.722349,-2.014342 -2.434138,-0.210237 -5.086646,-0.261259 -6.103196,-1.507839 -1.141533,0.419744 -2.648436,1.091092 -3.819254,1.923402 C 9.9923988,56.07454 9.3055936,54.258708 7.8389986,52.134506 9.2620572,49.678852 6.5766817,49.695955 5.6575486,50.167435 l -0.093133,0.04201 c -0.9617574,0.376988 -2.7513472,2.378535 0.031365,2.936971 0.6217684,2.505302 1.5284587,4.221945 3.3166523,7.352385 C 7.513605,60.825653 6.0125068,61.511215 4.9423395,62.089165 5.2040545,63.67625 3.4867829,65.698474 2.0333933,67.66237 3.4465613,66.572887 6.46248,62.797375 8.6543552,63.206465 20.31784,80.817948 17.394823,83.491678 24.124036,91.35258 Z" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccccccccccccc" + inkscape:export-filename="/home/nsensfel/to-logo.png" + inkscape:export-xdpi="105.84057" + inkscape:export-ydpi="105.84057" /> + <path + style="fill:#e9ddaf;fill-opacity:0;fill-rule:evenodd;stroke:#483e37;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 8.866465,60.629712 c 1.0874261,-0.307119 1.795865,-0.735448 2.499434,-1.165339" + id="path4547" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" + inkscape:export-filename="/home/nsensfel/to-logo.png" + inkscape:export-xdpi="105.84057" + inkscape:export-ydpi="105.84057" /> + <use + style="fill:#e9ddaf;stroke:#483e37" + x="0" + y="0" + xlink:href="#path4547" + id="use4564" + transform="translate(-0.28115019,-0.49330547)" + width="100%" + height="100%" + inkscape:export-filename="/home/nsensfel/to-logo.png" + inkscape:export-xdpi="105.84057" + inkscape:export-ydpi="105.84057" /> + <use + style="fill:#e9ddaf;stroke:#483e37" + x="0" + y="0" + xlink:href="#use4564" + id="use4566" + transform="translate(-0.23254041,-0.51549772)" + width="100%" + height="100%" + inkscape:export-filename="/home/nsensfel/to-logo.png" + inkscape:export-xdpi="105.84057" + inkscape:export-ydpi="105.84057" /> + <use + style="fill:#e9ddaf;stroke:#483e37" + x="0" + y="0" + xlink:href="#use4566" + id="use4568" + transform="translate(-0.23254041,-0.51549772)" + width="100%" + height="100%" + inkscape:export-filename="/home/nsensfel/to-logo.png" + inkscape:export-xdpi="105.84057" + inkscape:export-ydpi="105.84057" /> + <use + style="fill:#e9ddaf;stroke:#483e37" + x="0" + y="0" + xlink:href="#use4568" + id="use4570" + transform="translate(-0.23254041,-0.51549772)" + width="100%" + height="100%" + inkscape:export-filename="/home/nsensfel/to-logo.png" + inkscape:export-xdpi="105.84057" + inkscape:export-ydpi="105.84057" /> + <use + style="fill:#e9ddaf;stroke:#483e37" + x="0" + y="0" + xlink:href="#use4570" + id="use4572" + transform="translate(-0.23254041,-0.51549772)" + width="100%" + height="100%" + inkscape:export-filename="/home/nsensfel/to-logo.png" + inkscape:export-xdpi="105.84057" + inkscape:export-ydpi="105.84057" /> + <use + style="fill:#e9ddaf;stroke:#483e37" + x="0" + y="0" + xlink:href="#use4572" + id="use4574" + transform="translate(-0.23254041,-0.51549772)" + width="100%" + height="100%" + inkscape:export-filename="/home/nsensfel/to-logo.png" + inkscape:export-xdpi="105.84057" + inkscape:export-ydpi="105.84057" /> + <use + style="fill:#e9ddaf;stroke:#483e37" + x="0" + y="0" + xlink:href="#use4574" + id="use4576" + transform="translate(-0.23254041,-0.51549772)" + width="100%" + height="100%" + inkscape:export-filename="/home/nsensfel/to-logo.png" + inkscape:export-xdpi="105.84057" + inkscape:export-ydpi="105.84057" /> + <use + style="fill:#e9ddaf;stroke:#483e37" + x="0" + y="0" + xlink:href="#use4576" + id="use4578" + transform="translate(-0.23254041,-0.51549772)" + width="100%" + height="100%" + inkscape:export-filename="/home/nsensfel/to-logo.png" + inkscape:export-xdpi="105.84057" + inkscape:export-ydpi="105.84057" /> + <use + style="fill:#e9ddaf;stroke:#483e37" + x="0" + y="0" + xlink:href="#use4578" + id="use4580" + transform="translate(-0.23254041,-0.51549772)" + width="100%" + height="100%" + inkscape:export-filename="/home/nsensfel/to-logo.png" + inkscape:export-xdpi="105.84057" + inkscape:export-ydpi="105.84057" /> + <use + style="fill:#e9ddaf;stroke:#483e37" + x="0" + y="0" + xlink:href="#use4580" + id="use4582" + transform="translate(-0.23254041,-0.51549772)" + width="100%" + height="100%" + inkscape:export-filename="/home/nsensfel/to-logo.png" + inkscape:export-xdpi="105.84057" + inkscape:export-ydpi="105.84057" /> + <use + style="fill:#e9ddaf;stroke:#483e37" + x="0" + y="0" + xlink:href="#use4582" + id="use4584" + transform="translate(-0.23254041,-0.51549772)" + width="100%" + height="100%" + inkscape:export-filename="/home/nsensfel/to-logo.png" + inkscape:export-xdpi="105.84057" + inkscape:export-ydpi="105.84057" /> + <use + style="fill:#e9ddaf;stroke:#483e37" + x="0" + y="0" + xlink:href="#use4584" + id="use4586" + transform="translate(-0.23254041,-0.51549772)" + width="100%" + height="100%" + inkscape:export-filename="/home/nsensfel/to-logo.png" + inkscape:export-xdpi="105.84057" + inkscape:export-ydpi="105.84057" /> + <use + style="fill:#e9ddaf;stroke:#483e37" + x="0" + y="0" + xlink:href="#use4586" + id="use4588" + transform="translate(-0.23254041,-0.51549772)" + width="100%" + height="100%" + inkscape:export-filename="/home/nsensfel/to-logo.png" + inkscape:export-xdpi="105.84057" + inkscape:export-ydpi="105.84057" /> + <use + style="fill:#e9ddaf;stroke:#483e37" + x="0" + y="0" + xlink:href="#use4588" + id="use4590" + transform="translate(-0.18853905,-0.41795521)" + width="100%" + height="100%" + inkscape:export-filename="/home/nsensfel/to-logo.png" + inkscape:export-xdpi="105.84057" + inkscape:export-ydpi="105.84057" /> + <use + style="fill:#e9ddaf;stroke:#483e37" + x="0" + y="0" + xlink:href="#use4590" + id="use4592" + width="100%" + height="100%" + transform="translate(-0.18852308,-0.41791898)" + inkscape:export-filename="/home/nsensfel/to-logo.png" + inkscape:export-xdpi="105.84057" + inkscape:export-ydpi="105.84057" /> + <path + style="fill:#e9ddaf;fill-opacity:0;fill-rule:evenodd;stroke:#483e37;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 8.6947481,63.170285 c 1.4862079,0.41277 4.1804319,-1.135981 4.5739909,-2.132106" + id="path4547-3" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" + inkscape:export-filename="/home/nsensfel/to-logo.png" + inkscape:export-xdpi="105.84057" + inkscape:export-ydpi="105.84057" /> + <path + style="fill:#e9ddaf;fill-rule:evenodd;stroke:#483e37;stroke-width:0.05;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 11.214398,62.734371 24.13785,91.255448" + id="path4609" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" + inkscape:export-filename="/home/nsensfel/to-logo.png" + inkscape:export-xdpi="105.84057" + inkscape:export-ydpi="105.84057" /> + <g + aria-label="acticians" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:125%;font-family:Bubble_Runes;-inkscape-font-specification:Bubble_Runes;letter-spacing:0px;word-spacing:0px;fill:#e9ddaf;fill-opacity:1;stroke:#483e37;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill" + id="text1280-3" + inkscape:export-filename="/home/nsensfel/to-logo.png" + inkscape:export-xdpi="105.84057" + inkscape:export-ydpi="105.84057"> + <path + d="m 21.4223,68.175719 h -1.405599 q -0.172254,0 -0.289388,-0.199815 -0.09646,-0.165365 -0.07579,-0.234267 0.0069,-0.03445 0.03445,-0.110243 -0.813042,0.606337 -1.474501,0.606337 -0.764811,0 -1.247124,-0.344509 -0.551215,-0.385851 -0.551215,-1.123102 0,-1.364257 1.226454,-1.694986 1.09554,-0.296279 1.405599,-0.434082 0.447862,-0.199816 0.647678,-0.571886 -0.571886,-0.33762 -1.316027,-0.33762 -0.620117,0 -1.577854,0.254937 0.847494,-0.785481 2.16352,-0.785481 0.647678,0 1.343587,0.234266 0.461643,0.220486 0.461643,0.744141 V 67.4867 q 0,0.03445 0.0689,0.124024 0.165365,0.454752 0.585667,0.564995 z m -1.729437,-1.295355 v -2.177301 q -0.323839,0.33762 -0.744141,0.482314 -0.847494,0.296278 -0.950846,0.36518 -0.392741,0.268717 -0.392741,0.902615 0,0.930175 0.902615,0.930175 0.558105,0 1.185113,-0.502983 z" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:14.11111069px;font-family:'Dumbledor 3';-inkscape-font-specification:'Dumbledor 3, ';fill:#e9ddaf;fill-opacity:1;stroke:#483e37;stroke-width:0.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill" + id="path4563" + inkscape:connector-curvature="0" /> + <path + d="m 26.183422,66.76323 q -0.571886,1.543403 -2.046387,1.543403 -1.260904,0 -1.956814,-0.72347 -0.695909,-0.72347 -0.695909,-1.984375 0,-1.026638 0.854384,-1.688097 0.771701,-0.599446 1.839681,-0.599446 0.427191,0 1.10932,0.261827 0.785482,0.303168 0.785482,0.647678 0,0.110243 -0.440972,0.406521 -0.37207,0.248047 -0.564996,0.337619 0.0689,-0.172254 0.0689,-0.323838 0,-0.365181 -0.3514,-0.592557 -0.303168,-0.199815 -0.689019,-0.199815 -0.695909,0 -1.08865,0.633897 -0.330729,0.537435 -0.330729,1.274685 0,0.799263 0.496094,1.343588 0.509874,0.564995 1.302246,0.564995 0.310058,0 0.778591,-0.206705 0.571886,-0.254938 0.930176,-0.69591 z" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:14.11111069px;font-family:'Dumbledor 3';-inkscape-font-specification:'Dumbledor 3, ';fill:#e9ddaf;fill-opacity:1;stroke:#483e37;stroke-width:0.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill" + id="path4565" + inkscape:connector-curvature="0" /> + <path + d="m 30.923873,68.18261 q -0.310058,0.02067 -0.585666,0.02067 -1.329807,0 -1.887912,-0.413411 -0.654568,-0.482314 -0.654568,-1.756999 h 0.0069 l 0.0069,-2.067057 h -1.143772 l 0.206706,-0.489204 q 0.137804,-0.103353 0.137804,-0.275607 0,-0.04134 -0.0069,-0.124024 -0.0069,-0.08957 -0.0069,-0.130913 0,-0.137804 0.05512,-0.248047 0.268717,0.502984 0.757921,0.578776 l 0.0069,-1.260905 q 0,-0.427192 -0.289388,-0.571886 -0.186035,-0.05512 -0.268717,-0.110243 -0.130914,-0.05512 -0.427192,-0.406521 h 2.060167 v 2.397786 h 2.018826 l -0.3514,0.640788 h -1.667426 v 2.18419 q 0,0.840604 0.275607,1.129992 0.34451,0.36518 0.420302,0.413411 0.37207,0.241157 1.336697,0.489204 z" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:14.11111069px;font-family:'Dumbledor 3';-inkscape-font-specification:'Dumbledor 3, ';fill:#e9ddaf;fill-opacity:1;stroke:#483e37;stroke-width:0.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill" + id="path4567" + inkscape:connector-curvature="0" /> + <path + d="m 33.156295,62.015889 q 0,0.482313 -0.695909,0.551215 -0.654568,0 -0.72347,-0.537435 0,-0.516764 0.7028,-0.544325 0.633897,-0.02756 0.716579,0.530545 z m 0.06201,1.426269 v 4.051432 q 0,0.165365 0.04134,0.254938 0.02067,0.08268 0.392741,0.434082 h -1.956814 l 0.316949,-0.310059 q 0.130913,-0.165365 0.130913,-0.378961 v -2.962782 q 0,-0.206705 -0.303168,-0.620117 -0.282498,-0.38585 -0.454753,-0.475423 z" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:14.11111069px;font-family:'Dumbledor 3';-inkscape-font-specification:'Dumbledor 3, ';fill:#e9ddaf;fill-opacity:1;stroke:#483e37;stroke-width:0.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill" + id="path4569" + inkscape:connector-curvature="0" /> + <path + d="m 38.833813,66.76323 q -0.571886,1.543403 -2.046387,1.543403 -1.260905,0 -1.956814,-0.72347 -0.695909,-0.72347 -0.695909,-1.984375 0,-1.026638 0.854383,-1.688097 0.771702,-0.599446 1.839681,-0.599446 0.427192,0 1.109321,0.261827 0.785482,0.303168 0.785482,0.647678 0,0.110243 -0.440972,0.406521 -0.372071,0.248047 -0.564996,0.337619 0.0689,-0.172254 0.0689,-0.323838 0,-0.365181 -0.3514,-0.592557 -0.303168,-0.199815 -0.689019,-0.199815 -0.695909,0 -1.08865,0.633897 -0.330729,0.537435 -0.330729,1.274685 0,0.799263 0.496093,1.343588 0.509875,0.564995 1.302246,0.564995 0.310059,0 0.778592,-0.206705 0.571886,-0.254938 0.930176,-0.69591 z" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:14.11111069px;font-family:'Dumbledor 3';-inkscape-font-specification:'Dumbledor 3, ';fill:#e9ddaf;fill-opacity:1;stroke:#483e37;stroke-width:0.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill" + id="path4571" + inkscape:connector-curvature="0" /> + <path + d="m 41.314281,62.015889 q 0,0.482313 -0.695909,0.551215 -0.654568,0 -0.72347,-0.537435 0,-0.516764 0.702799,-0.544325 0.633898,-0.02756 0.71658,0.530545 z m 0.06201,1.426269 v 4.051432 q 0,0.165365 0.04134,0.254938 0.02067,0.08268 0.392741,0.434082 h -1.956814 l 0.316949,-0.310059 Q 40.30142,67.707186 40.30142,67.49359 v -2.962782 q 0,-0.206705 -0.303168,-0.620117 -0.282498,-0.38585 -0.454753,-0.475423 z" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:14.11111069px;font-family:'Dumbledor 3';-inkscape-font-specification:'Dumbledor 3, ';fill:#e9ddaf;fill-opacity:1;stroke:#483e37;stroke-width:0.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill" + id="path4573" + inkscape:connector-curvature="0" /> + <path + d="m 47.301857,68.175719 h -1.405599 q -0.172255,0 -0.289388,-0.199815 -0.09646,-0.165365 -0.07579,-0.234267 0.0069,-0.03445 0.03445,-0.110243 -0.813043,0.606337 -1.474501,0.606337 -0.764811,0 -1.247124,-0.344509 -0.551216,-0.385851 -0.551216,-1.123102 0,-1.364257 1.226454,-1.694986 1.095541,-0.296279 1.405599,-0.434082 0.447863,-0.199816 0.647678,-0.571886 -0.571886,-0.33762 -1.316026,-0.33762 -0.620117,0 -1.577854,0.254937 0.847494,-0.785481 2.16352,-0.785481 0.647678,0 1.343587,0.234266 0.461643,0.220486 0.461643,0.744141 V 67.4867 q 0,0.03445 0.0689,0.124024 0.165364,0.454752 0.585666,0.564995 z m -1.729438,-1.295355 v -2.177301 q -0.323839,0.33762 -0.74414,0.482314 -0.847494,0.296278 -0.950847,0.36518 -0.392741,0.268717 -0.392741,0.902615 0,0.930175 0.902615,0.930175 0.558106,0 1.185113,-0.502983 z" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:14.11111069px;font-family:'Dumbledor 3';-inkscape-font-specification:'Dumbledor 3, ';fill:#e9ddaf;fill-opacity:1;stroke:#483e37;stroke-width:0.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill" + id="path4575" + inkscape:connector-curvature="0" /> + <path + d="m 52.621084,68.272182 h -1.839681 l 0.02067,-0.482313 q 0.564996,-1.040419 0.564996,-2.204861 0,-1.515842 -1.378039,-1.515842 -0.310058,0 -0.72347,0.254937 -0.35829,0.220486 -0.35829,0.37896 v 2.604492 q 0,0.206706 0.130914,0.372071 l 0.392741,0.261827 0.06201,0.330729 h -2.129069 l 0.323839,-0.310059 q 0.144694,-0.165364 0.144694,-0.37896 V 64.21386 q 0,-0.248047 -0.461643,-0.69591 h 1.536512 v 0.378961 q 0.757921,-0.468533 1.743219,-0.468533 1.061089,0 1.736328,1.109321 0.172255,0.461642 0.172255,1.061089 0,0.475423 -0.502984,1.570964 l -0.02067,0.124023 q 0.0069,0.172255 0.454753,0.592556 z" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:14.11111069px;font-family:'Dumbledor 3';-inkscape-font-specification:'Dumbledor 3, ';fill:#e9ddaf;fill-opacity:1;stroke:#483e37;stroke-width:0.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill" + id="path4577" + inkscape:connector-curvature="0" /> + <path + d="m 57.49245,66.797681 q 0,0.7028 -0.74414,1.123101 -0.633898,0.35829 -1.41938,0.35829 -0.950846,0 -1.522732,-0.37207 -0.682129,-0.440972 -0.682129,-1.343587 0.282498,-0.05512 0.372071,-0.09646 0.275607,-0.08957 0.668348,-0.234266 -0.05512,0.151584 -0.05512,0.303168 0,0.516764 0.530545,0.971517 0.268718,0.234266 0.689019,0.234266 0.434082,0 0.73036,-0.186035 0.35829,-0.220486 0.35829,-0.627007 0,-0.461643 -0.888834,-0.737251 -0.192926,-0.06201 -1.267795,-0.37207 -0.751031,-0.36518 -0.751031,-1.109321 0,-0.695909 0.661458,-1.08176 0.537435,-0.316948 1.295356,-0.316948 1.660536,0 1.874132,1.316026 -0.564996,0.124024 -0.923286,0.378961 -0.06201,-1.157552 -1.005967,-1.157552 -0.826823,0 -0.826823,0.916395 0,0.461643 1.322916,0.751031 1.584744,0.351399 1.584744,1.281575 z" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:14.11111069px;font-family:'Dumbledor 3';-inkscape-font-specification:'Dumbledor 3, ';fill:#e9ddaf;fill-opacity:1;stroke:#483e37;stroke-width:0.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill" + id="path4579" + inkscape:connector-curvature="0" /> + </g> + </g> +</svg> diff --git a/src/asset/www/svg/to-logo.svg b/src/asset/www/svg/to-logo.svg index eccdd5a..4918a82 100644 --- a/src/asset/www/svg/to-logo.svg +++ b/src/asset/www/svg/to-logo.svg @@ -10,9 +10,9 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="61.50248mm" + width="65.628479mm" height="41.997131mm" - viewBox="0 0 61.502477 41.997132" + viewBox="0 0 65.628476 41.997132" version="1.1" id="svg8" inkscape:version="0.92.2 5c3e80d, 2017-08-06" @@ -30,7 +30,7 @@ inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="2.8284271" - inkscape:cx="129.47331" + inkscape:cx="130.18042" inkscape:cy="79.407794" inkscape:document-units="mm" inkscape:current-layer="layer1" diff --git a/src/battle/src/View/Controlled/CharacterCard.elm b/src/battle/src/View/Controlled/CharacterCard.elm index b53ae57..0e29502 100644 --- a/src/battle/src/View/Controlled/CharacterCard.elm +++ b/src/battle/src/View/Controlled/CharacterCard.elm @@ -37,6 +37,8 @@ get_name : ( get_name char = (Html.div [ + (Html.Attributes.class "battle-info-card-name"), + (Html.Attributes.class "battle-info-card-text-field"), (Html.Attributes.class "battle-character-card-name") ] [ @@ -487,6 +489,8 @@ get_minimal_html : ( get_minimal_html player_ix char = (Html.div [ + (Html.Attributes.class "battle-info-card"), + (Html.Attributes.class "battle-info-card-minimal"), (Html.Attributes.class "battle-character-card"), (Html.Attributes.class "battle-character-card-minimal") ] @@ -494,10 +498,18 @@ get_minimal_html player_ix char = (get_name char), (Html.div [ + (Html.Attributes.class "battle-info-card-top"), (Html.Attributes.class "battle-character-card-top") ] [ - (View.Character.get_portrait_html player_ix char), + (Html.div + [ + (Html.Attributes.class "battle-info-card-picture") + ] + [ + (View.Character.get_portrait_html player_ix char) + ] + ), (get_health_bar char), (get_inactive_movement_bar char), (get_statuses char) @@ -527,10 +539,18 @@ get_summary_html char_turn player_ix char = (get_name char), (Html.div [ + (Html.Attributes.class "battle-info-card-top"), (Html.Attributes.class "battle-character-card-top") ] [ - (View.Character.get_portrait_html player_ix char), + (Html.div + [ + (Html.Attributes.class "battle-info-card-picture") + ] + [ + (View.Character.get_portrait_html player_ix char) + ] + ), (get_health_bar char), (get_movement_bar char_turn char), (get_statuses char) @@ -558,16 +578,25 @@ get_full_html player_ix char = in (Html.div [ + (Html.Attributes.class "battle-info-card"), (Html.Attributes.class "battle-character-card") ] [ (get_name char), (Html.div [ + (Html.Attributes.class "battle-info-card-top"), (Html.Attributes.class "battle-character-card-top") ] [ - (View.Character.get_portrait_html player_ix char), + (Html.div + [ + (Html.Attributes.class "battle-info-card-picture") + ] + [ + (View.Character.get_portrait_html player_ix char) + ] + ), (get_health_bar char), (get_inactive_movement_bar char), (get_statuses char) diff --git a/src/battle/src/View/SubMenu/Status/TileInfo.elm b/src/battle/src/View/SubMenu/Status/TileInfo.elm index d08f937..920b5ce 100644 --- a/src/battle/src/View/SubMenu/Status/TileInfo.elm +++ b/src/battle/src/View/SubMenu/Status/TileInfo.elm @@ -27,6 +27,7 @@ get_icon tile = (Html.div [ (Html.Attributes.class "battle-tile-card-icon"), + (Html.Attributes.class "battle-info-card-picture"), (Html.Attributes.class ( "battle-tile-variant-" @@ -48,6 +49,8 @@ get_name model tile = (Just tile_type) -> (Html.div [ + (Html.Attributes.class "battle-info-card-name"), + (Html.Attributes.class "battle-info-card-text-field"), (Html.Attributes.class "battle-tile-card-name") ] [ @@ -68,6 +71,7 @@ get_cost tile = in (Html.div [ + (Html.Attributes.class "battle-info-card-text-field"), (Html.Attributes.class "battle-tile-card-cost") ] [ @@ -82,6 +86,7 @@ get_location tile = in (Html.div [ + (Html.Attributes.class "battle-info-card-text-field"), (Html.Attributes.class "battle-tile-card-location") ] [ @@ -110,12 +115,14 @@ get_html model loc = (Just tile) -> (Html.div [ + (Html.Attributes.class "battle-info-card"), (Html.Attributes.class "battle-tile-card") ] [ (get_name model tile), (Html.div [ + (Html.Attributes.class "battle-info-card-top"), (Html.Attributes.class "battle-tile-card-top") ] [ diff --git a/src/battle/www/index.html b/src/battle/www/index.html index 16c2e21..942de3b 100644 --- a/src/battle/www/index.html +++ b/src/battle/www/index.html @@ -1,8 +1,8 @@ <!DOCTYPE html> <html> <head> - <link rel="stylesheet" type="text/css" href="../global/style.css"> - <link rel="stylesheet" type="text/css" href="../battle/style.css"> + <link rel="stylesheet" type="text/css" href="../css/global.css"> + <link rel="stylesheet" type="text/css" href="../css/battle.css"> <link rel="stylesheet" type="text/css" href="../asset/characters.css"> <link rel="stylesheet" type="text/css" href="../asset/armors.css"> <link rel="icon" type="image/x-icon" href="/favicon.ico"> diff --git a/src/css/Makefile b/src/css/Makefile new file mode 100644 index 0000000..b8e0575 --- /dev/null +++ b/src/css/Makefile @@ -0,0 +1,37 @@ +################################################################################ +## CONFIG ###################################################################### +################################################################################ +SRC_DIR ?= ${CURDIR}/src/ +TILE_CLASSES_DIR ?= ${CURDIR}/tile/class +TILE_FRONTIER_DIR ?= ${CURDIR}/tile/frontier +WWW_DIR ?= ${CURDIR}/www/ + +SCSS_EXEC = scss +################################################################################ +## MAKEFILE MAGIC ############################################################## +################################################################################ +#INCLUDE_SCSS = $(shell find $(SRC_DIR)/shared/ -name ".scss") +INCLUDE_SCSS = $(shell find $(SRC_DIR) -name "*.scss") +SCSS_FILES = $(wildcard $(SRC_DIR)/*.scss) +CSS_FILES = $(patsubst $(SRC_DIR)/%.scss,$(WWW_DIR)/%.css,$(SCSS_FILES)) + +################################################################################ +## SANITY CHECKS ############################################################### +################################################################################ + +################################################################################ +## TARGET RULES ################################################################ +################################################################################ +build: $(CSS_FILES) + +clean: + rm -f $(CSS_FILES) + +reset: + $(MAKE) -C clean + +################################################################################ +## INTERNAL RULES ############################################################## +################################################################################ +$(CSS_FILES): $(WWW_DIR)/%.css: $(SRC_DIR)/%.scss $(INCLUDE_SCSS) + $(SCSS_EXEC) $< > $@ diff --git a/src/css/src/battle.scss b/src/css/src/battle.scss new file mode 100644 index 0000000..c671396 --- /dev/null +++ b/src/css/src/battle.scss @@ -0,0 +1,35 @@ +@import 'shared/colors'; +@import 'shared/shadows'; + +* +{ + color: $GOLD-0; + @include text-shadow(1px, $BROWN-0, 0.5); +} + +body +{ + background-color: $BROWN-2; +} + +button +{ + flex: 1; + + text-transform: uppercase; + background-color: $BROWN-3; + border-color: $BROWN-1; +} + +button + button +{ + margin-left: 0.5em; +} + +@import 'battle/controlled-panel'; +@import 'battle/info-card'; +@import 'battle/keyframes'; +@import 'battle/main-menu'; +@import 'battle/map'; +@import 'battle/message-board'; +@import 'battle/sub-menus'; diff --git a/src/css/src/battle/constants.scss b/src/css/src/battle/constants.scss new file mode 100644 index 0000000..06a1e6b --- /dev/null +++ b/src/css/src/battle/constants.scss @@ -0,0 +1,15 @@ +$MENU-MARGIN: 0.5em; +$MENU-PADDING: 0.5em; +$MENU-BORDER: 0.2em; + +$MAIN-MENU-HEIGHT: 3em; +$MESSAGE-BOARD-HEIGHT: 10em; +$CONTROLLED-MENU-WIDTH: 15em; +$SUB-MENU-WIDTH: 20em; + +$MENU-EXTRA: $MENU-MARGIN;// + $MENU-PADDING + $MENU-BORDER; + +$NEXT-TO-CONTROLLED-MENU: $CONTROLLED-MENU-WIDTH + $MENU-EXTRA; +$NEXT-TO-SUB-MENU: $SUB-MENU-WIDTH + $MENU-EXTRA; +$BELOW-MAIN-MENU: $MAIN-MENU-HEIGHT + $MENU-EXTRA; +$ABOVE-MESSAGE-BOARD: $MESSAGE-BOARD-HEIGHT + $MENU-EXTRA; diff --git a/src/css/src/battle/controlled-panel.scss b/src/css/src/battle/controlled-panel.scss new file mode 100644 index 0000000..7ac39f8 --- /dev/null +++ b/src/css/src/battle/controlled-panel.scss @@ -0,0 +1,45 @@ +@import 'constants'; +@import 'menu-mixins'; + +.battle-controlled +{ + position: absolute; + display: block; + left: 0; + top: $BELOW-MAIN-MENU; + bottom: $ABOVE-MESSAGE-BOARD; + + width: $CONTROLLED-MENU-WIDTH; + + @include menu-background-color(); + + @include menu-padding(); + + @include menu-border(); + + border-top-left-radius: 0; + border-bottom-left-radius: 0; + border-left: none; + + display: flex; + flex-flow: column; + justify-content: space-between; +} + +.battle-controlled-actions +{ + display: flex; + flex-flow: row wrap; + + align-items: center; + justify-content: center; +} + +.battle-end-turn-button +{ + animation-name: reverse-brown-alarm-bg; + animation-duration: 2s; + animation-iteration-count: infinite; +} + +@import 'controlled-panel/manual-control'; diff --git a/src/css/src/battle/controlled-panel/manual-control.scss b/src/css/src/battle/controlled-panel/manual-control.scss new file mode 100644 index 0000000..765514b --- /dev/null +++ b/src/css/src/battle/controlled-panel/manual-control.scss @@ -0,0 +1,58 @@ +.battle-manual-controls +{ + width: 96px; + height: 96px; + display: grid; + grid-template: + '. top .' + 'left go right' + '. bottom .'; + margin: auto; +} + +.battle-manual-controls > div +{ + width: 32px; + height: 32px; + background-image: url(/asset/svg/arrowhead.svg); + background-size: 100%; + transition: opacity 0.3s ease-out; + opacity: 0.5; +} + +.battle-manual-controls > div:hover +{ + opacity: 1; +} + +.battle-manual-controls-go +{ + margin: auto; + width: 28px; + height: 28px; + border-radius: 100em; + grid-area: go; +} + +.battle-manual-controls-up +{ + transform: rotate(-90deg); + grid-area: top; +} + +.battle-manual-controls-down +{ + transform: rotate(90deg); + grid-area: bottom; +} + +.battle-manual-controls-left +{ + transform: rotate(180deg); + grid-area: left; +} + +.battle-manual-controls-right +{ + grid-area: right; +} diff --git a/src/css/src/battle/info-card.scss b/src/css/src/battle/info-card.scss new file mode 100644 index 0000000..29e4576 --- /dev/null +++ b/src/css/src/battle/info-card.scss @@ -0,0 +1,104 @@ +@import "../shared/colors"; +@import "../shared/shadows"; + +.battle-info-card +{ + display: flex; + flex-flow: column; +} + +.battle-info-card-top +{ + position: relative; + + margin-top: 0.5em; +} + +.battle-info-card-picture +{ + top: 0; + left: 0; + + box-sizing: border-box; + + border-radius: 5px; + overflow: hidden; + + margin: 0; + + @include box-shadow(2px, $BROWN-0, 1); + + display: inline-block; +} + +.battle-info-card-text-field +{ + display:flex; + justify-content:center; + align-items:center; + border-radius: 5px; + background-color: $BROWN-2; + width: 100%; +} + +.battle-gauge +{ + position: relative; + border-radius: 5px; + border: 2px solid $BROWN-2; + text-align: center; + height: 2em; +} + +.battle-gauge-text +{ + position: absolute; + top: 0; + left: 0; + height: 100%; + width: 100%; + z-index: 1; + + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; +} + +.battle-gauge-bar +{ + position: absolute; + top: 0; + left: 0; + height: 100%; + width: 100%; + z-index: 0; + + border-radius: 5px; + z-index: 0; + transition: width 3s ease-in-out; +} + +.battle-character-card-health, +.battle-tile-card-cost +{ + position: absolute; + left: 100px; + top: 0; + margin-left: 0.5em; + width: calc(100% - 100px - 0.5em); +} + + +.battle-character-card-movement, +.battle-tile-card-location +{ + position: absolute; + left: 100px; + top: calc(1.5em + 1em); + margin-left: 0.5em; + width: calc(100% - 100px - 0.5em); +} + +@import 'info-card/character'; +@import 'info-card/tile'; diff --git a/src/css/src/battle/info-card/character.scss b/src/css/src/battle/info-card/character.scss new file mode 100644 index 0000000..3233be1 --- /dev/null +++ b/src/css/src/battle/info-card/character.scss @@ -0,0 +1,134 @@ +@import "../../shared/colors"; + +.battle-character-portrait +{ + background-size: 100% 100%; + width: 100px; + height: 100px; + overflow: hidden; + cursor: pointer; +} + +.battle-character-portrait * +{ + box-sizing: border-box; + background-size: 100% 100%; + width: inherit; + height: inherit; +} + +.battle-character-portrait-body +{ + z-index: 1; +} + +.battle-character-portrait-armor +{ + position: relative; + z-index: 1; + top: -100%; + background-size: 200% 100%; +} + +.battle-character-portrait-team-0 { background-color: rgba(57, 106, 177, 0.3); } +.battle-character-portrait-team-1 { background-color: rgba(204, 37, 41, 0.3); } +.battle-character-portrait-team-2 { background-color: rgba(62, 150, 81, 0.3); } +.battle-character-portrait-team-3 { background-color: rgba(218, 124, 48, 0.3); } +.battle-character-portrait-team-4 { background-color: rgba(83, 81, 84, 0.3); } +.battle-character-portrait-team-5 { background-color: rgba(107, 76, 154, 0.3); } +.battle-character-portrait-team-6 { background-color: rgba(127, 167, 169, 0.3); } +.battle-character-portrait-team-7 { background-color: rgba(231, 167, 169, 0.3); } + +.battle-character-card-statuses +{ + position: absolute; + left: 100px; + top: calc(2*(1.5em + 0.5em) + 0.7em); + margin-left: 0.5em; + width: calc(100% - 100px - 0.5em); + display: flex; +} + +.battle-character-card-status +{ + height: 1.5em; + width: 1.5em; + background-size: 100%; +} + +.battle-character-card-target-status +{ + background-image: url("/asset/svg/status/target.svg"); +} + +.battle-character-card-commander-status +{ + background-image: url("/asset/svg/status/commander.svg"); +} + +.battle-character-card-health > .battle-gauge-bar +{ + background-color: $RED-3; +} + +.battle-character-card-movement > .battle-gauge-bar +{ + background-color: $BLUE-3; +} + +.battle-character-card-weapon, +.battle-character-card-weapon-summary +{ + display: grid; + + border-radius: 5px; + + padding: 0.3em; + margin-top: 0.3em; +} + +.battle-character-card-weapon +{ + background-color: #6C5D53; +} + +.battle-character-card-weapon-summary +{ + background-color: $BROWN-1; +} + +.battle-character-card-armor +{ + display: grid; + border-radius: 5px; + background-color: $BROWN-2; + + padding: 0.3em; + margin-top: 0.3em; +} + +.battle-character-card-armor-stats +{ + display: flex; + flex-direction: row; + flex-wrap: wrap; +} + +.battle-character-card-stats > *, +.battle-character-card-armor-stats > * +{ + width: 25%; +} + +.battle-character-card-stats +{ + display: flex; + flex-direction: row; + flex-wrap: wrap; + + border-radius: 5px; + background-color: $BROWN-2; + + padding: 0.3em; + margin-top: 0.3em; +} diff --git a/src/css/src/battle/info-card/tile.scss b/src/css/src/battle/info-card/tile.scss new file mode 100644 index 0000000..65ed591 --- /dev/null +++ b/src/css/src/battle/info-card/tile.scss @@ -0,0 +1,12 @@ + +.battle-tile-card-icon +{ + background-size: 400%; + width: 80px; + height: 80px; +} + +.battle-tile-card-top +{ + margin:0.3em; +} diff --git a/src/css/src/battle/keyframes.scss b/src/css/src/battle/keyframes.scss new file mode 100644 index 0000000..049e9d5 --- /dev/null +++ b/src/css/src/battle/keyframes.scss @@ -0,0 +1,79 @@ +@keyframes red-alarm-bg { + 0% {background-color: rgba(255,0,0,0.25);} + 25% {background-color: rgba(255,0,0,1);} + 50% {background-color: rgba(255,0,0,1);} + 100% {background-color: rgba(255,0,0,0.25);} +} + +@keyframes pulsating { + 0% { opacity: 1.0; transform: scale(1);} + 25% { opacity: 1.0; transform: scale(1);} + 30% { opacity: 0.8; transform: scale(1.1);} + 50% { opacity: 1.0; transform: scale(1);} + 100% { opacity: 1.0; transform: scale(1);} +} + +@keyframes strongly-pulsating { + 0% { opacity: 1.0; transform: scale(1);} + 50% { opacity: 0.8; transform: scale(1.5);} + 100% { opacity: 1.0; transform: scale(1);} +} + +@keyframes brown-alarm-bg { + 0% {background-color: #917C6F;} + 25% {background-color: #AC9D93} + 50% {background-color: #AC9D93} + 100% {background-color: #917C6F;} +} + +@keyframes reverse-brown-alarm-bg { + 0% {background-color: #917C6F;} + 50% {background-color: #502D16;} + 100% {background-color: #917C6F;} +} + +@keyframes blue-alarm-bg { + 0% {background-color: rgba(0,0,255,0.2);} + 25% {background-color: rgba(0,0,255,0.8);} + 50% {background-color: rgba(0,0,255,0.8);} + 100% {background-color: rgba(0,0,255,0.2);} +} + +@keyframes blinking { + to { visibility: hidden; } +} + +@keyframes blinking2 { + from { opacity: 1; } + to { opacity: 0; } +} + +@keyframes dodges { + 0% { transform: translate(0, 0); } + 50% { transform: translate(-75%, 0); } + 100% { transform: translate(0, 0); } +} + +@keyframes attacks { + 0% { transform: translate(0, 0); } + 25% { transform: translate(25%, 0); } + 100% { transform: translate(0, 0); } +} + +@keyframes parries { + 0% { transform: translate(0, 0); } + 25% { transform: translate(-25%, 0); } + 50% { transform: translate(50%, 20%); } + 100% { transform: translate(0, 0); } +} + +@keyframes dies { + from { transform: translate(0, 0) rotate(0); } + to { transform: translate(0, 100%) rotate(25deg); } +} + +@keyframes blue-alarm-bd { + 0% {border-color: rgba(0,0,255,0.25);} + 25% {border-color: rgba(0,0,255,1);} + 100% {border-color: rgba(0,0,255,0.25);} +} diff --git a/src/css/src/battle/main-menu.scss b/src/css/src/battle/main-menu.scss new file mode 100644 index 0000000..1dfe02a --- /dev/null +++ b/src/css/src/battle/main-menu.scss @@ -0,0 +1,41 @@ +@import '../shared/colors'; + +@import 'constants'; +@import 'menu-mixins'; + +.battle-main-menu +{ + position: absolute; + top: 0; + left: 0; + right: 0; + + height: $MAIN-MENU-HEIGHT; + + @include menu-background-color(); + + display: flex; + flex-direction: row; + flex-wrap: wrap; + + @include menu-border(); + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; + + @include menu-padding(); + + @include menu-margin(); + + margin-top: 0; + + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: space-between; +} + +.battle-main-menu button:hover +{ + background-color: $BROWN-4; +} diff --git a/src/css/src/battle/map.scss b/src/css/src/battle/map.scss new file mode 100644 index 0000000..c6ab64d --- /dev/null +++ b/src/css/src/battle/map.scss @@ -0,0 +1,83 @@ +@import 'constants'; +@import 'menu-mixins'; + +.battle-container-centerer +{ + position: absolute; + + top: $BELOW-MAIN-MENU; + left: $NEXT-TO-CONTROLLED-MENU; + right: $NEXT-TO-SUB-MENU; + bottom: $ABOVE-MESSAGE-BOARD; + + display: flex; +} + +.battle-container +{ + display: inline-block; + max-height: 100%; + max-width: 100%; + + overflow: scroll; + + margin: auto; + resize: both; + + @include menu-border(); + + @include menu-background-color(); +} + +.battle-actual +{ + display: inline-block; + transform-origin: top left; + + /*** Otherwise, it won't display correctly without 'transform: scale' ***/ + position: relative; +} + +.battle-tiled, .battle-tiled * +{ + height: 32px; + width: 32px; + /** Fixes odd behavior of table cell being resized. **/ + /* min-width: 32px; */ + /* max-width: 32px; */ +} + +.battle-tile-icon, .battle-tile-icon * +{ + z-index: 0; + position: absolute; + background-size: 400%; +} + +.battle-path-icon-below-markers {z-index: 1;} +.battle-marker-icon {z-index: 2;} +.battle-path-icon-above-markers {z-index: 3;} +.battle-character-icon {z-index: 4;} + +.battle-marker-icon, +.battle-character-icon, +.battle-path-icon +{ + position: absolute; +} + +.battle-tiles-layer +{ + /*display: table; */ +} + +.battle-tiles-layer-row +{ + /* display: table-row; */ +} + +@import 'map/animation.scss'; +@import 'map/character.scss'; +@import 'map/marker.scss'; +@import 'map/path.scss'; +@import 'map/variant.scss'; diff --git a/src/css/src/battle/map/animation.scss b/src/css/src/battle/map/animation.scss new file mode 100644 index 0000000..1e8f044 --- /dev/null +++ b/src/css/src/battle/map/animation.scss @@ -0,0 +1,4 @@ +.battle-animated-character-icon +{ + transition: top linear 0.3s, left linear 0.3s; +} diff --git a/src/css/src/battle/map/character.scss b/src/css/src/battle/map/character.scss new file mode 100644 index 0000000..6856f61 --- /dev/null +++ b/src/css/src/battle/map/character.scss @@ -0,0 +1,58 @@ +.battle-character-icon +{ + border-radius: 5px; + height: 38px; + margin-top: -6px; +} + +.battle-character-icon * +{ + position: absolute; + left: 0; + top: 0; + background-size: 100% 100%; + width: inherit; + height: inherit; +} + +.battle-character-icon-enabled +{ + animation-name: pulsating; + animation-duration: 1.5s; + animation-iteration-count: infinite; + transform-origin: center; +} + +.battle-character-icon-banner { z-index: 2; } +.battle-character-icon-head { z-index: 1; } +.battle-character-icon-body { z-index: 0; } + +.battle-character-ally +{ +} + +.battle-character-enemy +{ + transform: scale(-1, 1); +} + +.battle-character-ally.battle-character-icon-disabled +{ + filter: contrast(35%); +} + +.battle-character-targeted +{ + background-color: rgba(255,0,0,0.7); + animation-name: red-alarm-bg; + animation-duration: 5s; + animation-iteration-count: infinite; +} + +.battle-character-selected +{ + animation-name: strongly-pulsating; + animation-duration: 1.5s; + animation-iteration-count: infinite; +} + diff --git a/src/css/src/battle/map/marker.scss b/src/css/src/battle/map/marker.scss new file mode 100644 index 0000000..d6ec557 --- /dev/null +++ b/src/css/src/battle/map/marker.scss @@ -0,0 +1,145 @@ +.battle-marker-icon.battle-navigator-non-interactive +{ + box-sizing: border-box; + width: 12px; + height: 12px; + background-size: 100%; + margin: 10px; +} + +.battle-marker-icon.battle-navigator-interactive +{ + box-sizing: border-box; + width: 24px; + /*min-width: 24px; + max-width: 24px; */ + margin: 4px 0 0 4px; + height: 24px; + border-radius: 4px; + border: none; + box-shadow: + 1px 0px 2px #333, + -1px 0px 2px #333, + 0px 1px 2px #333, + 0px -1px 2px #333; +} + +.battle-can-go-to-can-defend-marker.battle-navigator-interactive +{ + background-color: #FFF; + opacity: 0.3; + transition: opacity 0.3s ease-out; +} + +.battle-can-go-to-cant-defend-marker.battle-navigator-interactive +{ + background: + repeating-linear-gradient( + -55deg, + rgb(255,255,255), + rgb(255,255,255) 3px, + rgba(0,0,0,0) 3px, + rgba(0,0,0,0) 7px + ); + opacity: 0.3; + transition: opacity 0.3s ease-out; +} + +.battle-can-go-to-can-defend-marker.battle-navigator-interactive:hover, +.battle-can-go-to-cant-defend-marker.battle-navigator-interactive:hover +{ + opacity: 0.9; +} + +.battle-can-attack-can-defend-marker.battle-navigator-interactive +{ + background-color: #000; + opacity: 0.7; + width: 28px; + /*min-width: 28px; + max-width: 28px;*/ + height: 28px; + margin: 2px 0 0 2px; + border-radius: 0; +} + +.battle-can-attack-cant-defend-marker.battle-navigator-interactive +{ + background: + repeating-linear-gradient( + -55deg, + rgba(255,255,255,0), + rgba(255,255,255,0) 3px, + rgb(0,0,0) 3px, + rgb(0,0,0) 7px + ); + width: 28px; + /*min-width: 28px; + max-width: 28px;*/ + opacity: 0.7; + height: 28px; + margin: 2px 0 0 2px; + border-radius: 0; +} + +.battle-can-attack-can-defend-marker.battle-navigator-non-interactive +{ + z-index: 5; + background-image: url(/asset/svg/marker/blade.svg); +} + +.battle-can-attack-cant-defend-marker.battle-navigator-non-interactive +{ + z-index: 5; + background-image: + url(/asset/svg/marker/blade.svg), + url(/asset/svg/marker/brokenshield.svg); +} + +.battle-can-go-to-cant-defend-marker.battle-navigator-non-interactive +{ + background-image: + url(/asset/svg/marker/pawprint.svg), + url(/asset/svg/marker/brokenshield.svg); +} + +.battle-can-attack-cant-defend-marker.battle-navigator-non-interactive, +.battle-can-go-to-cant-defend-marker.battle-navigator-non-interactive +{ + width: 24px; + height: 24px; + background-position: top left, bottom right; + background-size: 50%, 50%; + background-repeat: no-repeat, no-repeat; + margin: 2px; +} + +.battle-can-go-to-can-defend-marker.battle-navigator-non-interactive +{ + background-image: url(/asset/svg/marker/pawprint.svg); +} + +.battle-can-attack-can-defend-marker.battle-navigator-non-interactive, +.battle-can-attack-cant-defend-marker.battle-navigator-non-interactive +{ + z-index: 5; +} + +.battle-can-go-to-can-defend-marker, +.battle-can-go-to-cant-defend-marker +{ + z-index: 3; +} + +.battle-cant-defend-marker +{ + background: + repeating-linear-gradient( + -55deg, + rgba(255,255,255,0.3), + rgba(255,255,255,0.3) 3px, + rgba(0,0,0,0.3) 3px, + rgba(0,0,0,0.3) 7px + ); +} + diff --git a/src/css/src/battle/map/path.scss b/src/css/src/battle/map/path.scss new file mode 100644 index 0000000..0d0b97d --- /dev/null +++ b/src/css/src/battle/map/path.scss @@ -0,0 +1,88 @@ +.battle-path-icon +{ + background-image: url("/asset/svg/arrows.svg"); + background-size: 96px 32px; +} + +.battle-path-icon-UR, +.battle-path-icon-LD, +.battle-path-icon-RD, +.battle-path-icon-UL, +.battle-path-icon-LU, +.battle-path-icon-DR, +.battle-path-icon-DL, +.battle-path-icon-RU +{ + /*** Default is -^ ***/ + background-position: 64px 0; +} +/*** DL/RU ***/ + +.battle-path-icon-LU, +.battle-path-icon-DR +{ + transform: rotate(90deg); +} + +.battle-path-icon-RD, +.battle-path-icon-UL +{ + /*** ***/ + transform: scale(1, -1); +} + +.battle-path-icon-UR, +.battle-path-icon-LD +{ + /*** <| ***/ + transform: rotate(180deg); +} + +.battle-path-icon-RR, +.battle-path-icon-LR, +.battle-path-icon-RL, +.battle-path-icon-LL +{ + background-position: 0 0; +} + +.battle-path-icon-markN, +.battle-path-icon-NU, +.battle-path-icon-ND, +.battle-path-icon-NL, +.battle-path-icon-NR +{ + display: none; +} + +.battle-path-icon-UU, +.battle-path-icon-UD, +.battle-path-icon-DU, +.battle-path-icon-DD +{ + background-position: 0 0; + transform: rotate(90deg); +} + +.battle-path-icon-markR, +.battle-path-icon-markL, +.battle-path-icon-markU, +.battle-path-icon-markD +{ + background-position: 32px 0; +} + +.battle-path-icon-markL +{ + transform: rotate(180deg); +} + +.battle-path-icon-markD +{ + transform: rotate(90deg); +} + +.battle-path-icon-markU +{ + transform: rotate(-90deg); +} diff --git a/src/css/src/battle/map/variant.scss b/src/css/src/battle/map/variant.scss new file mode 100644 index 0000000..ca8aa66 --- /dev/null +++ b/src/css/src/battle/map/variant.scss @@ -0,0 +1,33 @@ + +.battle-tile-variant-0 {background-position: 0 0;} +.battle-tile-variant-1 {background-position: 100% 0;} +.battle-tile-variant-2 {background-position: 200% 0;} +.battle-tile-variant-3 {background-position: 300% 0;} + +.battle-tile-variant-4 {background-position: 0 100%;} +.battle-tile-variant-5 {background-position: 100% 100%;} +.battle-tile-variant-6 {background-position: 200% 100%;} +.battle-tile-variant-7 {background-position: 300% 100%;} + +.battle-tile-variant-8 {background-position: 0 200%;} +.battle-tile-variant-9 {background-position: 100% 200%;} +.battle-tile-variant-10 {background-position: 200% 200%;} +.battle-tile-variant-11 {background-position: 300% 200%;} + +.battle-tile-variant-12 {background-position: 0 300%;} +.battle-tile-variant-13 {background-position: 100% 300%;} +.battle-tile-variant-14 {background-position: 200% 300%;} +.battle-tile-variant-15 {background-position: 300% 300%;} + +.battle-tile-icon-bg { z-index: 0; } +.battle-tile-icon-dt { z-index: 9; } + +.battle-tile-icon-f-0 { z-index: 1; } +.battle-tile-icon-f-1 { z-index: 2; } +.battle-tile-icon-f-2 { z-index: 3; } +.battle-tile-icon-f-3 { z-index: 4; } +.battle-tile-icon-f-4 { z-index: 5; } +.battle-tile-icon-f-5 { z-index: 6; } +.battle-tile-icon-f-6 { z-index: 7; } +.battle-tile-icon-f-7 { z-index: 8; } + diff --git a/src/css/src/battle/menu-mixins.scss b/src/css/src/battle/menu-mixins.scss new file mode 100644 index 0000000..f7129a1 --- /dev/null +++ b/src/css/src/battle/menu-mixins.scss @@ -0,0 +1,24 @@ +@import '../shared/colors'; + +@import 'constants'; + +@mixin menu-border () +{ + border: $MENU-BORDER solid $BROWN-1; + border-radius: 15px; +} + +@mixin menu-margin () +{ + margin: $MENU-MARGIN; +} + +@mixin menu-padding () +{ + padding: $MENU-PADDING; +} + +@mixin menu-background-color () +{ + background-color: $BROWN-3; +} diff --git a/src/css/src/battle/message-board.scss b/src/css/src/battle/message-board.scss new file mode 100644 index 0000000..f2be3f7 --- /dev/null +++ b/src/css/src/battle/message-board.scss @@ -0,0 +1,45 @@ +@import 'constants'; +@import 'menu-mixins'; + +.battle-message-board +{ + position: absolute; + bottom: 0; + left: 0; + right: 0; + + height: $MESSAGE-BOARD-HEIGHT; + + @include menu-background-color(); + + @include menu-border(); + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + + @include menu-padding(); + + @include menu-margin(); + margin-bottom: 0; + + display: flex; + flex-flow: row; + justify-content: space-between; + + overflow-y: auto; +} + +/* +.battle-message-board +{ + background: $BROWN-4; + color: $BROWN-0; + line-height: 1.3em; + font-size: 1.2em; + text-shadow: none; +} +*/ + +@import 'message-board/attack'; +@import 'message-board/error'; +@import 'message-board/help'; diff --git a/src/css/src/battle/message-board/attack.scss b/src/css/src/battle/message-board/attack.scss new file mode 100644 index 0000000..8f3a8cb --- /dev/null +++ b/src/css/src/battle/message-board/attack.scss @@ -0,0 +1,63 @@ +.battle-message-board .battle-character-card +{ + width: 16em; +} + +.battle-message-attack-text +{ + width: 100%; + text-align: center; + font-size: 1.2em; +} + +/**** Character Portrait Animations *******************************************/ +.battle-animated-portrait-damaged .battle-character-portrait > * +{ + animation: blinking 0.2s steps(2, start) 8; +} + +.battle-animated-portrait-absent .battle-character-portrait > * +{ + visibility: hidden; +} + +.battle-animated-portrait-dodges .battle-character-portrait, +.battle-animated-portrait-dies .battle-character-portrait, +.battle-animated-portrait-parries .battle-character-portrait, +.battle-animated-portrait-attacks .battle-character-portrait +{ + overflow: hidden; +} + +.battle-animated-portrait +{ +} + +.battle-animated-portrait-dodges .battle-character-portrait > * +{ + animation-name: dodges; + animation-duration: 1s; + animation-iteration-count: 1; +} + +.battle-animated-portrait-attacks .battle-character-portrait > * +{ + animation-name: attacks; + animation-duration: 1s; + animation-iteration-count: 1; +} + +.battle-animated-portrait-dies .battle-character-portrait > * +{ + animation-name: blinking2, dies; + animation-duration: 0.15s, 2s; + animation-delay: 0s, 1s; + animation-iteration-count: 8, 1; +} + +.battle-animated-portrait-parries .battle-character-portrait > * +{ + animation-name: parries; + animation-duration: 1s; + animation-iteration-count: 1; +} diff --git a/src/css/src/battle/message-board/error.scss b/src/css/src/battle/message-board/error.scss new file mode 100644 index 0000000..8c2c197 --- /dev/null +++ b/src/css/src/battle/message-board/error.scss @@ -0,0 +1,7 @@ +@import '../../shared/colors'; + +.battle-error +{ + background-color: $RED-1; +} + diff --git a/src/css/src/battle/message-board/help.scss b/src/css/src/battle/message-board/help.scss new file mode 100644 index 0000000..ba35772 --- /dev/null +++ b/src/css/src/battle/message-board/help.scss @@ -0,0 +1,33 @@ +.battle-message-board-help +{ + display: block; +} + +.battle-message-board-help h1 +{ + margin: 0; + margin-bottom: 0.3em; + font-size: 1.5em; + text-align: center; +} + +.battle-message-board-help-figure +{ + width: 1.5em; + height: 1.5em; + background-size: 100%; + display: inline-block; + vertical-align: middle; +} + +.battle-help-guide-icon +{ + margin-right: 0.5em; + width: 1.5em; + height: 1.5em; + background-image: url("/asset/svg/help-icon.svg"); + background-size: 100%; + display: inline-block; + vertical-align: middle; +} + diff --git a/src/css/src/battle/sub-menus.scss b/src/css/src/battle/sub-menus.scss new file mode 100644 index 0000000..13ec571 --- /dev/null +++ b/src/css/src/battle/sub-menus.scss @@ -0,0 +1,26 @@ +@import 'constants'; +@import 'menu-mixins'; + +.battle-sub-menu +{ + position: absolute; + right: 0; + top: $BELOW-MAIN-MENU; + bottom: $ABOVE-MESSAGE-BOARD; + + width: $SUB-MENU-WIDTH; + + @include menu-background-color(); + + @include menu-padding(); + + @include menu-border(); + border-top-right-radius: 0; + border-bottom-right-radius: 0; + border-right: none; + + overflow: auto; +} + +@import 'sub-menus/characters-tab'; +@import 'sub-menus/timeline-tab'; diff --git a/src/css/src/battle/sub-menus/characters-tab.scss b/src/css/src/battle/sub-menus/characters-tab.scss new file mode 100644 index 0000000..fc4aae6 --- /dev/null +++ b/src/css/src/battle/sub-menus/characters-tab.scss @@ -0,0 +1,27 @@ +@import '../../shared/colors'; + +.battle-tabmenu-characters-tab +{ + display: flex; + flex-grow: 1; + flex-direction: column; + flex-wrap: wrap; +} + +.battle-characters-element-active +{ + animation-name: brown-alarm-bg; + animation-duration: 5s; + animation-iteration-count: infinite; +} + +.battle-characters-element +{ + flex: 2; + margin: 0.5em 0.5em 0 0.5em; + + border-radius: 5px; + border: 1px solid $BROWN-1; + border-bottom-width: 2px; + padding: 0.5em; +} diff --git a/src/css/src/battle/sub-menus/timeline-tab.scss b/src/css/src/battle/sub-menus/timeline-tab.scss new file mode 100644 index 0000000..cf9793c --- /dev/null +++ b/src/css/src/battle/sub-menus/timeline-tab.scss @@ -0,0 +1,30 @@ +@import '../../shared/colors'; +@import '../../shared/shadows'; + +.battle-timeline-element +{ + margin: 0.5em 0.5em 0 0.5em; + text-align: center; + + border-radius: 5px; + border: 1px solid $BROWN-1; + border-bottom-width: 2px; + padding: 0.5em; +} + +.battle-timeline-element .battle-character-portrait +{ + display: inline-block; + vertical-align: middle; + width: 36px; + height: 36px; + + @include box-shadow(1px, $BROWN-0, 1); +} + +.battle-timeline-element .battle-character-portrait + * +{ + border-radius: 5px; + margin-left: 1em; +} + diff --git a/src/css/src/global.scss b/src/css/src/global.scss new file mode 100644 index 0000000..ad19c93 --- /dev/null +++ b/src/css/src/global.scss @@ -0,0 +1,31 @@ +@import 'shared/colors'; +@import 'shared/parameters'; +@import 'shared/sanitize'; +@import 'shared/shadows'; + +html, body, .fullscreen-module +{ + min-width: $MIN_PAGE_WIDTH; + min-height: $MIN_PAGE_HEIGHT; +} + +button +{ + border-radius: 5px; + border-width: 1px; + border-style: solid; + border-bottom-width: 3px; + transition: background-color 0.3s ease-out; + font-variant: small-caps; +} + +button:hover +{ + cursor: pointer; +} + +.clickable +{ + cursor: pointer; + touch-action: manipulation; +} diff --git a/src/css/src/shared/colors.scss b/src/css/src/shared/colors.scss new file mode 100644 index 0000000..6a5a054 --- /dev/null +++ b/src/css/src/shared/colors.scss @@ -0,0 +1,54 @@ +// Those colors were picked from Inkscape's collection. + +$BROWN-0: #241F1C; +$BROWN-1: #483E37; +$BROWN-2: #6C5D53; +$BROWN-3: #917C6F; +$BROWN-4: #AC9D93; +$BROWN-5: #C8BEB7; +$BROWN-6: #E3DEDB; + +$GOLD-0: #E9DDAF; +$GOLD-1: #FFEEAA; + +$BLOOD-0: #550000; + +$RED-0: #280B0B; +$RED-1: #501616; +$RED-2: #782121; +$RED-3: #A02C2C; +$RED-4: #C83737; +$RED-5: #D35F5F; +$RED-6: #E9AFAF; + +$GREEN-0: #1C241C; +$GREEN-1: #374837; +$GREEN-2: #536C53; +$GREEN-3: #6F916F; +$GREEN-4: #93AC93; +$GREEN-5: #B7C8B7; +$GREEN-6: #DBE3DB; + +$BLUE-0: #1C1F24; +$BLUE-1: #373E48; +$BLUE-2: #535D6C; +$BLUE-3: #6F7C91; +$BLUE-4: #939DAC; +$BLUE-5: #B7BEC8; +$BLUE-6: #DBDEE3; + +$GLAUQUE-0: #1C2422; +$GLAUQUE-1: #374845; +$GLAUQUE-2: #536C67; +$GLAUQUE-3: #6F918A; +$GLAUQUE-4: #93ACA7; +$GLAUQUE-5: #B7C8C4; +$GLAUQUE-6: #DBE3E2; + +$PURPLE-0: #241C22; +$PURPLE-1: #483745; +$PURPLE-2: #6C5367; +$PURPLE-3: #916F8A; +$PURPLE-4: #AC93A7; +$PURPLE-5: #C8B7C4; +$PURPLE-6: #E3DBE2; diff --git a/src/css/src/shared/parameters.scss b/src/css/src/shared/parameters.scss new file mode 100644 index 0000000..908d739 --- /dev/null +++ b/src/css/src/shared/parameters.scss @@ -0,0 +1,2 @@ +$MIN-PAGE-WIDTH: 800px; +$MIN-PAGE-HEIGHT: 600px; diff --git a/src/css/src/shared/sanitize.scss b/src/css/src/shared/sanitize.scss new file mode 100644 index 0000000..d341d19 --- /dev/null +++ b/src/css/src/shared/sanitize.scss @@ -0,0 +1,15 @@ +* +{ + box-sizing: border-box; + margin: 0; + padding: 0; +} + +body, html +{ + position: absolute; + top: 0; + bottom: 0; + right: 0; + left: 0; +} diff --git a/src/css/src/shared/shadows.scss b/src/css/src/shared/shadows.scss new file mode 100644 index 0000000..4378dff --- /dev/null +++ b/src/css/src/shared/shadows.scss @@ -0,0 +1,17 @@ +@mixin text-shadow ($size, $color, $alpha) +{ + text-shadow: + 1px 0 $size rgba($color, $alpha), + -1px 0 $size rgba($color, $alpha), + 0 1px $size rgba($color, $alpha), + 0 -1px $size rgba($color, $alpha); +} + +@mixin box-shadow ($size, $color, $alpha) +{ + box-shadow: + 1px 0 $size rgba($color, $alpha), + -1px 0 $size rgba($color, $alpha), + 0 1px $size rgba($color, $alpha), + 0 -1px $size rgba($color, $alpha); +} diff --git a/src/css/src/verbose.scss b/src/css/src/verbose.scss new file mode 100644 index 0000000..7a505a6 --- /dev/null +++ b/src/css/src/verbose.scss @@ -0,0 +1,129 @@ +@import 'shared/colors'; +@import 'shared/shadows'; + +* +{ + color: $GOLD-0; + @include text-shadow(1px, $BROWN-0, 0.5); +} + +body +{ + display: flex; + flex-direction: column; + background-color: $BROWN-2; +} + +body > header +{ + display: flex; + flex-direction: row; +} + +body > header nav +{ + display: flex; + flex-direction: row; + flex-wrap: wrap; + flex: 1; + align-items: center; + justify-content: space-around; +} + +body > header nav a +{ + color: $GOLD-0; + transition: background-color 0.3s ease-out; + font-size: 1.5em; + font-variant: small-caps; + font-weight: bold; + text-decoration: none; + margin: 0.5em; +} + +.main-server-logo +{ + z-index: 1; + margin: 0.5em; +} + +.main-server-version +{ + z-index: 0; + position: absolute; + font-size: 0.7em; + top: 0; + right: 0; +} + +main +{ + width: 100%; + flex: 1; + + display: flex; + flex-direction: column; + + align-items: center; +} + +article:nth-of-type(1) +{ + margin-top: 0; +} + +article +{ + display: inline-block; + + background: $BROWN-4; + + margin: 1em; + padding-bottom: 2em; + + border: 1px solid $BROWN-0; + + max-width: 80em; + min-width: 40em; +} + +article > p +{ + margin: 0 3em 0.5em 3em; + line-height: 1.3em; + font-size: 1.2em; + color: $BROWN-0; + text-shadow: none; +} + +article > header +{ + display: inline-block; + margin: -0.1em 0.5em 1em 0.5em; + border: 2px solid $GLAUQUE-1; + border-top-width: 1px; + border-radius: 0 0 8px 8px; + text-align: center; + padding: 0.5em 1em 0.5em 1em; + background: $GLAUQUE-2; + color: $GLAUQUE-6; + font-size: 1.5em; + font-variant: small-caps; + font-weight: bold; +} + +article > h1 +{ + display: inline-block; + background: $BLUE-2; + margin: 1em 0 1em -0.2em; + font-size: 1.2em; + font-variant: small-caps; + font-weight: normal; + border: 2px solid $BLUE-1; + border-left-width: 1px; + border-radius: 0 15px 15px 0; + color: $BLUE-6; + padding: 0.5em; + padding-left: 1.5em; +} diff --git a/src/global/www/style.css b/src/global/www/style.css index 76f1ed9..b826d1f 100644 --- a/src/global/www/style.css +++ b/src/global/www/style.css @@ -1,99 +1,37 @@ -html -{ - min-width: 800px; - min-height: 600px; - height: 100%; - background-color: #6C5D53; - color: #FFEEAA; -} - -html, body, .fullscreen-module -{ - min-width: 800px; - min-height: 600px; -} - * { - box-sizing: border-box; - color: #FFEEAA; - text-shadow: - 1px 0px 1px rgba(80, 45, 22, 0.5), - -1px 0px 1px rgba(80, 45, 22, 0.5), - 0px 1px 1px rgba(80, 45, 22, 0.5), - 0px -1px 1px rgba(80, 45, 22, 0.5); -} - -* button -{ - background-color: #917C6F; - border-radius: 5px; - border: 1px solid #502D16; - border-bottom-width: 3px; - color: #FFEEAA; - margin: 0.1em; - padding: 0.2em; - transition: background-color 0.3s ease-out; -} - -* button:hover -{ - cursor: pointer; - background-color: #AC9D93; -} - -* button:active -{ - background-color: #C8BEB7; -} - -* button:disabled -{ - background-color: #502D16; -} - -* button:disabled:hover -{ - cursor: default; - background-color: #502D16; -} + margin: 0; + padding: 0; } + +html, body, .fullscreen-module { + min-width: 800px; + min-height: 600px; + background-color: #6C5D53; + position: absolute; + top: 0; + bottom: 0; + right: 0; + left: 0; } -* button:disabled:active -{ - background-color: #502D16; -} - -html, body, .fullscreen-module -{ - position: absolute; - top: 0; - bottom: 0; - right: 0; - left: 0; - margin: 0; - padding: 0; -} - -.fullscreen-module -{ - display:flex; -} - -.clickable -{ - cursor: pointer; - touch-action: manipulation; -} - -.popup-message -{ - display: inline-block; - text-align: justify; - padding: 2em 2em 1em 2em; - margin: 1em; - - border: 1px solid #502D16; - border-left-width: 4px; - - max-width: 80em; - min-width: 40em; -} +* { + color: #FFEEAA; + text-shadow: 1px 0 1px rgba(36, 31, 28, 0.5), -1px 0 1px rgba(36, 31, 28, 0.5), 0 1px 1px rgba(36, 31, 28, 0.5), 0 -1px 1px rgba(36, 31, 28, 0.5); } + +button { + background-color: #917C6F; + border-radius: 5px; + border: 1px solid #483E37; + border-bottom-width: 3px; + margin: 0.1em; + padding: 0.2em; + transition: background-color 0.3s ease-out; } + +button:hover { + cursor: pointer; + background-color: #AC9D93; } + +button:active { + background-color: #C8BEB7; } + +.clickable { + cursor: pointer; + touch-action: manipulation; } diff --git a/src/map-editor/www/index.html b/src/map-editor/www/index.html index 2dcbefb..61e551f 100644 --- a/src/map-editor/www/index.html +++ b/src/map-editor/www/index.html @@ -1,8 +1,8 @@ <!DOCTYPE html> <html> <head> - <link rel="stylesheet" type="text/css" href="../global/style.css"> - <link rel="stylesheet" type="text/css" href="../map-editor/style.css"> + <link rel="stylesheet" type="text/css" href="../css/global.css"> + <link rel="stylesheet" type="text/css" href="../css/map-editor.css"> <link rel="stylesheet" type="text/css" href="../asset/characters.css"> <link rel="stylesheet" type="text/css" href="../asset/armors.css"> <link rel="icon" type="image/x-icon" href="/favicon.ico"> |