summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Andersson <tor@ccxvii.net>2024-05-05 23:01:42 +0200
committerTor Andersson <tor@ccxvii.net>2024-05-05 23:09:37 +0200
commit4bc8833d1c5f40dc10989801911c14ed8f775049 (patch)
tree0a162566a7b2ade61272d86f5d936d8eaa05ef4f
parentcd31730f82458a524da88786aca497cd22df890e (diff)
downloadred-flag-over-paris-4bc8833d1c5f40dc10989801911c14ed8f775049.tar.gz
only allow bonus actions that are possible
-rw-r--r--rules.js29
1 files changed, 26 insertions, 3 deletions
diff --git a/rules.js b/rules.js
index 4a0b178..985fa44 100644
--- a/rules.js
+++ b/rules.js
@@ -757,6 +757,20 @@ function can_replace_cube_in_any(list) {
return false
}
+function can_de_escalate(list) {
+ for (let s of list)
+ if (has_friendly_cube(s))
+ return true
+ return false
+}
+
+function can_spread_influence(list) {
+ for (let s of list)
+ if (has_friendly_cube(s))
+ return true
+ return false
+}
+
function can_place_cube(s, removed = 0) {
return find_available_cube(removed) >= 0 && count_friendly_cubes(s) < 4
}
@@ -1954,8 +1968,17 @@ states.bonus_action = {
view.prompt = "Pivotal Space Bonus Action in " + DIMENSION_NAME[game.where] + "."
view.where = game.where
view.actions.pass = 1
- view.actions.de_escalate = 1
- view.actions.spread_influence = 1
+
+ if (can_de_escalate(dimension))
+ view.actions.de_escalate = 1
+ else
+ view.actions.de_escalate = 0
+
+ if (can_spread_influence(dimension))
+ view.actions.spread_influence = 1
+ else
+ view.actions.spread_influence = 0
+
if (can_replace_cube_in_any(dimension))
view.actions.turncoat = 1
else
@@ -3185,7 +3208,7 @@ states.vm_move = {
if (!game.vm.b.includes(s))
for_each_friendly_cube(s, gen_action_piece)
} else {
- game.selected_cube = game.who
+ view.selected_cube = game.who
for (let s of game.vm.b)
if (count_friendly_cubes(s) < 4)
gen_action_space(s)