summaryrefslogtreecommitdiff
path: root/rules.js
diff options
context:
space:
mode:
authorTor Andersson <tor@ccxvii.net>2023-04-21 18:02:56 +0200
committerTor Andersson <tor@ccxvii.net>2023-05-03 18:48:16 +0200
commite83cc1b575b5009ca0186b1b9ba21adaca78f1fe (patch)
treef082260a3df2d98146dc29f4907b99b3977d20e1 /rules.js
parent647ea5cbde5ae12db804a49c82d763cbdf74c093 (diff)
downloadandean-abyss-e83cc1b575b5009ca0186b1b9ba21adaca78f1fe.tar.gz
Shaded 47: Allow Free Terror without any guerrillas.
Diffstat (limited to 'rules.js')
-rw-r--r--rules.js27
1 files changed, 21 insertions, 6 deletions
diff --git a/rules.js b/rules.js
index d277dba..056976d 100644
--- a/rules.js
+++ b/rules.js
@@ -4343,6 +4343,13 @@ function vm_free_terror_with_piece() {
do_terror_piece(game.vm.p)
}
+function vm_free_terror_without_piece() {
+ init_free_operation("Terror", game.vm.s)
+ if (game.current === AUC)
+ game.vm.auc_terror = 0
+ do_terror_piece(game.vm.p)
+}
+
function can_terror() {
for (let s = first_space; s <= last_space; ++s)
if (can_terror_in_space(s))
@@ -6760,18 +6767,20 @@ function vm_set_passive_opposition() {
}
function vm_shift_support() {
- if (game.support[game.vm.s] < 2) {
- game.support[game.vm.s] ++
+ if (shift_support(game.vm.s))
log_support_shift(game.vm.s)
- }
vm_next()
}
function vm_shift_opposition() {
- if (game.support[game.vm.s] > -2) {
- game.support[game.vm.s] --
+ if (shift_opposition(game.vm.s))
+ log_support_shift(game.vm.s)
+ vm_next()
+}
+
+function vm_shift_neutral() {
+ if (shift_neutral(game.vm.s))
log_support_shift(game.vm.s)
- }
vm_next()
}
@@ -8928,11 +8937,17 @@ CODE[47 * 2 + 1] = [
[ vm_space, true, 1, 1, (s)=>s === CUCUTA ],
[ vm_auto_place, false, 0, AUC, GUERRILLA ],
[ vm_auto_place, false, 0, AUC, GUERRILLA ],
+ [ vm_if, ()=>has_underground_guerrilla(game.vm.s, AUC) ],
[ vm_prompt, "Execute free Terror in CĂșcuta." ],
[ vm_piece, false, 1, 1, (p,s)=>is_piece_in_event_space(p) && is_auc_guerrilla(p) && is_underground(p) ],
[ vm_free_terror_with_piece ],
[ vm_terror_aid_cut ],
[ vm_endpiece ],
+ [ vm_else ],
+ [ vm_terror ],
+ [ vm_shift_neutral ],
+ [ vm_aid, -3 ],
+ [ vm_endif ],
[ vm_endspace ],
[ vm_prompt, "Flip any 2 AUC Guerrillas Underground." ],
[ vm_piece, false, 2, 2, (p,s)=>is_auc_guerrilla(p) && is_active(p) ],