diff options
-rw-r--r-- | events.txt | 10 | ||||
-rw-r--r-- | rules.js | 56 |
2 files changed, 58 insertions, 8 deletions
@@ -231,9 +231,9 @@ CARD 39 - Léon Gambetta prompt "Replace up to 1 in Institutional." replace_up_to 1 INSTITUTIONAL if (game.active === COMMUNE) - decrease_prussian_collaboration + may_decrease_prussian_collaboration else - decrease_revolutionary_momentum + may_decrease_revolutionary_momentum endif CARD 40 - Elihu Washburne @@ -306,6 +306,7 @@ CARD 45 - Fighting in Issy Village CARD 46 - Battle of Mont-Valérien ops 3 FORTS + # TODO: may... if (game.active === COMMUNE) decrease_prussian_collaboration else @@ -346,6 +347,7 @@ CARD 49 - Pius IX CARD 50 - Socialist International ops 2 PUBLIC_OPINION + # TODO: may... if (game.active === COMMUNE) increase_revolutionary_momentum else @@ -373,9 +375,9 @@ CARD 52 - Rise of Republicanism CARD 53 - Legitimacy ops 3 POLITICAL if (game.active === COMMUNE) - increase_revolutionary_momentum + may_increase_revolutionary_momentum else - increase_prussian_collaboration + may_increase_prussian_collaboration endif # C3i Censorship Cards @@ -2758,6 +2758,20 @@ function vm_decrease_prussian_collaboration() { vm_next() } +function vm_may_decrease_revolutionary_momentum() { + if (game.red_momentum > 0) + game.state = "vm_may_decrease_revolutionary_momentum" + else + vm_next() +} + +function vm_may_decrease_prussian_collaboration() { + if (game.blue_momentum > 0) + game.state = "vm_may_decrease_prussian_collaboration" + else + vm_next() +} + function vm_operand_spaces(x) { let s = vm_operand(x) if (typeof s === "number") @@ -2995,6 +3009,40 @@ states.vm_decrease_prussian_collaboration = { }, } +states.vm_may_decrease_revolutionary_momentum = { + inactive: "decrease Revolutionary Momentum", + prompt() { + event_prompt("Decrease Revolutionary Momentum.") + view.actions.red_momentum = 1 + view.actions.pass = 1 + }, + red_momentum() { + push_undo() + decrease_revolutionary_momentum() + }, + pass() { + push_undo() + vm_next() + }, +} + +states.vm_may_decrease_prussian_collaboration = { + inactive: "decrease Prussian Collaboration", + prompt() { + event_prompt("Decrease Prussian Collaboration.") + view.actions.blue_momentum = 1 + view.actions.pass = 1 + }, + blue_momentum() { + push_undo() + decrease_prussian_collaboration() + }, + pass() { + push_undo() + vm_next() + }, +} + function can_vm_place() { for (let s of game.vm.spaces) if (can_place_cube(s, game.vm.removed)) @@ -4292,9 +4340,9 @@ CODE[39] = [ // Léon Gambetta [ vm_prompt, "Replace up to 1 in Institutional." ], [ vm_replace_up_to, 1, INSTITUTIONAL ], [ vm_if, ()=>(game.active === COMMUNE) ], - [ vm_decrease_prussian_collaboration ], + [ vm_may_decrease_prussian_collaboration ], [ vm_else ], - [ vm_decrease_revolutionary_momentum ], + [ vm_may_decrease_revolutionary_momentum ], [ vm_endif ], [ vm_return ], ] @@ -4458,9 +4506,9 @@ CODE[52] = [ // Rise of Republicanism CODE[53] = [ // Legitimacy [ vm_ops, 3, POLITICAL ], [ vm_if, ()=>(game.active === COMMUNE) ], - [ vm_increase_revolutionary_momentum ], + [ vm_may_increase_revolutionary_momentum ], [ vm_else ], - [ vm_increase_prussian_collaboration ], + [ vm_may_increase_prussian_collaboration ], [ vm_endif ], [ vm_return ], ] |