diff options
-rw-r--r-- | info/readme.html | 22 | ||||
-rw-r--r-- | play.css | 2 | ||||
-rw-r--r-- | play.js | 5 | ||||
-rw-r--r-- | rules.js | 10 |
4 files changed, 33 insertions, 6 deletions
diff --git a/info/readme.html b/info/readme.html index d4df0ad..1745a0e 100644 --- a/info/readme.html +++ b/info/readme.html @@ -43,13 +43,33 @@ Deals in Maria are binding! <p> In order to remember what deals have been made, use the "Propose deal" menu item -to write down the terms and duration. Deals that have been noted this way will be tracked +to write down the promises and duration. Deals that have been noted this way will be tracked on the political display. <p> +If you check the Politics/Movement/Retreat/Hussars checkboxes when creating a deal, +the counterparty will be able to validate your actions so that you abide by your promise. +If they deem that you have broken your promise, your moves will be undone and you have to +start over. This can be a helpful feature so you don't break your promises accidentally. + +<p> Only the currently active player can propose deals, but they can propose a deal between any of the powers. +<hr> + +<p> +How can I ensure that my opponents answer my questions in the chat? + +<p> +Use the "ping player" menu option. +This will make it their turn, so they know that the game is blocked waiting for their reply. + +<hr> + +<p> +How do I give away TCs? + <p> The system will enforce subsidy contracts, but you must use the "Create subsidy" menu to create subsidies for the system to recognize them and deal the @@ -305,7 +305,7 @@ button:not(.hide):has(img) { flex-wrap: wrap; justify-content: start; align-items: center; - gap: 8px; + gap: 12px; } #pd_main { grid-row: 1; grid-column: 1; } @@ -1808,7 +1808,10 @@ function update_subsidy_list(subs, elt, title) { show = true str += "<tr><td width=24>" + power_image[from] str += "<td width=24>" + power_image[to] - str += "<td>" + n + " TC" + if (n > 1) + str += "<td>" + n + " turns" + else + str += "<td>1 turn" }) } if (show) { @@ -4908,6 +4908,7 @@ states.political_shift = { prompt() { let info = event_shift[current_political_effect()] prompt("Shift " + TRACK_NAME[info.track] + ".") + view.pc = game.pc if (info.condition === undefined || info.condition()) { if (info.track === "saxony") view.actions.shift_saxony = info.amount @@ -4980,6 +4981,7 @@ states.political_troops_draw = { inactive: "execute political card", prompt() { prompt("Draw " + format_card_list_prompt(game.draw) + ".") + view.pc = game.pc view.draw = game.draw view.actions.next = 1 }, @@ -5026,6 +5028,7 @@ states.political_troops_place = { prompt("Recieve " + game.count + " troops.") else if (game.count === 1) prompt("Recieve 1 troop.") + view.pc = game.pc if (game.count > 0) { for (let p of all_power_generals[game.power]) { @@ -5063,6 +5066,7 @@ states.war_of_jenkins_ear = { inactive: "execute political card", prompt() { prompt("France -1 TC this turn.") + view.pc = game.pc view.actions.accept = 1 view.actions.ignore = 1 }, @@ -6247,7 +6251,7 @@ function next_reject_propose_subsidy() { states.reject_propose_subsidy = { dont_snap: true, - inactive: "approve subsidy contract", + inactive: "resume play", prompt() { let from = game.proposal.from let to = game.proposal.to @@ -6406,7 +6410,7 @@ function next_reject_cancel_subsidy() { states.reject_cancel_subsidy = { dont_snap: true, - inactive: "cancel subsidy contract", + inactive: "resume play", prompt() { let from = game.proposal.from let to = game.proposal.to @@ -6494,7 +6498,7 @@ function next_reject_deal() { states.reject_deal = { dont_snap: true, - inactive: "accept deal", + inactive: "resume play", prompt() { let from = game.proposal.deal[DI_A_POWER] let to = game.proposal.deal[DI_B_POWER] |