summaryrefslogtreecommitdiff
path: root/rules.js
diff options
context:
space:
mode:
authorTor Andersson <tor@ccxvii.net>2024-08-04 16:28:27 +0200
committerTor Andersson <tor@ccxvii.net>2024-08-21 00:28:20 +0200
commitbb0c5b8049bae738f27ef06c86aa10d461e578e3 (patch)
treed1421f88f0fc226b1ef486e50376951827fba6dc /rules.js
parent065aaddc871722de1a5f1ec3406c2bab169fde4b (diff)
downloadwashingtons-war-bb0c5b8049bae738f27ef06c86aa10d461e578e3.tar.gz
cleanups around washington capture and end move
Diffstat (limited to 'rules.js')
-rw-r--r--rules.js42
1 files changed, 20 insertions, 22 deletions
diff --git a/rules.js b/rules.js
index 823226b..a64ade8 100644
--- a/rules.js
+++ b/rules.js
@@ -1,19 +1,7 @@
"use strict"
-// TODO: draw after battle - delay until end of campaign
// TODO: more manual steps (events)
-/* washington's capture
- - winning general with no CU on enemy PC (no undo anyway)
- at end of activation
- - retreat after battle (no undo anyway)
- at end of activation
- - place reinforcements (no player shift)
- at end of activation
- - move (no player shift)
- immediately
-*/
-
/* DATA */
const data = require("./data.js")
@@ -1514,11 +1502,6 @@ function end_strategy_card() {
return true
}
-function end_strategy_card_after_move() {
- if (!end_strategy_card())
- next_strategy_card()
-}
-
states.end_strategy_card = {
prompt() {
view.prompt = "Card play done."
@@ -2605,12 +2588,10 @@ function end_retreat_before_battle() {
disperse_and_overrun_after_move()
- if (has_enemy_cu(game.move.to)) {
+ if (has_enemy_cu(game.move.to))
goto_play_attacker_battle_card()
- } else {
+ else
end_battle()
- next_strategy_card() // NOTE: skip pause at end of movement
- }
}
/* BATTLE CARDS */
@@ -3731,6 +3712,17 @@ function do_event(c) {
/* GEORGE WASHINGTON CAPTURED */
+/*
+ - winning general with no CU on enemy PC (no undo anyway)
+ at end of activation
+ - retreat after battle (no undo anyway)
+ at end of activation
+ - place reinforcements (no player shift)
+ at end of activation
+ - move (no active player change)
+ immediately
+*/
+
function goto_george_washington_captured() {
game.state = "george_washington_captured"
game.save = game.active
@@ -3788,7 +3780,13 @@ states.george_washington_captured_during_move = {
function end_george_washington_captured() {
game.active = game.save
delete game.save
- end_strategy_card()
+ if (game.active === P_AMERICA) {
+ // skip end turn pause after britain removed washington at end of strategy card
+ if (end_strategy_card())
+ next_strategy_card()
+ } else {
+ end_strategy_card()
+ }
}
/* WINTER ATTRITION PHASE */