summaryrefslogtreecommitdiff
path: root/play.js
diff options
context:
space:
mode:
authorTor Andersson <tor@ccxvii.net>2023-06-23 12:51:59 +0200
committerTor Andersson <tor@ccxvii.net>2023-07-07 18:39:37 +0200
commit480df7113c50d45f748b4af8ce59172d58568376 (patch)
tree02ae88f35942a42cb76e504d629862b5a46f0065 /play.js
parentae71215fc3ae9c7f838a6cd76f82ad64a3728acd (diff)
downloadtime-of-crisis-480df7113c50d45f748b4af8ce59172d58568376.tar.gz
Events.
Diffstat (limited to 'play.js')
-rw-r--r--play.js27
1 files changed, 22 insertions, 5 deletions
diff --git a/play.js b/play.js
index ef65b2f..8a5cf42 100644
--- a/play.js
+++ b/play.js
@@ -132,6 +132,9 @@ function is_no_place_governor(province) {
function get_support(province) {
return view.support[province]
}
+function get_rival_emperor_location(id) {
+ return view.rival_emperors[id]
+}
function get_barbarian_location(id) {
return view.barbarians[id] & 63
}
@@ -562,11 +565,13 @@ const LAYOUT_PATTERN = [
let ui = {
cards: [],
+ event_cards: [],
militia: [],
body: document.querySelector("body"),
header: document.querySelector("header"),
hand: document.getElementById("hand"),
draw: document.getElementById("draw"),
+ active_event: document.getElementById("active_event"),
discard: document.getElementById("discard"),
played: document.getElementById("played"),
market: document.getElementById("market"),
@@ -728,7 +733,11 @@ function is_action(action, arg) {
function on_init() {
for (let c = 0; c < CARD_INDEX.length; ++c) {
let name = CARD_INFO[CARD_INDEX[c]].name
- ui.cards[c] = create("div", { className: "card influence_" + name.toLowerCase(), my_action: "card", my_id: c })
+ ui.cards[c] = create("div", { className: "card influence influence_" + name.toLowerCase(), my_action: "card", my_id: c })
+ }
+
+ for (let e = 0; e <= 15; ++e) {
+ ui.event_cards[e] = create("div", { className: "card event event_" + e })
}
for (let i = 0; i < 33; ++i)
@@ -1056,6 +1065,16 @@ function on_update() {
}
}
+ for (let re = 0; re < 3; ++re) {
+ let loc = get_rival_emperor_location(re)
+ if (loc === UNAVAILABLE)
+ hide(ui.rival_emperors[re])
+ else {
+ show(ui.rival_emperors[re])
+ layout_stack(-1, [ ui.rival_emperors[re] ], loc, false, 8, 8)
+ }
+ }
+
for (let region = 0; region < 21; ++region) {
ui.regions[region].classList.toggle("selected", view.selected_region === region)
}
@@ -1196,10 +1215,8 @@ function on_update() {
ui.dice[3].className = "dice white d" + view.dice[3]
layout_barbarian_dice(ui.dice[2], ui.dice[3], view.crisis)
- if (view.events) {
- for (let c of view.events)
- ui.played.appendChild(ui.cards[c])
- }
+ ui.active_event.replaceChildren()
+ ui.active_event.appendChild(ui.event_cards[view.event])
ui.played.replaceChildren()
if (view.played) {