summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--board_fg.1x.webpbin0 -> 115714 bytes
-rw-r--r--board_fg.2x.webpbin0 -> 238012 bytes
-rw-r--r--icons/hand.svg1
-rw-r--r--icons/icon_deck.pngbin0 -> 9459 bytes
-rw-r--r--icons/icon_deck.svg344
-rw-r--r--icons/icon_dominance.pngbin0 -> 9083 bytes
-rw-r--r--icons/icon_dominance.svg9
-rw-r--r--icons/treasure-map.svg1
-rw-r--r--play.css97
-rw-r--r--play.html76
-rw-r--r--play.js44
11 files changed, 473 insertions, 99 deletions
diff --git a/board_fg.1x.webp b/board_fg.1x.webp
new file mode 100644
index 0000000..8c37509
--- /dev/null
+++ b/board_fg.1x.webp
Binary files differ
diff --git a/board_fg.2x.webp b/board_fg.2x.webp
new file mode 100644
index 0000000..05ef5d9
--- /dev/null
+++ b/board_fg.2x.webp
Binary files differ
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
new file mode 100644
index 0000000..24bb60c
--- /dev/null
+++ b/icons/icon_deck.png
Binary files differ
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
new file mode 100644
index 0000000..6b170c1
--- /dev/null
+++ b/icons/icon_dominance.png
Binary files differ
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>
diff --git a/play.css b/play.css
index 5064805..6d5265a 100644
--- a/play.css
+++ b/play.css
@@ -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;
diff --git a/play.html b/play.html
index aecfdef..f9e28f1 100644
--- a/play.html
+++ b/play.html
@@ -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>
diff --git a/play.js b/play.js
index ecd088f..3543b3f 100644
--- a/play.js
+++ b/play.js
@@ -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")
}
-