summaryrefslogtreecommitdiff
path: root/rules.js
diff options
context:
space:
mode:
authorTor Andersson <tor@ccxvii.net>2024-10-27 20:22:42 +0100
committerTor Andersson <tor@ccxvii.net>2024-10-27 20:22:42 +0100
commitca168e3d99fd49602ea290c04045e7140c5da70e (patch)
treed02322ddf131414ad3ac036f70354b09257503dc /rules.js
parenta6776816e5493055ecf16d5ff9c81c4ebe131f0b (diff)
downloadmaria-ca168e3d99fd49602ea290c04045e7140c5da70e.tar.gz
political flavor texts and log formatting
Diffstat (limited to 'rules.js')
-rw-r--r--rules.js30
1 files changed, 20 insertions, 10 deletions
diff --git a/rules.js b/rules.js
index c47801f..8cd9109 100644
--- a/rules.js
+++ b/rules.js
@@ -2,11 +2,12 @@
/*
+TODO: confirm austria/pragmatic stacking cooperation
+
OPTIMIZE: fewer/smarter/smaller lists, smarter power control checks
OPTIMIZE: range checks instead of set checks
POLISH: check inactive prompts
-POLISH: check push_undo/clear_undo for all
UI: show who controls which power in player list
UI: show TC modifiers in banner
@@ -3766,10 +3767,11 @@ function goto_politics() {
}
// 25.2 Reveal 2 Political Cards
- log("Political Cards")
while (game.political.length < 2) {
let pc = game.pol_deck.pop()
- log(">C" + pc)
+ log("C" + pc)
+ log("%" + pc)
+ log("")
if (pc === IMPERIAL_ELECTION)
game.flags |= F_IMPERIAL_ELECTION
else
@@ -3812,6 +3814,11 @@ states.determine_trump_suit = {
// 25.4 Place TCs on the political display
function goto_place_tc_on_display() {
+ log("Place TCs on political display")
+ next_place_tc_on_display()
+}
+
+function next_place_tc_on_display() {
set_active_to_power(POWER_FROM_POLITICAL_STAGE[game.stage])
game.state = "place_tc_on_display"
}
@@ -3825,13 +3832,13 @@ states.place_tc_on_display = {
},
card(c) {
push_undo()
- log(power_name[game.power] + " placed a TC.")
+ log(">" + power_name[game.power] + " placed TC")
remove_card_in_hand(c)
set_add(game.face_down[game.power], c)
game.state = "place_tc_on_display_done"
},
pass() {
- log(power_name[game.power] + " passed.")
+ log(">" + power_name[game.power] + " passed")
end_place_tc_on_display()
},
}
@@ -3851,7 +3858,7 @@ function end_place_tc_on_display() {
if (++game.stage === 4)
goto_determine_order_of_influence()
else
- goto_place_tc_on_display()
+ next_place_tc_on_display()
}
// 25.5 Determine order of influence
@@ -3859,7 +3866,7 @@ function end_place_tc_on_display() {
function goto_determine_order_of_influence() {
log_br()
- log("Influence")
+ log("Order of influence")
// Turn cards face-up (and turn bluff cards face down again)
for (let pow of POWER_FROM_POLITICAL_STAGE) {
@@ -3918,6 +3925,7 @@ function goto_select_political_card() {
} else {
game.stage |= 1 << pow
set_active_to_power(pow)
+ log("=" + game.power)
game.state = "select_political_card"
}
} else {
@@ -3936,7 +3944,7 @@ states.select_political_card = {
},
political(pc) {
push_undo()
- log(power_name[game.power] + " chose C" + pc + ".")
+ log("C" + pc)
// face-up TCs to discard
game.face_up[game.power] = []
@@ -3961,12 +3969,13 @@ states.political_card_discard_or_execute = {
},
execute() {
push_undo()
+ log(power_name[game.power] + " executes card.")
next_execute_political_card()
},
discard() {
push_undo()
log("Discarded with no effect.")
- end_execute_political_card()
+ game.state = "political_card_done"
},
}
@@ -4168,6 +4177,7 @@ function can_add_troops() {
}
function goto_political_troops_place() {
+ log(power_name[game.power] + " " + game.count + " troops.")
if (can_add_troops())
game.state = "political_troops_place"
else
@@ -4916,7 +4926,7 @@ states.france_reduces_military_objectives = {
}
states.france_reduces_military_objectives_done = {
- inactive: "supply",
+ inactive: "reduce military objectives",
prompt() {
prompt("Set aside " + game.vp[SET_ASIDE_FRANCE] + " victory markers.")
view.actions.next = 1