diff --git a/discord.svg b/discord.svg new file mode 100644 index 0000000..9ff96fd --- /dev/null +++ b/discord.svg @@ -0,0 +1,67 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + version="1.1" + id="svg1" + width="50" + height="50" + viewBox="0 0 50 50" + sodipodi:docname="discord.svg" + inkscape:version="1.4 (e7c3feb100, 2024-10-09)" + xml:space="preserve" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"><defs + id="defs1" /><sodipodi:namedview + id="namedview1" + pagecolor="#ffffff" + bordercolor="#000000" + borderopacity="0.25" + inkscape:showpageshadow="2" + inkscape:pageopacity="0.0" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#d1d1d1" + showgrid="false" + inkscape:zoom="7.9999999" + inkscape:cx="23.5625" + inkscape:cy="30.5625" + inkscape:window-width="1918" + inkscape:window-height="1062" + inkscape:window-x="0" + inkscape:window-y="16" + inkscape:window-maximized="1" + inkscape:current-layer="svg1" + showguides="true" + inkscape:lockguides="true" /><circle + style="fill:#ffffff;stroke:#777777;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers;fill-opacity:1" + id="path1" + cx="25" + cy="25" + r="21.375" /><g + id="g3" + transform="matrix(0.89923846,0,0,0.89802804,3.6336948,-0.40863087)" + style="stroke-width:1.1128"><path + id="rect2" + style="fill:#e5e5e5;stroke:#777777;stroke-width:1.1128;stroke-linecap:round;stroke-linejoin:round;paint-order:stroke fill markers" + d="m 42.591817,21.050533 c -0.262628,13.843314 -21.790131,9.26542 -21.790131,9.26542 L 11.306998,44.32512 16.058522,31.024039 c 0,0 -10.45986,1.286353 -11.118546,-9.598506 -0.344299,-5.689602 6.495154,-9.07 14.812592,-9.152697 7.594773,-0.0755 23.0043,0.07775 22.839249,8.777697 z" + sodipodi:nodetypes="scccsss" /><ellipse + style="fill:#777777;fill-opacity:1;stroke:#777777;stroke-width:1.1128;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" + id="path2" + cx="11.718009" + cy="22.339203" + rx="3.1221175" + ry="3.3271532" /><ellipse + style="fill:#777777;fill-opacity:1;stroke:#777777;stroke-width:1.1128;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" + id="circle2" + cx="23.658089" + cy="22.339203" + rx="3.1221175" + ry="3.3271532" /><ellipse + style="fill:#777777;fill-opacity:1;stroke:#777777;stroke-width:1.1128;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" + id="circle3" + cx="35.598167" + cy="22.339203" + rx="3.1221175" + ry="3.3271532" /></g></svg> diff --git a/index.css b/index.css index fabc054..b6f62af 100644 --- a/index.css +++ b/index.css @@ -1,24 +1,31 @@ :root { - --black-2: rgb(54, 23, 23); - --black: rgb(105, 41, 41); - --gray: rgb(161, 72, 72); - --white: rgb(255, 246, 223); + --black-3: rgb(177, 177, 177); + --black-2: rgb(71, 69, 65); + --black: rgb(39, 38, 37); + --gray: rgb(31, 30, 28); + --white: rgb(255, 251, 241); - --elem-width: min(800px,90vw); - --elem-height: min(800px,90vh); + --elem-width: min(1200px, 90vw); + --elem-height: min(800px, 90vh); - --border-radius: 15px; + --border-radius: 5px; color: var(--white); font-family: system-ui, sans-serif; + +} + +.important { + + font-size: 1.5rem; } body { display: flex; flex-direction: column; align-items: center; - background: var(--black-2); + background: var(--black); margin-top: 0; } @@ -35,7 +42,8 @@ body { object-fit: cover; } -.banner-background, .banner-content { +.banner-background, +.banner-content { height: var(--elem-height); overflow-y: auto; } @@ -85,12 +93,21 @@ body { .content, .form, .banner, -.banner-background { +.banner-background, +.path { border: solid var(--gray) 3px; - padding: 25px; - margin: 25px; border-radius: var(--border-radius); - width: var(--elem-width); + width: var(--elem-width); + + background: var(--black-2); +} + +.content, +.form, +.banner, +.banner-background { + padding: 25px; + margin: 25px; } .form { @@ -119,15 +136,27 @@ body { } .map { - width: var(--elem-height); - height: var(--elem-height); - background: var(--gray); - image-rendering: pixelated; - image-rendering: crisp-edges; + width: var(--elem-width); + background: var(--gray); + image-rendering: pixelated; + image-rendering: crisp-edges; +} + +.coords { + position: relative; + top: calc(var(--elem-width) / -3); + left: calc(var(--elem-width) / 2); + font-size: 16px; + background: rgba(0,0,0,0.5); + padding: 10px; + width: 250px; + margin: 0; } a { - color: var(--white); + color: inherit; + font-weight: bold; + text-decoration-thickness: 3px; } h1 { @@ -135,7 +164,24 @@ h1 { align-items: center; } -h1 .form-input{ +h1 .form-input { margin-bottom: 0; margin-left: 10px; +} + +.path { + min-height: 200px; + display: inline-flex; + width: calc(var(--elem-width) / 4.7); + min-width: 200px; + margin: 10px; + background: var(--black-3); + color: var(--black-2); + padding: 5px; + flex-direction: column; + align-items: center; +} + +.path img { + height: 200px; } \ No newline at end of file diff --git a/index.html b/index.html index f2798e0..a4c7432 100644 --- a/index.html +++ b/index.html @@ -8,18 +8,29 @@ <body> <div class='content'> - <h1> - <span>Nations of Minzeo on Minecraft</span> - <button class='form-input'><a href='#about'>About</a></button> - </h1> - <canvas class='map' width='1000' height='1000'></canvas> - <h2>Position</h2> - <pre class='coords'></pre> - <h2>Controls</h2> + <p><b class='important'>Astrophis</b> is a civilization roleplay. Lead your nation's destiny throughout the + Minecraft world.</p> + <div class='path'> + <div><b class='important'>War</b></div> + <img src='war.svg'> + </div> + <div class='path'> + <div><b class='important'><a href='https://discord.gg/yeyJfgAYGp'>Discord</a></b></div> + <img src='discord.svg'> + </div> + <div class='path'> + <div><b class='important' onclick='copy()'><a href='#'>Server</a></b></div> + <img src='server.svg'> + </div> + <div class='path'> + <div><b class='important' onclick='copy()'><a href='https://wiki.dervland.net/wiki/Astrophis'>Wiki</a></b></div> + <img src='wiki.svg'> + </div> + <h1>Nations</h1> <p><b>Pan camera:</b> [WASD/Mouse], <b>Fast motion:</b> [Q], <b>Zoom:</b> [Mouse wheel]</p> + <canvas class='map' width='1200' height='800'></canvas> + <pre class='coords'></pre> <h1 id='about'>About</h1> - <p>Minzeo is a Minecraft civilization roleplay. Unlike similar servers, it isn't a short-term challenge, and has - no claim plugins. </p> <p>The server's geopolitics is defined by the players and the gameplay rules.</p> <h2>Rules</h2> <ol> @@ -31,14 +42,10 @@ <li>Claims of excessive size will not be mapped.</li> <li>The first nation to claim a land in Discord, and anyone squatting there, owns it.</li> <li>Wars must be declared in Discord to be valid.</li> - <li>In a war, each nation starts with 3 points per citizen, 3 points per settlement.</li> + <li>In a war, each nation starts with 3 points per citizen, 3 points per settlement. These are deducted by player death.</li> <li>To end a war, a nation must have 0 points, have surrendered, or have withdrawn.</li> <li>Not all points need to be taken to partially annex a nation.</li> </ol> - <h2>Joining</h2> - <button class='form-input'><a href='https://discord.gg/yeyJfgAYGp'>Discord</a></button> - <button class='form-input' onclick='copy()'><a href='#'>Minecraft</a></button> - <button class='form-input'><a href='https://wiki.dervland.net/wiki/Minezo'>Wiki</a></button> </div> <script src="/map.js"></script> </body> diff --git a/map.js b/map.js index c68e9d7..1c6ba0e 100644 --- a/map.js +++ b/map.js @@ -122,7 +122,9 @@ for (let asset of assets) { } let off = [-(imgA[0].width * zoom - map.width) / 2, -(imgA[0].height * zoom - map.height) / 2]; -mpos = [off[0], off[1]]; +setTimeout(function() { + mpos = [off[0], off[1]]; +},300) setInterval(move, 10); diff --git a/server.svg b/server.svg new file mode 100644 index 0000000..4be9535 --- /dev/null +++ b/server.svg @@ -0,0 +1,82 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + version="1.1" + id="svg1" + width="50" + height="50" + viewBox="0 0 50 50" + sodipodi:docname="server.svg" + inkscape:version="1.4 (e7c3feb100, 2024-10-09)" + xml:space="preserve" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"><defs + id="defs1" /><sodipodi:namedview + id="namedview1" + pagecolor="#ffffff" + bordercolor="#000000" + borderopacity="0.25" + inkscape:showpageshadow="2" + inkscape:pageopacity="0.0" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#d1d1d1" + showgrid="false" + inkscape:zoom="16" + inkscape:cx="24.53125" + inkscape:cy="23.34375" + inkscape:window-width="1918" + inkscape:window-height="1062" + inkscape:window-x="0" + inkscape:window-y="16" + inkscape:window-maximized="1" + inkscape:current-layer="svg1" + showguides="true" + inkscape:lockguides="true" /><circle + style="fill:#ffffff;stroke:#777777;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers;fill-opacity:1" + id="path1" + cx="25" + cy="25" + r="21.375" /><circle + style="fill:#e5e5e5;fill-opacity:1;stroke:#777777;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" + id="path3" + cx="23.875" + cy="24.25" + r="12.8125" /><rect + style="fill:#777777;fill-opacity:1;stroke:#777777;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" + id="rect6" + width="6.0625" + height="6.0625" + x="13.5625" + y="20.6875" + ry="1.125" /><rect + style="fill:#777777;fill-opacity:1;stroke:#777777;stroke-width:0.999999;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" + id="rect7" + width="10.6875" + height="10.6875" + x="21.8125" + y="15.1875" + ry="1.9832474" /><rect + style="fill:#777777;fill-opacity:1;stroke:#777777;stroke-width:0.999999;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" + id="rect8" + width="2.1874998" + height="2.1874998" + x="17.75" + y="29.25" + ry="0.40592781" /><rect + style="fill:#777777;fill-opacity:1;stroke:#777777;stroke-width:0.999999;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" + id="rect9" + width="2.1874998" + height="2.1874998" + x="20.3125" + y="33" + ry="0.40592781" /><rect + style="fill:#777777;fill-opacity:1;stroke:#777777;stroke-width:0.999999;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" + id="rect10" + width="4.3125" + height="4.3125" + x="24.4375" + y="28.25" + ry="0.80025774" /></svg> diff --git a/war.svg b/war.svg new file mode 100644 index 0000000..600ca95 --- /dev/null +++ b/war.svg @@ -0,0 +1,50 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + version="1.1" + id="svg1" + width="50" + height="50" + viewBox="0 0 50 50" + sodipodi:docname="war.svg" + inkscape:version="1.4 (e7c3feb100, 2024-10-09)" + xml:space="preserve" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"><defs + id="defs1" /><sodipodi:namedview + id="namedview1" + pagecolor="#ffffff" + bordercolor="#000000" + borderopacity="0.25" + inkscape:showpageshadow="2" + inkscape:pageopacity="0.0" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#d1d1d1" + showgrid="false" + inkscape:zoom="11.313708" + inkscape:cx="25.500039" + inkscape:cy="21.787728" + inkscape:window-width="1918" + inkscape:window-height="1062" + inkscape:window-x="0" + inkscape:window-y="16" + inkscape:window-maximized="1" + inkscape:current-layer="svg1" + showguides="false" + inkscape:lockguides="true" /><circle + style="fill:#ffffff;stroke:#777777;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers;fill-opacity:1" + id="path1" + cx="25" + cy="25" + r="21.375" /><path + id="rect1" + style="fill:#e5e5e5;fill-opacity:1;stroke:#777777;stroke-width:0.999997;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" + d="M 20.847225,29.319475 35.808082,11.51741 21.967035,30.205623 c 0,0 1.800695,2.785381 2.398997,3.573538 l -3.489884,-3.056154 -0.498203,1.634706 -4.223693,4.868757 0.150488,1.255019 -2.111986,-1.696218 1.272284,-0.157255 3.57525,-5.38242 1.545157,-1.046152 -4.496732,-1.891457 c 1.074354,0.398583 4.758519,1.011487 4.758519,1.011487 z" + sodipodi:nodetypes="ccccccccccccccc" /><path + id="path2" + style="fill:#e5e5e5;fill-opacity:1;stroke:#777777;stroke-width:0.999997;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" + d="M 29.152775,29.319475 14.191918,11.51741 28.032965,30.205623 c 0,0 -1.800695,2.785381 -2.398997,3.573538 l 3.489884,-3.056154 0.498203,1.634706 4.223693,4.868757 -0.150488,1.255019 2.111986,-1.696218 -1.272284,-0.157255 -3.57525,-5.38242 -1.545157,-1.046152 4.496732,-1.891457 c -1.074354,0.398583 -4.758519,1.011487 -4.758519,1.011487 z" + sodipodi:nodetypes="ccccccccccccccc" /></svg> diff --git a/wiki.svg b/wiki.svg new file mode 100644 index 0000000..4b8c466 --- /dev/null +++ b/wiki.svg @@ -0,0 +1,51 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + version="1.1" + id="svg1" + width="50" + height="50" + viewBox="0 0 50 50" + sodipodi:docname="wiki.svg" + inkscape:version="1.4 (e7c3feb100, 2024-10-09)" + xml:space="preserve" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"><defs + id="defs1" /><sodipodi:namedview + id="namedview1" + pagecolor="#ffffff" + bordercolor="#000000" + borderopacity="0.25" + inkscape:showpageshadow="2" + inkscape:pageopacity="0.0" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#d1d1d1" + showgrid="false" + inkscape:zoom="16" + inkscape:cx="24.53125" + inkscape:cy="23.34375" + inkscape:window-width="1918" + inkscape:window-height="1062" + inkscape:window-x="0" + inkscape:window-y="16" + inkscape:window-maximized="1" + inkscape:current-layer="svg1" + showguides="true" + inkscape:lockguides="true" /><circle + style="fill:#ffffff;stroke:#777777;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers;fill-opacity:1" + id="path1" + cx="25" + cy="25" + r="21.375" /><path + id="rect10" + style="fill:#777777;stroke:#777777;stroke-linecap:round;stroke-linejoin:round;paint-order:stroke fill markers" + d="m 22.3125,15 h 4 v 25.5 l 1,2.375 -6.875,-0.125 1.875,-2.4375 v -21.875 l -6.75,4.4375 z" + sodipodi:nodetypes="ccccccccc" /><circle + style="fill:#777777;fill-opacity:1;stroke:#777777;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" + id="path10" + cx="24" + cy="9.125" + r="4" /></svg>