summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--const.js6
-rw-r--r--play.css7
-rw-r--r--play.js43
-rw-r--r--rules.js18
4 files changed, 52 insertions, 22 deletions
diff --git a/const.js b/const.js
index 9f0dd5f..bb37d83 100644
--- a/const.js
+++ b/const.js
@@ -30,9 +30,9 @@ const PIECE_FACTION_TYPE_NAME = [
[ null, null, "Invader" ]
]
const PIECE_FACTION_TYPE_SYMBOL = [
- [ null, "EDS", "CDS" ],
- [ null, "EBK", null ],
- [ null, "EVE", null ],
+ [ "DDS", "EDS", "CDS" ],
+ [ "DBK", "EBK", null ],
+ [ "DVE", "EVE", null ],
[ null, null, "CMI" ]
]
const LAST_CAVALRY = 9
diff --git a/play.css b/play.css
index e5f62ab..7ee9835 100644
--- a/play.css
+++ b/play.css
@@ -167,6 +167,7 @@ img.f {
#log .h2.ve { background-color: #e4ba6e }
#log .h2.mi { background-color: #ebc9be }
+#log img.d { height: 15px; vertical-align: -3px }
#log img.c { height: 15px; vertical-align: -3px }
#log img.f { height: 16px; vertical-align: -2px }
#log img.h { height: 17px; vertical-align: -4px; margin: 0px 2px; }
@@ -651,8 +652,11 @@ path.campaign { stroke: black; stroke-dasharray: 4 4; }
.card.card_43{background-image:url(cards100/Mongol_Invasion_VE_front.jpg)}
.card.card_44{background-image:url(cards100/Mongol_Invasion_VE_front.jpg)}
.card.card_45{background-image:url(cards100/Succession1_front.jpg)}
+.card.card_45_back{background-image:url(cards100/Succession1_back.jpg)}
.card.card_46{background-image:url(cards100/Succession2_front.jpg)}
+.card.card_46_back{background-image:url(cards100/Succession2_back.jpg)}
.card.card_47{background-image:url(cards100/Succession3_front.jpg)}
+.card.card_47_back{background-image:url(cards100/Succession3_back.jpg)}
.card.card_48{background-image:url(cards100/Timurid_Empire_front.jpg)}
.card.card_49{background-image:url(cards100/Timurid_Empire_front.jpg)}
.card.card_dynasty_khalji{background-image:url(cards100/Dynasty_front.jpg)}
@@ -705,8 +709,11 @@ path.campaign { stroke: black; stroke-dasharray: 4 4; }
.card.card_43{background-image:url(cards200/Mongol_Invasion_VE_front.jpg)}
.card.card_44{background-image:url(cards200/Mongol_Invasion_VE_front.jpg)}
.card.card_45{background-image:url(cards200/Succession1_front.jpg)}
+.card.card_45_back{background-image:url(cards200/Succession1_back.jpg)}
.card.card_46{background-image:url(cards200/Succession2_front.jpg)}
+.card.card_46_back{background-image:url(cards200/Succession2_back.jpg)}
.card.card_47{background-image:url(cards200/Succession3_front.jpg)}
+.card.card_47_back{background-image:url(cards200/Succession3_back.jpg)}
.card.card_48{background-image:url(cards200/Timurid_Empire_front.jpg)}
.card.card_49{background-image:url(cards200/Timurid_Empire_front.jpg)}
.card.card_dynasty_khalji{background-image:url(cards200/Dynasty_front.jpg)}
diff --git a/play.js b/play.js
index 1eca037..02badd7 100644
--- a/play.js
+++ b/play.js
@@ -1028,18 +1028,32 @@ function on_update() {
update_player_info(NAME_VE, view.vp[2])
ui.this_card.className = make_card_class_name(view.deck[0])
- if (view.deck[1] > 0) {
- ui.deck_outer.className = "card card_back"
- ui.deck_size.textContent = `${view.deck[1]}`
- } else {
+ if (view.deck[1] === 0) {
ui.deck_outer.className = "hide"
+ } else {
+ if (view.deck[2] === 0)
+ ui.deck_outer.className = "card card_back"
+ else if (view.deck[2] === 1)
+ ui.deck_outer.className = "card card_45_back"
+ else if (view.deck[2] === 2)
+ ui.deck_outer.className = "card card_46_back"
+ else if (view.deck[2] === 3)
+ ui.deck_outer.className = "card card_47_back"
+
+ ui.deck_size.textContent = `${view.deck[1]}`
}
- if (view.deck[2][1] !== null)
- ui.of_gods_and_kings.className = make_card_class_name(view.deck[2][0])
+ if (view.deck[3][1] !== null)
+ ui.of_gods_and_kings.className = make_card_class_name(view.deck[3][0])
else
ui.of_gods_and_kings.className = "hide"
+ // Dynasty card
+ if (view.succ > 0)
+ ui.dynasty_card.className = "card card_dynasty_tughlaq"
+ else
+ ui.dynasty_card.className = "card card_dynasty_khalji"
+
ui.this_card.classList.toggle("action", !!(view.actions && view.actions.event === 1))
ui.dynasty_card.classList.toggle("action", !!(view.actions && view.actions.dynasty_card === 1))
ui.shaded_event.classList.toggle("action", !!(view.actions && view.actions.shaded === 1))
@@ -1047,12 +1061,6 @@ function on_update() {
ui.gk_shaded_event.classList.toggle("action", !!(view.actions && view.actions.gk_shaded === 1))
ui.gk_unshaded_event.classList.toggle("action", !!(view.actions && view.actions.gk_unshaded === 1))
- // Dynasty card
- if (view.succ > 0)
- ui.dynasty_card.className = "card card_dynasty_tughlaq"
- else
- ui.dynasty_card.className = "card card_dynasty_khalji"
-
layout_score()
let items = [ ]
@@ -1304,7 +1312,7 @@ function on_focus_unshaded_event() {
}
function on_focus_gk_unshaded_event() {
- let c = view.deck[2][0]
+ let c = view.deck[3][0]
if (c > 0) {
let f = data.card_flavor[c]
if (f)
@@ -1322,7 +1330,7 @@ function on_focus_shaded_event() {
}
function on_focus_gk_shaded_event() {
- let c = view.deck[2][0]
+ let c = view.deck[3][0]
if (c > 0) {
ui.status.textContent = data.card_title[c] + " - " + data.card_flavor_shaded[c]
}
@@ -1366,6 +1374,10 @@ function sub_space(match, p1) {
return `<span class="tip" onmouseenter="on_focus_space_tip(${x})" onmouseleave="on_blur_space_tip(${x})" onmousedown="on_click_space_tip(${x})">${n}</span>`
}
+const D_DS = '<img class="d" src="pieces/ds_disk.svg">'
+const D_BK = '<img class="d" src="pieces/bk_disk.svg">'
+const D_VE = '<img class="d" src="pieces/ve_disk.svg">'
+
const E_DS = '<img class="h" src="pieces/ds_governor.svg">'
const E_BK = '<img class="h" src="pieces/bk_amir.svg">'
const E_VE = '<img class="h" src="pieces/ve_raja.svg">'
@@ -1394,6 +1406,9 @@ function on_log(text) {
text = text.replace(/</g, "&lt;")
text = text.replace(/>/g, "&gt;")
+ text = text.replace(/\bDDS\b/g, D_DS)
+ text = text.replace(/\bDBK\b/g, D_BK)
+ text = text.replace(/\bDVE\b/g, D_VE)
text = text.replace(/\bCDS\b/g, C_DS)
text = text.replace(/\bCMI\b/g, C_MI)
text = text.replace(/\bEDS\b/g, E_DS)
diff --git a/rules.js b/rules.js
index 99ae2b8..5e82eaa 100644
--- a/rules.js
+++ b/rules.js
@@ -106,6 +106,7 @@ exports.view = function (state, role) {
let this_card = game.deck[0] | 0
let deck_size = Math.max(0, game.deck.length - 1)
+ let card_back = next_card_back()
view = {
state: game.state,
@@ -117,7 +118,7 @@ exports.view = function (state, role) {
vp: game.vp,
resources: game.resources,
inf: game.inf,
- deck: [ this_card, deck_size, game.of_gods_and_kings ],
+ deck: [ this_card, deck_size, card_back, game.of_gods_and_kings ],
cavalry: game.cavalry,
cylinder: game.cylinder,
pieces: game.pieces,
@@ -188,7 +189,6 @@ exports.view = function (state, role) {
else
view.actions.undo = 0
}
-
}
save_game()
@@ -357,6 +357,14 @@ function this_card() {
return game.deck[0]
}
+function next_card_back() {
+ if (game.deck.length > 1) {
+ if (game.deck[1] >= 45 && game.deck[1] <= 47)
+ return game.deck[1] - 44
+ }
+ return 0
+}
+
function goto_card() {
if (this_card() >= 37 && this_card() <= 40) {
log_h1("Mongol Invaders C" + this_card())
@@ -5845,9 +5853,9 @@ const PIECE_FACTION_TYPE_NAME = [
[ null, null, "Invader" ]
]
const PIECE_FACTION_TYPE_SYMBOL = [
- [ null, "EDS", "CDS" ],
- [ null, "EBK", null ],
- [ null, "EVE", null ],
+ [ "DDS", "EDS", "CDS" ],
+ [ "DBK", "EBK", null ],
+ [ "DVE", "EVE", null ],
[ null, null, "CMI" ]
]
const LAST_CAVALRY = 9