diff options
-rw-r--r-- | board_fg.1x.webp | bin | 0 -> 115714 bytes | |||
-rw-r--r-- | board_fg.2x.webp | bin | 0 -> 238012 bytes | |||
-rw-r--r-- | icons/hand.svg | 1 | ||||
-rw-r--r-- | icons/icon_deck.png | bin | 0 -> 9459 bytes | |||
-rw-r--r-- | icons/icon_deck.svg | 344 | ||||
-rw-r--r-- | icons/icon_dominance.png | bin | 0 -> 9083 bytes | |||
-rw-r--r-- | icons/icon_dominance.svg | 9 | ||||
-rw-r--r-- | icons/treasure-map.svg | 1 | ||||
-rw-r--r-- | play.css | 97 | ||||
-rw-r--r-- | play.html | 76 | ||||
-rw-r--r-- | play.js | 44 |
11 files changed, 473 insertions, 99 deletions
diff --git a/board_fg.1x.webp b/board_fg.1x.webp Binary files differnew file mode 100644 index 0000000..8c37509 --- /dev/null +++ b/board_fg.1x.webp diff --git a/board_fg.2x.webp b/board_fg.2x.webp Binary files differnew file mode 100644 index 0000000..05ef5d9 --- /dev/null +++ b/board_fg.2x.webp diff --git a/icons/hand.svg b/icons/hand.svg deleted file mode 100644 index e1bd4f2..0000000 --- a/icons/hand.svg +++ /dev/null @@ -1 +0,0 @@ -<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="#d8bfd8" d="M496 136s-40.486 85.32-51.442 128.988c-14.33 57.118 2.078 100.297-18.747 155.68-35.998 64.97-38.435 75.466-169.81 75.33-48.132-.044-186.02-36.76-186.02-36.76C50.97 454.35 16 457.23 16 435.997c0-21.232 24.88-36.736 46.97-36.787l87.03 7.642c21.14-1.326 43.286-13.71 43.96-41.36-.353-40.927-4.4-72.357-25.175-105.6l-80.67-125.864c-4.818-10.02-5.964-27.105 7.983-34.732 13.947-7.628 29.793 3.71 35.205 13.582l90.11 122.57c9.618 8.955 26.738 10.68 25.278-8.38L206.903 44.652c-2.478-12.96 4.1-28.654 19.1-28.654 19.687 0 31.795 7.515 31.413 19.413l43.75 179.984c3.42 8.76 15.545 7.59 18.807-.49l12.462-175.022c.64-5.583 7.922-15.314 21.9-13.286 13.976 2.027 22.035 17 20.555 22.793l-4.044 172.936c2.838 15.327 14.888 17.565 24.266 9.008l61.22-109.487c3.72-9.183 18.288-11.096 26.715-7.455 7.84 5.107 12.954 11.96 12.954 21.603z"/></svg> diff --git a/icons/icon_deck.png b/icons/icon_deck.png Binary files differnew file mode 100644 index 0000000..24bb60c --- /dev/null +++ b/icons/icon_deck.png diff --git a/icons/icon_deck.svg b/icons/icon_deck.svg new file mode 100644 index 0000000..92a4d04 --- /dev/null +++ b/icons/icon_deck.svg @@ -0,0 +1,344 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="36" height="36" viewBox="0 0 36 36"> +<defs> +<clipPath id="c"><rect x="6" y="2" rx="4" width="23" height="32" /></clipPath> +</defs> +<g transform="rotate(4 18 18)"> +<rect x="5" y="1" rx="5" width="25" height="34" fill="#246" /> +<image clip-path="url(#c)" x="5" y="1" width="25" height="34" xlink:href="data:image/png;base64, +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 +ZPyNAAAAAElFTkSuQmCC"/> +</g> +</svg> diff --git a/icons/icon_dominance.png b/icons/icon_dominance.png Binary files differnew file mode 100644 index 0000000..6b170c1 --- /dev/null +++ b/icons/icon_dominance.png diff --git a/icons/icon_dominance.svg b/icons/icon_dominance.svg new file mode 100644 index 0000000..9d4623c --- /dev/null +++ b/icons/icon_dominance.svg @@ -0,0 +1,9 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="36" height="36" viewBox="0 0 36 36"> +<defs> +<clipPath id="c"><rect x="6" y="2" rx="4" width="23" height="32" /></clipPath> +</defs> +<g transform="rotate(4 18 18)"> +<rect x="5" y="1" rx="5" width="25" height="34" fill="#8d0e1a" /> +<image clip-path="url(#c)" x="5" y="1" width="25" height="34" xlink:href="../cards/card_101.png" /> +</g> +</svg> diff --git a/icons/treasure-map.svg b/icons/treasure-map.svg deleted file mode 100644 index 6feefc7..0000000 --- a/icons/treasure-map.svg +++ /dev/null @@ -1 +0,0 @@ -<svg xmlns="http://www.w3.org/2000/svg" style="height:512px;width:512px" viewBox="0 0 512 512"><path fill="#d8bfd8" d="M227.4 34.7c-10.1 0-20.2.2-30.2.5l6.1 65.6-61.1-62.5c-31.3 2.5-62.5 6.6-93.8 12.5l34.2 28.4-48-.6c35.1 100.2 6.9 182.6-.3 292.1L130 476.5c10-1.3 19.9-2.4 29.6-3.3l21.5-42.2 18.6 28.8 41.5-33.5.8 43c82.9-.2 157.7 9.1 235.7 7.9-28.2-73-31.2-143.6-31.9-209.2l-33.3-19.1 32.7-33.9c-.4-21.3-1.3-42-3.6-61.9l-57.4.7 50.2-41.7c-3.8-15.5-9-30.4-16.1-44.7l-29.5-23.9C335 38 281.2 34.6 227.4 34.7zm58.7 37c10.6 24.75 21.1 49.5 31.7 74.3 7.5-10.5 14.9-21 22.4-31.5 16 27.2 32 54.3 48 81.5l-16.2 9.5-33.3-56.7-42.5 59.4-15.2-10.9 24-33.5-21.9-51.5-24.6 40.1 12 22.6-16.5 8.8-18.3-34.5-24.8 58.2-17.2-7.4 32.5-76.2 7.7-18c4.8 9.2 9.6 18.3 14.5 27.4 12.5-20.6 25.1-41.11 37.7-61.6zM91.2 128c6.72 1.6 13.4 3.4 19.2 5.3-2.1 5.9-4.1 11.8-6.2 17.6-5.79-1.6-11.72-3.4-16.9-4.7 1.39-6 2.62-12.1 3.9-18.2zm37.9 13.4c6.3 3.8 12 7.2 17 12.8L132.6 167c-4-3.7-8.6-7-12.8-9.4zm28.7 32.3c2.1 7.4 2.1 15.7 1.6 22.5l-18.5-2.4c.1-5.1.3-10-1-14.5zm-21.2 35.7 17.2 7.1c-3.3 6.6-5.1 12.7-8.6 17.8l-16.3-9c2.6-5.4 5.6-10.8 7.7-15.9zm-16.5 34.1 17.7 6.1c-1.5 5.4-3 11.2-3.6 16.2l-18.6-2c1.3-7.5 2.1-14 4.5-20.3zm207.8 17.4c8.5 1 14.6 3 21.7 7.1l-9.8 16c-4.1-2.8-9.4-3.8-13.5-4.5zm-21.2 1.5c1.1 6.1 2.5 12.2 3.9 18.3-5.9 1.3-11.7 3.3-16.5 5.1l-6.8-17.4c6.7-2.4 13.5-4.7 19.4-6zm-37.9 15.9 11 15.1c-5.6 4-11.8 7.8-16.8 10.6l-8.9-16.4c5.1-2.9 10.6-6.3 14.7-9.3zM135.3 281c1.5 4.7 4.2 9.2 6.9 12.1l-13.8 12.6c-5.5-5.7-9.5-13.5-11.2-20.1zm230.3 3.3c3.5 6.4 6.8 12.7 8.7 19.1l-17.8 5.6c-2-5.4-4.3-10.8-6.8-14.8zm-127.4 10.9 6.9 17.3c-6.4 2.7-12.9 4.8-18.6 6.5l-5-18c5.9-1.6 11.3-3.8 16.7-5.8zm-83.8 6.2c5.3 1.7 10.8 3.4 15.7 4.2-1.2 6.1-2 12.3-2.8 18.5-7-1-14.5-3.3-20.5-5.7zm50 3.5 2.8 18.5c-7.2 1.3-13.4 1.6-19.8 1.9l-.4-18.7c5.9-.2 11.6-.8 17.4-1.7zm174.5 18c1 6.4 1.6 12.9 2.2 19.3l-18.7 1.5c-.4-6-.9-11.9-2-17.8zm-67.6 30.8c18.9 3.5 44.9 16.2 68.9 33.9 7.4-9.9 14.4-20.4 21.3-31.1l30.1 12.9c-4.7 12.3-15 25.6-28.6 37.2 17 16.2 30.9 34.5 37 53-13.8-18.1-31.1-31.8-50.3-42.8-23.4 15.8-52.7 25.9-79.6 20.4 22.9-4.4 40.6-16.6 55.8-32.6-16.5-7.5-33.8-13.9-51.3-20.1z"/></svg> @@ -45,32 +45,25 @@ body.shift #tooltip.focus { display: block; } #deck_info { position: absolute; - right: 8px; - bottom: 5px; - white-space: pre-line; - font-family: "Source Serif SmText", "Georgia", serif; - font-size: 12px; - font-style: italic; -} - -#banner { - cursor: pointer; display: flex; - justify-content: space-between; - border-bottom: 1px solid black; - background-color: #856781; - height: 40px; + flex-direction: column; + justify-content: start; + align-items: end; + font-family: var(--font-small); + font-style: italic; + font-size: 14px; + width: 100px; + top: 8px; + right: 4px; + gap: 5px; } -#banner > div { - flex-grow: 1; +#deck_info img { + display: block; } -.icon { - background-repeat: no-repeat; - background-size: auto 25px; - background-position: center; - filter: drop-shadow(0 1px 2px rgba(0,0,0,0.3)); +#deck_info img.hide { + display: none; } #popup { box-shadow: 2px 2px 4px #0004; } @@ -91,21 +84,16 @@ body.shift #tooltip.focus { display: block; } #popup.Political li.title { background-color: hsl(299, 30%, 63%) } #popup.Political li.action:hover { background-color: hsl(299, 30%, 28%) } -#favored_suit_banner.Political { background-image: url(icons/suit_political.svg) } -#favored_suit_banner.Intelligence { background-image: url(icons/suit_intelligence.svg) } -#favored_suit_banner.Economic { background-image: url(icons/suit_economic.svg) } -#favored_suit_banner.Military { background-image: url(icons/suit_military.svg) } - -#map_banner { background-image: url(icons/treasure-map.svg) } -#hand_banner { background-image: url(icons/hand.svg) } - .role { - position: relative; cursor: pointer; } -.role.active span { - text-decoration: underline; +.role_stat { + display: flex; + flex-wrap: wrap; + justify-content: end; + align-items: center; + gap: 4px; } .role_rupees_icon, @@ -116,8 +104,6 @@ body.shift #tooltip.focus { display: block; } .role_cylinders_text { width: 24px; height: 24px; - position: absolute; - cursor: pointer; top: 2px; text-align: right; background-repeat: no-repeat; @@ -433,26 +419,33 @@ body.shift #tooltip.focus { display: block; } .suit { position: absolute; - border: 3px solid transparent; + box-sizing: border-box; + border: 8px solid transparent; border-radius: 50%; - left: 31px; - width: 48px; - height: 48px; + left: 33px; + width: 50px; + height: 50px; + background-clip: padding-box; } .suit.action { - box-shadow: 0 0 0 2px black; + box-shadow: 0 0 0 3px white, inset 0 0 0 3px white; } -#suit_political { top: 129px; } -#suit_intelligence { top: 216px; } -#suit_economic { top: 305px; } -#suit_military { top: 394px; } +#suit_political { top: 131px; } +#suit_intelligence { top: 218px; } +#suit_economic { top: 307px; } +#suit_military { top: 396px; } -#suit_political.action { border-color: orchid; } -#suit_intelligence.action { border-color: deepskyblue; } -#suit_economic.action { border-color: orange; } -#suit_military.action { border-color: orangered; } +#suit_political.favored { background-color: #8c198c; } +#suit_intelligence.favored { background-color: #3370bf; } +#suit_economic.favored { background-color: #cc6e0c; } +#suit_military.favored { background-color: #bf1c2b; } + +#suit_political.action { background-color: #8c198c; } +#suit_intelligence.action { background-color: #3370bf; } +#suit_economic.action { background-color: #cc6e0c; } +#suit_military.action { background-color: #bf1c2b; } /* MARKET BOARD */ @@ -714,7 +707,7 @@ body.open .hand.minimize .card { /* IMAGES */ #market { background-image: url(market.1x.jpg) } -#board { background-image: url(board_fg.svg), url(board_bg.1x.jpg) } +#board { background-image: url(board_fg.1x.webp), url(board_bg.1x.jpg) } .player_dial.p0 { background-image: url(dials/loyalty_gray.1x.opt.png) } .player_dial.p1 { background-image: url(dials/loyalty_blue.1x.opt.png) } @@ -739,7 +732,7 @@ body.open .hand.minimize .card { @media (min-resolution: 97dpi) { #market { background-image: url(market.2x.jpg) } - #board { background-image: url(board_fg.svg), url(board_bg.2x.jpg) } + #board { background-image: url(board_fg.2x.webp), url(board_bg.2x.jpg) } .player_dial.p0 { background-image: url(dials/loyalty_gray.2x.opt.png) } .player_dial.p1 { background-image: url(dials/loyalty_blue.2x.opt.png) } @@ -886,9 +879,6 @@ body.open .hand.minimize .card { /* MOBILE PHONE LAYOUT */ @media (max-width: 800px) { - #banner { - display: none; - } #tooltip { top: 0; left: 0; @@ -899,9 +889,6 @@ body.open .hand.minimize .card { } @media (max-width: 400px) or (max-height: 600px) { - #banner { - display: none; - } #tooltip.card { width: 248px; height: 344px; @@ -35,78 +35,79 @@ <li class="resign" onclick="confirm_resign()">Resign </menu> </details> + <button id="suit_button" onclick="on_suit_button()"><img id="favored_suit_icon" src="icons/suit_political.svg"></button> </div> </header> <aside> <div id="roles"> - <div id="banner" class="Political"> - <div id="favored_suit_banner" class="icon" onclick="scroll_to_market()" onmouseenter="ui.status.textContent='Scroll to Market'" onmouseleave="on_blur()"></div> - <div id="map_banner" class="icon"onclick="scroll_to_map()" onmouseenter="ui.status.textContent='Scroll to Map'" onmouseleave="on_blur()"></div> - <div id="hand_banner" class="icon" onclick="toggle_open_hands()" onmouseenter="ui.status.textContent='Hide/show hands'" onmouseleave="on_blur()"></div> - </div> <div class="role hide" onclick="scroll_to_player(0)" id="role_Gray"> - <div class="role_name"><span>Gray</span> - <div class="role_rupees_icon" id="rupees_0_icon"></div> + <div class="role_name"><span>Gray</span></div> + <div class="role_stat"> <div class="role_rupees_text" id="rupees_0_text">15</div> - <div class="role_cylinders_icon" id="cylinders_0_icon"></div> + <div class="role_rupees_icon" id="rupees_0_icon"></div> <div class="role_cylinders_text" id="cylinders_0_text">15</div> - <div class="role_loyalty_icon" id="loyalty_0_icon"></div> + <div class="role_cylinders_icon" id="cylinders_0_icon"></div> <div class="role_loyalty_text" id="loyalty_0_text">15</div> - <div class="role_user">-</div> + <div class="role_loyalty_icon" id="loyalty_0_icon"></div> </div> + <div class="role_user">-</div> </div> <div class="role hide" onclick="scroll_to_player(1)" id="role_Blue"> - <div class="role_name"><span>Blue</span> - <div class="role_rupees_icon" id="rupees_1_icon"></div> + <div class="role_name"><span>Blue</span></div> + <div class="role_stat"> <div class="role_rupees_text" id="rupees_1_text">15</div> - <div class="role_cylinders_icon" id="cylinders_1_icon"></div> + <div class="role_rupees_icon" id="rupees_1_icon"></div> <div class="role_cylinders_text" id="cylinders_1_text">15</div> - <div class="role_loyalty_icon" id="loyalty_1_icon"></div> + <div class="role_cylinders_icon" id="cylinders_1_icon"></div> <div class="role_loyalty_text" id="loyalty_1_text">15</div> - <div class="role_user">-</div> + <div class="role_loyalty_icon" id="loyalty_1_icon"></div> </div> + <div class="role_user">-</div> </div> <div class="role hide" onclick="scroll_to_player(2)" id="role_Tan"> - <div class="role_name"><span>Tan</span> - <div class="role_rupees_icon" id="rupees_2_icon"></div> + <div class="role_name"><span>Tan</span></div> + <div class="role_stat"> <div class="role_rupees_text" id="rupees_2_text">15</div> - <div class="role_cylinders_icon" id="cylinders_2_icon"></div> + <div class="role_rupees_icon" id="rupees_2_icon"></div> <div class="role_cylinders_text" id="cylinders_2_text">15</div> - <div class="role_loyalty_icon" id="loyalty_2_icon"></div> + <div class="role_cylinders_icon" id="cylinders_2_icon"></div> <div class="role_loyalty_text" id="loyalty_2_text">15</div> - <div class="role_user">-</div> + <div class="role_loyalty_icon" id="loyalty_2_icon"></div> </div> + <div class="role_user">-</div> </div> <div class="role hide" onclick="scroll_to_player(3)" id="role_Red"> - <div class="role_name"><span>Red</span> - <div class="role_rupees_icon" id="rupees_3_icon"></div> + <div class="role_name"><span>Red</span></div> + <div class="role_stat"> <div class="role_rupees_text" id="rupees_3_text">15</div> - <div class="role_cylinders_icon" id="cylinders_3_icon"></div> + <div class="role_rupees_icon" id="rupees_3_icon"></div> <div class="role_cylinders_text" id="cylinders_3_text">15</div> - <div class="role_loyalty_icon" id="loyalty_3_icon"></div> + <div class="role_cylinders_icon" id="cylinders_3_icon"></div> <div class="role_loyalty_text" id="loyalty_3_text">15</div> - <div class="role_user">-</div> + <div class="role_loyalty_icon" id="loyalty_3_icon"></div> </div> + <div class="role_user">-</div> </div> <div class="role hide" onclick="scroll_to_player(4)" id="role_Black"> - <div class="role_name"><span>Black</span> - <div class="role_rupees_icon" id="rupees_4_icon"></div> + <div class="role_name"><span>Black</span></div> + <div class="role_stat"> <div class="role_rupees_text" id="rupees_4_text">15</div> - <div class="role_cylinders_icon" id="cylinders_4_icon"></div> + <div class="role_rupees_icon" id="rupees_4_icon"></div> <div class="role_cylinders_text" id="cylinders_4_text">15</div> - <div class="role_loyalty_icon" id="loyalty_4_icon"></div> + <div class="role_cylinders_icon" id="cylinders_4_icon"></div> <div class="role_loyalty_text" id="loyalty_4_text">15</div> - <div class="role_user">-</div> + <div class="role_loyalty_icon" id="loyalty_4_icon"></div> </div> + <div class="role_user">-</div> </div> - </div> + <div id="log"></div> </aside> @@ -183,6 +184,17 @@ <div class="hide rule Kandahar"></div> <div class="hide rule Punjab"></div> + <div id="deck_info"> + <div style="display:flex;align-items:center;"> + <div id="deck_count"></div> + <img height="22" src="icons/icon_deck.png"> + <img height="22" id="dom_info_1" src="icons/icon_dominance.png"> + </div> + <img height="22" id="dom_info_2" src="icons/icon_dominance.png"> + <img height="22" id="dom_info_3" src="icons/icon_dominance.png"> + <img height="22" id="dom_info_4" src="icons/icon_dominance.png"> + </div> + <svg id="svgmap" width="1280px" height="630px" viewBox="0 0 1280 630"> <g transform="translate(-1,632) scale(0.78125,-0.78125)"> @@ -336,8 +348,6 @@ <div id="suit_economic" class="suit"></div> <div id="suit_military" class="suit"></div> -<div id="deck_info"></div> - </div> <div id="global_events"></div> @@ -336,15 +336,28 @@ let ui = { } function scroll_to_map() { - scroll_into_view(ui.board) + scroll_into_view_if_needed(ui.board) } function scroll_to_market() { - scroll_into_view(ui.market) + scroll_into_view_if_needed(ui.market) } function scroll_to_player(p) { - scroll_into_view(ui.player[p].area) + scroll_into_view_if_needed(ui.player[p].area) +} + +function on_suit_button() { + if (is_suit_action("Political")) + send_action("suit", "Political") + else if (is_suit_action("Intelligence")) + send_action("suit", "Intelligence") + else if (is_suit_action("Economic")) + send_action("suit", "Economic") + else if (is_suit_action("Military")) + send_action("suit", "Military") + else + scroll_into_view_if_needed(ui.board) } let open_toggle = true @@ -499,7 +512,7 @@ function on_log(text) { function layout_block_pool() { function place_block_pool(i, x, y) { - ui.pieces[i].style = `top:${27+y*48}px;left:${1070+26+x*(26+35)}px` + ui.pieces[i].style = `top:${40+y*47}px;left:${1105+x*45}px` } for (let k = 0, i = 0; i < 12; ++i) { if (view.pieces[i] === 0) { @@ -671,7 +684,9 @@ function on_update() { ui.prompt.innerHTML = view.prompt.replace(/#(\d+)/g, sub_card_name) - ui.deck_info.textContent = `${view.cards[0]}x Draw Deck, ${view.cards[1]}x Dominance Check` + ui.deck_count.textContent = view.cards[0] + for (let i = 0; i < 4; ++i) + ui.dom_info[i].classList.toggle("hide", i >= view.cards[1]) action_button("loyalty_afghan", "Afghan") action_button("loyalty_british", "British") @@ -706,7 +721,11 @@ function on_update() { ui.body.classList.toggle("open", !!view.open) ui.favored1.className = view.favored - ui.favored2.className = view.favored + " icon" + ui.suit_political.classList.toggle("favored", view.favored === "Political") + ui.suit_intelligence.classList.toggle("favored", view.favored === "Intelligence") + ui.suit_economic.classList.toggle("favored", view.favored === "Economic") + ui.suit_military.classList.toggle("favored", view.favored === "Military") + ui.favored2.src = "icons/suit_" + view.favored.toLowerCase() + ".svg" for (let row = 0; row < 2; ++row) { for (let col = 0; col < 6; ++col) { @@ -1019,7 +1038,15 @@ function build_ui() { ui.body = document.querySelector("body") ui.main = document.querySelector("main") ui.prompt = document.getElementById("prompt") - ui.deck_info = document.getElementById("deck_info") + + ui.deck_count = document.getElementById("deck_count") + ui.dom_info = [ + document.getElementById("dom_info_1"), + document.getElementById("dom_info_2"), + document.getElementById("dom_info_3"), + document.getElementById("dom_info_4") + ] + ui.board = document.getElementById("board") ui.market = document.getElementById("market") ui.market_a = document.getElementById("market_a") @@ -1027,7 +1054,7 @@ function build_ui() { ui.status = document.getElementById("status") ui.tooltip = document.getElementById("tooltip") ui.favored1 = document.getElementById("favored_suit_marker") - ui.favored2 = document.getElementById("favored_suit_banner") + ui.favored2 = document.getElementById("favored_suit_icon") ui.popup_label = document.getElementById("popup_label") ui.global_events = document.getElementById("global_events") @@ -1092,4 +1119,3 @@ function build_ui() { if (player !== 'Observer') ui.player[top].hand_size.classList.add("hide") } - |