summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--events.txt21
-rw-r--r--rules.js42
2 files changed, 49 insertions, 14 deletions
diff --git a/events.txt b/events.txt
index b0a351d..9823ede 100644
--- a/events.txt
+++ b/events.txt
@@ -31,9 +31,10 @@ EVENT 2
space 2 ((s === S_MOUNTAIN_PASSES || s === S_PUNJAB) && has_ds_unit(s))
prompt "Remove up to 2 Delhi Sultanate Units."
piece_undo_opt 2 is_ds_unit(p) && is_piece_in_event_space(p)
- remove
+ summary_remove
endpiece
endspace
+ pop_summary
SHADED 2
stay_eligible
@@ -226,16 +227,18 @@ SHADED 11
current DS
prompt "Remove 4 Mongol Invaders."
piece_undo_opt 4 is_mongol_invader(p)
- remove
+ summary_remove
endpiece
+ pop_summary
EVENT 12
current REBEL_FACTIONS
gain_cavalry 2
prompt "Remove 4 Delhi Sultantes pieces from Provinces adjacent to Warangal."
piece_undo_opt 4 (is_adjacent_to_city(C_WARANGAL, piece_space(p)) && piece_faction(p) === DS)
- remove
+ summary_remove
endpiece
+ pop_summary
SHADED 12
current DS
@@ -380,8 +383,9 @@ EVENT 17
add_influence BK
prompt "Remove up to 5 Delhi Sultanate Units from Provinces with you presence."
piece_undo_opt 5 is_ds_unit(p) && has_piece_faction(piece_space(p), BK)
- remove
+ summary_remove
endpiece
+ pop_summary
SHADED 17
prompt "Remove a Fort and up to 2 Amirs from one Province."
@@ -392,8 +396,9 @@ SHADED 17
endpiece
prompt "Remove up to 2 Amirs from selected Province."
piece_undo_opt 2 is_piece_in_event_space(p) && is_amir(p)
- remove
+ summary_remove
endpiece
+ pop_summary
endspace
resources BK -2
@@ -716,8 +721,9 @@ EVENT 33
current (has_majority_goa())
prompt "Remove up to 3 Opposing Units adjacent to Goa."
piece_opt 3 (is_adjacent_to_city(C_GOA, piece_space(p)) && is_enemy_piece(p))
- remove
+ summary_remove
endpiece
+ pop_summary
resources (game.current) 2
SHADED 33
@@ -769,8 +775,9 @@ SHADED 36
remove_influence VE
prompt "Remove up to 3 Rajas from the map."
piece_opt 3 is_raja(p) && is_piece_on_map(p)
- remove
+ summary_remove
endpiece
+ pop_summary
SUCC 0
force_current DS
diff --git a/rules.js b/rules.js
index 4bd9944..44b3403 100644
--- a/rules.js
+++ b/rules.js
@@ -509,6 +509,7 @@ function end_cavalry() {
pop_summary()
else
upop_summary()
+ log_br()
if (game.vm) {
vm_next()
@@ -3829,6 +3830,11 @@ function log_summary_remove(p) {
log_summary("Removed % " + piece_symbol(p))
}
+
+function log_summary_remove_from(p) {
+ log_summary("Removed % " + piece_symbol(p) + " from S" + piece_space(p))
+}
+
function log_summary_cavalry(c) {
let from = game.cavalry[c]
if (from !== AVAILABLE)
@@ -4510,6 +4516,12 @@ function vm_log_h2() {
vm_next()
}
+function vm_pop_summary() {
+ upop_summary()
+ log_br()
+ vm_next()
+}
+
function vm_mark_space() {
if (game.vm.m)
set_add(game.vm.m, game.vm.s)
@@ -4552,6 +4564,14 @@ function pop_vm_prompt() {
}
}
+function vm_summary_remove() {
+ if (!game.summary)
+ push_summary()
+ log_summary_remove_from(game.vm.p)
+ remove_piece(game.vm.p)
+ vm_next()
+}
+
function vm_remove() {
log("Removed " + piece_symbol(game.vm.p) + " from S" + piece_space(game.vm.p) + ".")
remove_piece(game.vm.p)
@@ -5096,6 +5116,7 @@ function tick_cav_resources() {
if (game.vm.count === 0) {
log_br()
upop_summary()
+ log_br()
vm_next()
}
}
@@ -5747,9 +5768,10 @@ CODE[2 * 2 + 0] = [
[ vm_space, true, 2, 2, (s)=>((s === S_MOUNTAIN_PASSES || s === S_PUNJAB) && has_ds_unit(s)) ],
[ vm_prompt, "Remove up to 2 Delhi Sultanate Units." ],
[ vm_piece, true, 0, 2, (p,s)=>is_ds_unit(p) && is_piece_in_event_space(p) ],
- [ vm_remove ],
+ [ vm_summary_remove ],
[ vm_endpiece ],
[ vm_endspace ],
+ [ vm_pop_summary ],
[ vm_return ],
]
@@ -5999,8 +6021,9 @@ CODE[11 * 2 + 1] = [
[ vm_current, DS ],
[ vm_prompt, "Remove 4 Mongol Invaders." ],
[ vm_piece, true, 0, 4, (p,s)=>is_mongol_invader(p) ],
- [ vm_remove ],
+ [ vm_summary_remove ],
[ vm_endpiece ],
+ [ vm_pop_summary ],
[ vm_return ],
]
@@ -6010,8 +6033,9 @@ CODE[12 * 2 + 0] = [
[ vm_gain_cavalry, ()=>2 ],
[ vm_prompt, "Remove 4 Delhi Sultantes pieces from Provinces adjacent to Warangal." ],
[ vm_piece, true, 0, 4, (p,s)=>(is_adjacent_to_city(C_WARANGAL, piece_space(p)) && piece_faction(p) === DS) ],
- [ vm_remove ],
+ [ vm_summary_remove ],
[ vm_endpiece ],
+ [ vm_pop_summary ],
[ vm_return ],
]
@@ -6186,8 +6210,9 @@ CODE[17 * 2 + 0] = [
[ vm_add_influence, BK ],
[ vm_prompt, "Remove up to 5 Delhi Sultanate Units from Provinces with you presence." ],
[ vm_piece, true, 0, 5, (p,s)=>is_ds_unit(p) && has_piece_faction(piece_space(p), BK) ],
- [ vm_remove ],
+ [ vm_summary_remove ],
[ vm_endpiece ],
+ [ vm_pop_summary ],
[ vm_return ],
]
@@ -6201,8 +6226,9 @@ CODE[17 * 2 + 1] = [
[ vm_endpiece ],
[ vm_prompt, "Remove up to 2 Amirs from selected Province." ],
[ vm_piece, true, 0, 2, (p,s)=>is_piece_in_event_space(p) && is_amir(p) ],
- [ vm_remove ],
+ [ vm_summary_remove ],
[ vm_endpiece ],
+ [ vm_pop_summary ],
[ vm_endspace ],
[ vm_resources, false, BK, -2 ],
[ vm_return ],
@@ -6615,8 +6641,9 @@ CODE[33 * 2 + 0] = [
[ vm_current, ()=>(has_majority_goa()) ],
[ vm_prompt, "Remove up to 3 Opposing Units adjacent to Goa." ],
[ vm_piece, false, 0, 3, (p,s)=>(is_adjacent_to_city(C_GOA, piece_space(p)) && is_enemy_piece(p)) ],
- [ vm_remove ],
+ [ vm_summary_remove ],
[ vm_endpiece ],
+ [ vm_pop_summary ],
[ vm_resources, false, ()=>(game.current), 2 ],
[ vm_return ],
]
@@ -6689,8 +6716,9 @@ CODE[36 * 2 + 1] = [
[ vm_remove_influence, VE ],
[ vm_prompt, "Remove up to 3 Rajas from the map." ],
[ vm_piece, false, 0, 3, (p,s)=>is_raja(p) && is_piece_on_map(p) ],
- [ vm_remove ],
+ [ vm_summary_remove ],
[ vm_endpiece ],
+ [ vm_pop_summary ],
[ vm_return ],
]