@@ -104,7 +104,7 @@
Loading...
-
+
Distance: -
@@ -124,16 +124,16 @@
Prone:
@@ -153,55 +153,6 @@
@@ -217,55 +168,6 @@
-
-
diff --git a/public/map.css b/public/map.css
deleted file mode 100644
index 0c2fed9..0000000
--- a/public/map.css
+++ /dev/null
@@ -1,369 +0,0 @@
-svg {
- overflow: hidden;
-}
-
-image {
- image-rendering: pixelated;
-}
-
-image.map-scans {
- image-rendering: auto;
-}
-
-text {
- user-select: none;
-}
-
-use[href="#hex"] {
- opacity: 0;
- fill: transparent;
- fill-opacity: 0.5;
- stroke-width: 0.5px;
- stroke: black;
-}
-
-use[href="#hex"].active {
- opacity: 0.2;
- fill: teal;
- stroke: black;
-}
-
-.sight-line-target use[href="#hex"] {
- opacity: 1;
- stroke: orangered;
- fill-opacity: 0.04;
-}
-
-polyline {
- fill: none;
-}
-
-polyline.move-trace {
- stroke: white;
- stroke-dasharray: 2;
-}
-
-#background {
- fill: #bacae3;
-}
-
-#map2 {
- transform-origin: 0px 0px;
- transform: translate(-0.9px, -2.4px) scale(0.999, 1.007);
-}
-
-#map3 {
- transform-origin: 0px 0px;
- transform: translate(1.3px, 1564.1px) rotate(0.1deg) scale(0.999, 1.002);
-}
-
-#counter-base {
- r: inherit;
-}
-
-g.troop-counter, g.counter, g.troop-counter use {
- r: inherit;
-}
-
-g.troop-counter-template, g.troop-counter-template use {
- r: inherit;
-}
-
-g.weapon-symbol {
- stroke: white;
- stroke-width: 0.5px;
-}
-
-g.troop-counter-template text {
- fill: white;
- font-size: 12px;
- font-weight: bold;
- font-family: monospace;
- cursor: default;
- text-anchor: middle;
- pointer-events: none;
- user-select: none;
- transform: translateY(4px);
- stroke: none;
-}
-
-[href="#counter-prone"] {
- transform: translate(-5px, 6px);
-}
-
-[href="#counter-grenade"] {
- transform: translate(-5px, -5px);
-}
-
-g.clone {
- stroke: white;
- stroke-width: 0.5px;
- stroke-dasharray: 1;
-}
-
-g.clone [href="#counter-prone"] {
- opacity: 0.5;
-}
-
-.removed[href="#counter-prone"] {
- opacity: 0.5;
-}
-
-g[data-allegiance="defender"].clone {
- fill: rgb(255, 126, 126);
-}
-
-g[data-allegiance="attacker"].clone {
- fill: rgb(130, 190, 130);
-}
-
-text.counter, #troop-counter text {
- font-size: 12px;
- font-weight: bold;
- fill: white;
- font-family: sans-serif;
- cursor: default;
- text-anchor: middle;
- transform: translateY(4px);
- pointer-events: none;
- user-select: none;
-}
-
-polygon.firing-arc[data-allegiance="defender"] {
- fill: red;
-}
-
-polygon.firing-arc[data-allegiance="attacker"] {
- fill: green;
-}
-
-#shapes {
- opacity: 0.1;
-}
-
-#shapes polygon {
- stroke: none;
-}
-
-#lines polyline, #lines line {
- fill: none;
- stroke: black;
- stroke-width: 0.5;
-}
-
-#lines line {
- stroke-opacity: 0.2;
-}
-
-#lines line {
- pointer-events: none;
-}
-
-.sight-line {
- stroke: orangered;
- stroke-width: 0.5px;
- pointer-events: none;
-}
-
-#hex {
- fill: inherit;
- fill-opacity: inherit;
- stroke: inherit;
- stroke-width: inherit;
- stroke-opacity: inherit;
-}
-
-g.counter use, use[href*="#t-"] {
- r: 5px;
-}
-
-g.selected use {
- animation: 1s selected 0.25s linear infinite;
- stroke-width: 2px;
- stroke: yellow;
- r: 6px;
-}
-
-@keyframes selected {
- 50% {
- /* stroke: yellow; */
- stroke-width: 0px;
- r: 5px;
- }
-}
-
-.counter[data-allegiance="attacker"] {
- fill: green;
-}
-
-.counter[data-allegiance="defender"] {
- fill: red;
-}
-
-.gameboard {
- transform: translate(19px, 31px) scale(4);
-}
-
-/* Inradius and circumradius values come from the hexagon */
-.grid, g.start-locations {
- --inradius: 8.66px;
- --circumradius: 10px;
- --x-step: calc(var(--inradius) * 2);
- --y-step: calc((3 / 2) * var(--circumradius));
-}
-
-g[data-y], g.start-locations > g {
- --translateX: 0;
- transform: translate(var(--translateX), calc(var(--y-step) * var(--i)));
-}
-
-g[data-y]:nth-child(odd) {
- --translateX: calc(var(--inradius));
-}
-
-[data-x] use[href="#hex"] {
- --scale: 1;
- transform: scale(var(--scale));
-}
-
-[data-x]:hover use[href="#hex"] {
- /* --scale: 0.95; */
- opacity: 1;
- fill: orange;
- stroke: black;
-}
-
-[data-x]:hover use[href*="#t-"] {
- transform: scale(1.5);
-}
-
-[data-x] {
- --scale: 1;
- transform: translateX(calc(var(--x-step) * var(--i))) scale(var(--scale));
-}
-
-g[data-y="0"] { --i: 0; }
-g[data-y="1"] { --i: 1; }
-g[data-y="2"] { --i: 2; }
-g[data-y="3"] { --i: 3; }
-g[data-y="4"] { --i: 4; }
-g[data-y="5"] { --i: 5; }
-g[data-y="6"] { --i: 6; }
-g[data-y="7"] { --i: 7; }
-g[data-y="8"] { --i: 8; }
-g[data-y="9"] { --i: 9; }
-g[data-y="10"] { --i: 10; }
-g[data-y="11"] { --i: 11; }
-g[data-y="12"] { --i: 12; }
-g[data-y="13"] { --i: 13; }
-g[data-y="14"] { --i: 14; }
-g[data-y="15"] { --i: 15; }
-g[data-y="16"] { --i: 16; }
-g[data-y="17"] { --i: 17; }
-g[data-y="18"] { --i: 18; }
-g[data-y="19"] { --i: 19; }
-g[data-y="20"] { --i: 20; }
-g[data-y="21"] { --i: 21; }
-g[data-y="22"] { --i: 22; }
-g[data-y="23"] { --i: 23; }
-g[data-y="24"] { --i: 24; }
-g[data-y="25"] { --i: 25; }
-g[data-y="26"] { --i: 26; }
-g[data-y="27"] { --i: 27; }
-g[data-y="28"] { --i: 28; }
-g[data-y="29"] { --i: 29; }
-g[data-y="30"] { --i: 30; }
-g[data-y="31"] { --i: 31; }
-g[data-y="32"] { --i: 32; }
-g[data-y="33"] { --i: 33; }
-g[data-y="34"] { --i: 34; }
-g[data-y="35"] { --i: 35; }
-g[data-y="36"] { --i: 36; }
-g[data-y="37"] { --i: 37; }
-g[data-y="38"] { --i: 38; }
-g[data-y="39"] { --i: 39; }
-g[data-y="40"] { --i: 40; }
-g[data-y="41"] { --i: 41; }
-g[data-y="42"] { --i: 42; }
-g[data-y="43"] { --i: 43; }
-g[data-y="44"] { --i: 44; }
-g[data-y="45"] { --i: 45; }
-g[data-y="46"] { --i: 46; }
-g[data-y="47"] { --i: 47; }
-g[data-y="48"] { --i: 48; }
-g[data-y="49"] { --i: 49; }
-g[data-y="50"] { --i: 50; }
-g[data-y="51"] { --i: 51; }
-g[data-y="52"] { --i: 52; }
-g[data-y="53"] { --i: 53; }
-g[data-y="54"] { --i: 54; }
-g[data-y="55"] { --i: 55; }
-g[data-y="56"] { --i: 56; }
-g[data-y="57"] { --i: 57; }
-g[data-y="58"] { --i: 58; }
-g[data-y="59"] { --i: 59; }
-g[data-y="60"] { --i: 60; }
-g[data-y="61"] { --i: 61; }
-g[data-y="62"] { --i: 62; }
-g[data-y="63"] { --i: 63; }
-g[data-y="64"] { --i: 64; }
-g[data-y="65"] { --i: 65; }
-g[data-y="66"] { --i: 66; }
-g[data-y="67"] { --i: 67; }
-g[data-y="68"] { --i: 68; }
-g[data-y="69"] { --i: 69; }
-g[data-y="70"] { --i: 70; }
-g[data-y="71"] { --i: 71; }
-g[data-y="72"] { --i: 72; }
-g[data-y="73"] { --i: 73; }
-g[data-y="74"] { --i: 74; }
-g[data-y="75"] { --i: 75; }
-g[data-y="76"] { --i: 76; }
-
-[data-x="0"] { --i: 0; }
-[data-x="1"] { --i: 1; }
-[data-x="2"] { --i: 2; }
-[data-x="3"] { --i: 3; }
-[data-x="4"] { --i: 4; }
-[data-x="5"] { --i: 5; }
-[data-x="6"] { --i: 6; }
-[data-x="7"] { --i: 7; }
-[data-x="8"] { --i: 8; }
-[data-x="9"] { --i: 9; }
-[data-x="10"] { --i: 10; }
-[data-x="11"] { --i: 11; }
-[data-x="12"] { --i: 12; }
-[data-x="13"] { --i: 13; }
-[data-x="14"] { --i: 14; }
-[data-x="15"] { --i: 15; }
-[data-x="16"] { --i: 16; }
-[data-x="17"] { --i: 17; }
-[data-x="18"] { --i: 18; }
-[data-x="19"] { --i: 19; }
-[data-x="20"] { --i: 20; }
-[data-x="21"] { --i: 21; }
-[data-x="22"] { --i: 22; }
-[data-x="23"] { --i: 23; }
-[data-x="24"] { --i: 24; }
-[data-x="25"] { --i: 25; }
-[data-x="26"] { --i: 26; }
-[data-x="27"] { --i: 27; }
-[data-x="28"] { --i: 28; }
-[data-x="29"] { --i: 29; }
-[data-x="30"] { --i: 30; }
-[data-x="31"] { --i: 31; }
-[data-x="32"] { --i: 32; }
-
-.buildings {
- display: none;
-}
-
-#test-arcs line, #test-arcs polyline {
- stroke: black;
- fill: none;
-}
-
-#test-arcs rect, #test-arcs polygon {
- fill: black;
- fill-opacity: 0.2;
-}
diff --git a/public/map1.svg b/public/map1.svg
deleted file mode 100644
index 6d767ba..0000000
--- a/public/map1.svg
+++ /dev/null
@@ -1,1923 +0,0 @@
-
-
-
diff --git a/public/map2.svg b/public/map2.svg
deleted file mode 100644
index c0ac9a4..0000000
--- a/public/map2.svg
+++ /dev/null
@@ -1,97 +0,0 @@
-
-
-
diff --git a/public/map3.svg b/public/map3.svg
deleted file mode 100644
index 25a9518..0000000
--- a/public/map3.svg
+++ /dev/null
@@ -1,94 +0,0 @@
-
-
-
diff --git a/public/map4.svg b/public/map4.svg
deleted file mode 100644
index acb8336..0000000
--- a/public/map4.svg
+++ /dev/null
@@ -1,49 +0,0 @@
-
-
-
diff --git a/public/rendered_numbers.png b/public/rendered_numbers.png
deleted file mode 100644
index 8672434..0000000
Binary files a/public/rendered_numbers.png and /dev/null differ
diff --git a/public/row.jpg b/public/row.jpg
deleted file mode 100644
index 110bb35..0000000
Binary files a/public/row.jpg and /dev/null differ
diff --git a/public/scans/countersheet1.jpg b/public/scans/countersheet1.jpg
deleted file mode 100644
index 659070e..0000000
Binary files a/public/scans/countersheet1.jpg and /dev/null differ
diff --git a/public/scans/countersheet2.jpg b/public/scans/countersheet2.jpg
deleted file mode 100644
index 7a4d3ad..0000000
Binary files a/public/scans/countersheet2.jpg and /dev/null differ
diff --git a/public/scans/countersheet3.jpg b/public/scans/countersheet3.jpg
deleted file mode 100644
index dfe4696..0000000
Binary files a/public/scans/countersheet3.jpg and /dev/null differ
diff --git a/public/scans/countersheet4.jpg b/public/scans/countersheet4.jpg
deleted file mode 100644
index 028b216..0000000
Binary files a/public/scans/countersheet4.jpg and /dev/null differ
diff --git a/public/scans/map1.jpg b/public/scans/map1.jpg
deleted file mode 100644
index 8f6bc46..0000000
Binary files a/public/scans/map1.jpg and /dev/null differ
diff --git a/public/scans/map2.jpg b/public/scans/map2.jpg
deleted file mode 100644
index 82cd528..0000000
Binary files a/public/scans/map2.jpg and /dev/null differ
diff --git a/public/scans/map3.jpg b/public/scans/map3.jpg
deleted file mode 100644
index 08232e4..0000000
Binary files a/public/scans/map3.jpg and /dev/null differ
diff --git a/public/scans/map4.jpg b/public/scans/map4.jpg
deleted file mode 100644
index 8fa25dc..0000000
Binary files a/public/scans/map4.jpg and /dev/null differ
diff --git a/public/soldier_record_block.css b/public/soldier_record_block.css
deleted file mode 100644
index fb1d322..0000000
--- a/public/soldier_record_block.css
+++ /dev/null
@@ -1,55 +0,0 @@
-span {
- font-size: smaller;
- font-family: monospace;
- margin-right: 1em;
-}
-
-.physical-status-track {
- text-align: center;
-}
-
-.physical-status-track span {
- margin: 0;
- padding: 0;
- display: inline-block;
- vertical-align: middle;
-}
-
-.physical-status-track span[slot="block-number"] {
- font-family: serif;
- font-size: unset;
-}
-
-ul {
- margin: 0;
- padding: 0;
-}
-
-ul li {
- display: inline;
- margin-left: 1em;
-}
-
-p {
- margin: 0;
-}
-
-.grenades input {
- display: none;
-}
-
-.grenades svg {
- width: 14px;
- height: 14px;
- vertical-align: bottom;
-}
-
-.grenades svg circle {
- fill: none;
- stroke: black;
- stroke-width: 2px;
-}
-
-.grenades input:checked + svg circle {
- fill: gray;
-}
diff --git a/public/soldier_record_block.js b/public/soldier_record_block.js
deleted file mode 100644
index 3931649..0000000
--- a/public/soldier_record_block.js
+++ /dev/null
@@ -1,56 +0,0 @@
-customElements.define(
- 'damage-block',
- class extends HTMLSpanElement {
- constructor() {
- super();
-
- const template = document.querySelector('#damage-block'),
- templateContent = template.content,
- shadowRoot = this.attachShadow({ mode: "open" });
-
- shadowRoot.appendChild(templateContent.cloneNode(true));
- }
-
- connectedCallback() {
- const el = this.shadowRoot.querySelector('.damage-effect-indicator');
-
- el.addEventListener('click', e => {
- e.stopPropagation()
-
- this.#cycleThroughDamageStates(el);
- });
- }
-
- #cycleThroughDamageStates(el) {
- if (el.classList.contains('bruise')) {
- el.classList.remove('bruise');
- el.classList.add('lethal');
- } else if (el.classList.contains('lethal')) {
- el.classList.remove('lethal');
- } else {
- el.classList.add('bruise');
- }
- }
- },
- { extends: 'span' }
-);
-
-customElements.define(
- 'soldier-record-block',
- class extends HTMLDivElement {
- constructor() {
- super();
-
- const template = document.querySelector('#soldier-record-block'),
- templateContent = template.content,
- shadowRoot = this.attachShadow({ mode: "open" });
-
- shadowRoot.appendChild(templateContent.cloneNode(true));
- }
-
- connectedCallback() {
- this.shadowRoot.querySelector('.grenades').addEventListener('click', e => e.stopPropagation());
- }
- },
- { extends: 'div' }
-);
diff --git a/public/style.css b/public/style.css
deleted file mode 100644
index a973630..0000000
--- a/public/style.css
+++ /dev/null
@@ -1,411 +0,0 @@
-body {
- margin: 0;
- display: flex;
- overflow: hidden;
-}
-
-#map-container {
- flex-basis: 100%;
- position: relative;
- height: 100vh;
-}
-
-svg, object {
- background-color: darkgray;
- width: 100%;
- height: 100%;
-}
-
-object {
- opacity: 0;
- transition: opacity 0.25s;
-}
-
-svg image {
- image-rendering: pixelated;
-}
-
-svg image.map-scans {
- image-rendering: auto;
-}
-
-svg text {
- user-select: none;
-}
-
-div#status {
- position: absolute;
- bottom: 0;
- right: 0;
- margin: 3px;
- display: none;
- user-select: none;
-}
-
-#hex-counter {
- padding: 2px;
- background-color: rgba(255, 255, 255, 0.5);
- border-radius: 2px;
-}
-
-#hex-count {
- font-family: monospace;
-}
-
-div#content {
- display: flex;
- border-left: 1px solid gray;
- flex-basis: 0;
- /* overflow: scroll; */
- max-height: 100vh;
- flex-direction: column;
- /* padding: 2px; */
- position: relative;
-}
-
-#content > div:first-of-type {
- padding: 2px;
- border-bottom: 1px solid gray;
-}
-
-#content #buttons {
- line-height: 1.5em;
-}
-
-#content input[type="checkbox"].visible {
- position: absolute;
- right: 0;
-}
-
-#record-sheet {
- /* max-height: 100%; */
- overflow-y: auto;
- display: flex;
- flex-direction: column;
- /* display: none; */
- background-color: gray;
-}
-
-#record-sheet .name {
- text-transform: capitalize;
-}
-
-#record-sheet > div {
- /* padding: 0 2px; */
- overflow-y: auto;
- /* border: 1px solid black; */
-}
-
-#record-sheet > div > p {
- margin: 0;
- margin-top: 0px;
- margin-bottom: 1px;
- padding: 6px 2px;
- background-color: lightgray;
-}
-
-#record-sheet > div > div {
- /* border: 1px solid black; */
- margin-bottom: 1px;
- padding: 6px 4px;
- /* border-radius: 4px; */
-}
-
-#record-sheet > div:last-of-type {
- margin-top: 2px;
-}
-
-#record-sheet > div > div:last-of-type {
- margin-bottom: 0;
-}
-
-svg > defs > #point {
- fill: inherit;
- fill-opacity: inherit;
- stroke: inherit;
- stroke-width: inherit;
- stroke-opacity: inherit;
-}
-
-use[href="#point"] {
- opacity: 0;
- fill: teal;
- fill-opacity: 0.2;
- stroke: black;
- stroke-width: 0.5px;
-}
-
-use[href="#point"]:hover, use[href="#point"].hover {
- opacity: 1;
- fill: orange;
-}
-
-use[href="#point"].active {
- opacity: 0.2;
-}
-
-polyline.move-trace {
- stroke: gray;
- stroke-dasharray: 2;
- fill: none;
-}
-
-g#grid {
- transform: translate(19px, 31px) scale(4);
-}
-
-#background {
- fill: #bacae3;
-}
-
-#map2 {
- transform-origin: 0px 0px;
- transform: translate(-0.9px, -2.4px) scale(0.999, 1.007);
-}
-
-#map3 {
- transform-origin: 0px 0px;
- /* transform: translateY(1518px); */
- transform: translate(1.3px, 1564.1px) rotate(0.1deg) scale(0.999, 1.002);
-}
-
-#panel {
- display: none;
- position: absolute;
- right: 0;
- background-color: white;
- border: 1px solid black;
- padding: 2px;
-}
-
-#panel fieldset label {
- display: block;
- text-align: right;
-}
-
-#toggle-firing-arc-vis {
- position: absolute;
- right: 0;
- padding-top: 20px;
-}
-
-#toggle-firing-arc-vis div {
- margin-top: 10px;
- writing-mode: vertical-lr;
- transform: rotate(180deg);
-}
-
-#counter-base {
- r: inherit;
-}
-
-g.troop-counter-template, g.troop-counter-template use {
- r: inherit;
-}
-
-g.troop-counter, g.troop-counter use {
- r: inherit;
-}
-
-g.troop-counter-template text {
- fill: white;
- font-size: 12px;
- font-weight: bold;
- font-family: monospace;
- cursor: default;
- text-anchor: middle;
- pointer-events: none;
- user-select: none;
- transform: translateY(4px);
- stroke: none;
-}
-
-g.troop-counter [href="#counter-prone"] {
- transform: translate(-5px, 6px);
-}
-
-g#points g use.counter {
- r: 5px;
-}
-
-g#points g.hover use[href="#point"] {
- opacity: 1;
- fill: orange;
-}
-
-g#points g.hover use.counter {
- r: 7px;
-}
-
-g#points use.clone {
- stroke: white;
- stroke-width: 0.5px;
- stroke-dasharray: 1;
-}
-
-g#points use[data-allegiance="defender"].clone {
- fill: rgb(255, 126, 126);
-}
-
-g#points use[data-allegiance="attacker"].clone {
- fill: rgb(130, 190, 130);
-}
-
-text.counter, #troop-counter text {
- font-size: 12px;
- font-weight: bold;
- /* stroke: black; */
- fill: white;
- /* stroke-width: 0.5px; */
- font-family: sans-serif;
- cursor: default;
- text-anchor: middle;
- /* transform: translateY(25%); */
- transform: translateY(4px);
- pointer-events: none;
- user-select: none;
-}
-
-polygon.firing-arc[data-allegiance="defender"] {
- fill: red;
-}
-
-polygon.firing-arc[data-allegiance="attacker"] {
- fill: green;
-}
-
-#shapes {
- opacity: 0.1;
-}
-
-#shapes polygon {
- stroke: none;
-}
-
-#lines polygon {
- fill: none;
- stroke: black;
-}
-
-button.set-firing-arc img {
- vertical-align: middle;
- pointer-events: none;
-}
-
-.sight-line {
- stroke: orangered;
- stroke-width: 0.5px;
- pointer-events: none;
-}
-
-.soldier-record {
- display: inline-block;
- position: relative;
- white-space: nowrap;
- background-color: white;
-}
-
-.soldier-record[data-allegiance="attacker"] [slot="troop-number"] svg {
- fill: green;
-}
-
-.soldier-record[data-allegiance="defender"] [slot="troop-number"] svg {
- fill: red;
-}
-
-.soldier-record [slot="troop-number"] svg {
- width: 20px;
- height: 20px;
- background-color: initial;
- vertical-align: middle;
-}
-
-.soldier-record [slot="troop-number"] svg text {
- fill: white;
- text-anchor: middle;
- font-size: 10px;
- font-weight: bold;
- transform: translateY(3.5px);
- font-family: monospace;
-}
-
-.soldier-record[data-allegiance="defender"] [slot="troop-number"] img {
- fill: red;
-}
-
-.soldier-record[data-allegiance="attacker"] [slot="troop-number"] img {
- fill: green;
-}
-
-.soldier-record.selected {
- background-color: khaki;
-}
-
-.soldier-record.movement-ended {
- background-color: none;
- opacity: 0.5;
-}
-
-.wall {
- fill: none;
- stroke: red;
- stroke-width: 7px;
- opacity: 0.7;
-}
-
-#asterisk {
- font-size: 30;
-}
-
-img.logo {
- width: 100px;
- margin: 0 auto;
- display: block;
-}
-
-#turn-count[data-update="0"] span.inning-bottom {
- display: none;
-}
-
-#turn-count[data-update="1"] span.inning-top {
- display: none;
-}
-
-#map-dialog {
- border: 1px solid black;
-}
-
-.map-placeholder {
- position: absolute;
-}
-
-@media (width >= 1800px) {
- #record-sheet {
- flex-direction: row;
- /* gap: 2px; */
- }
-
- #record-sheet > div > p {
- margin-top: 0;
- }
-
- #record-sheet > div {
- /* max-height: unset; */
- overflow-y: unset;
- height: min-content;
- }
-
- #record-sheet div:last-of-type {
- margin-top: 0;
- }
-
- #record-sheet > div:first-of-type > div {
- /* margin-left: 1px; */
- margin-right: 1px;
- }
-
- #record-sheet > div:last-of-type > div {
- margin-left: 1px;
- /* margin-right: 1px; */
- }
-}
diff --git a/public/test.svg b/public/test.svg
deleted file mode 100644
index 0e257ce..0000000
--- a/public/test.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
diff --git a/scans/countersheet1.jpg b/scans/countersheet1.jpg
deleted file mode 100644
index 659070e..0000000
Binary files a/scans/countersheet1.jpg and /dev/null differ
diff --git a/scans/countersheet2.jpg b/scans/countersheet2.jpg
deleted file mode 100644
index 7a4d3ad..0000000
Binary files a/scans/countersheet2.jpg and /dev/null differ
diff --git a/scans/countersheet3.jpg b/scans/countersheet3.jpg
deleted file mode 100644
index dfe4696..0000000
Binary files a/scans/countersheet3.jpg and /dev/null differ
diff --git a/scans/countersheet4.jpg b/scans/countersheet4.jpg
deleted file mode 100644
index 028b216..0000000
Binary files a/scans/countersheet4.jpg and /dev/null differ
diff --git a/scans/map1.jpg b/scans/map1.jpg
deleted file mode 100644
index 8f6bc46..0000000
Binary files a/scans/map1.jpg and /dev/null differ
diff --git a/scans/map2.jpg b/scans/map2.jpg
deleted file mode 100644
index 82cd528..0000000
Binary files a/scans/map2.jpg and /dev/null differ
diff --git a/scans/map3.jpg b/scans/map3.jpg
deleted file mode 100644
index 08232e4..0000000
Binary files a/scans/map3.jpg and /dev/null differ
diff --git a/scans/map4.jpg b/scans/map4.jpg
deleted file mode 100644
index 8fa25dc..0000000
Binary files a/scans/map4.jpg and /dev/null differ
diff --git a/server.cjs b/server.cjs
index b5bd00f..19e6039 100644
--- a/server.cjs
+++ b/server.cjs
@@ -3,7 +3,7 @@ const { createServer } = require('esbuild-server');
const server = createServer(
{
bundle: true,
- entryPoints: ['src/index.js', 'src/map.js'],
+ entryPoints: ['src/index.js', 'src/map.js', 'src/soldier_record_block.js'],
...(process.env.NODE_ENV !== 'test') && {
outdir: 'build'
}
diff --git a/src/index.js b/src/index.js
index 4c7db30..800eea7 100644
--- a/src/index.js
+++ b/src/index.js
@@ -10,7 +10,7 @@ const mapPlaceholder = document.querySelector('.map-placeholder'),
proneToggle = document.getElementById('toggle-prone-counter'),
contentVisToggleEl = document.querySelector('#content input[type="checkbox"].visible'),
object = document.querySelector('object'),
- fileName = `${localStorage.getItem('map') || 'map1'}.svg`,
+ fileName = `assets/images/${localStorage.getItem('map') || 'map1'}.svg`,
toggleContentVis = (function () {
document.querySelectorAll('#content div').forEach(div => {
@@ -132,5 +132,5 @@ object.addEventListener('load', load);
objectDataObserver.observe(object, { attributeFilter: ['data'] });
if (object.getAttribute('data') !== fileName) {
- object.data = fileName;
+ object.data = `assets/images/${fileName}`;
}
diff --git a/src/modules/map_select_dialog.js b/src/modules/map_select_dialog.js
index a9f8bc8..fc8eecc 100644
--- a/src/modules/map_select_dialog.js
+++ b/src/modules/map_select_dialog.js
@@ -34,7 +34,7 @@ export function init() {
e.preventDefault();
localStorage.removeItem('pan-zoom');
localStorage.setItem('map', selectEl.value);
- document.querySelector('object').data = `${selectEl.value}.svg`;
+ document.querySelector('object').data = `assets/images/${selectEl.value}.svg`;
mapDialog.close();
});
}
diff --git a/src/soldier_record_block.js b/src/soldier_record_block.js
new file mode 100644
index 0000000..3931649
--- /dev/null
+++ b/src/soldier_record_block.js
@@ -0,0 +1,56 @@
+customElements.define(
+ 'damage-block',
+ class extends HTMLSpanElement {
+ constructor() {
+ super();
+
+ const template = document.querySelector('#damage-block'),
+ templateContent = template.content,
+ shadowRoot = this.attachShadow({ mode: "open" });
+
+ shadowRoot.appendChild(templateContent.cloneNode(true));
+ }
+
+ connectedCallback() {
+ const el = this.shadowRoot.querySelector('.damage-effect-indicator');
+
+ el.addEventListener('click', e => {
+ e.stopPropagation()
+
+ this.#cycleThroughDamageStates(el);
+ });
+ }
+
+ #cycleThroughDamageStates(el) {
+ if (el.classList.contains('bruise')) {
+ el.classList.remove('bruise');
+ el.classList.add('lethal');
+ } else if (el.classList.contains('lethal')) {
+ el.classList.remove('lethal');
+ } else {
+ el.classList.add('bruise');
+ }
+ }
+ },
+ { extends: 'span' }
+);
+
+customElements.define(
+ 'soldier-record-block',
+ class extends HTMLDivElement {
+ constructor() {
+ super();
+
+ const template = document.querySelector('#soldier-record-block'),
+ templateContent = template.content,
+ shadowRoot = this.attachShadow({ mode: "open" });
+
+ shadowRoot.appendChild(templateContent.cloneNode(true));
+ }
+
+ connectedCallback() {
+ this.shadowRoot.querySelector('.grenades').addEventListener('click', e => e.stopPropagation());
+ }
+ },
+ { extends: 'div' }
+);
--
cgit v1.2.3