From 01dfeaf0e26d6c46e8d727a6db4e9985059749b8 Mon Sep 17 00:00:00 2001 From: Joël Simoneau Date: Sat, 8 Mar 2025 21:35:47 -0500 Subject: Event 12. --- events.txt | 28 +++++++++++++++++++++++++--- rules.js | 51 ++++++++++++++++++++++++++++++++++++++------------- 2 files changed, 63 insertions(+), 16 deletions(-) diff --git a/events.txt b/events.txt index 1d9eb79..7d1415b 100644 --- a/events.txt +++ b/events.txt @@ -220,10 +220,32 @@ SHADED 11 endpiece EVENT 12 - log "NOT IMPLEMENTED" + current REBEL_FACTIONS + gain_cavalry 2 + prompt "Remove 4 Delhi Sultantes pieces from Provinces adjacent to Warangal." + piece 4 (is_adjacent_to_city(C_WARANGAL, piece_space(p)) && piece_faction(p) === DS) + remove + endpiece SHADED 12 - log "NOT IMPLEMENTED" + current DS + gain_cavalry 2 + prompt "Place a Qasbah in a Province adjacent to Warangal." + space_opt 1 is_adjacent_to_city(C_WARANGAL, s) && can_place_piece(s, DS, DISC) + auto_place DS DISC + endspace + asm game.vm.count = 0 + repeat 4 + prompt `Place up to ${4-game.vm.count} Troops adjacent to Warangal.` + space_opt 1 is_adjacent_to_city(C_WARANGAL, s) && can_place_piece(s, DS, TROOPS) + auto_place DS TROOPS + asm (game.vm.count += 1) + endspace + endrepeat + prompt "Make a free Attack in one Province adjacent to Warangal." + space 1 (is_adjacent_to_city(C_WARANGAL, s) && can_attack_in_space(s)) + free_attack + endspace EVENT 13 log "NOT IMPLEMENTED" @@ -250,7 +272,7 @@ EVENT 14 SHADED 14 current DS gain_cavalry 3 - prompt "Place up to 4 Troops and 1 Governor in a province adjacent to Vijayanagara and Demand Obedience there." + prompt "Place up to 4 Troops and a Governor in a province adjacent to Vijayanagara and Demand Obedience there." space_opt 1 is_adjacent_to_city(C_VIJAYANAGARA, s) place_opt 4 DS TROOPS place_opt 1 DS ELITE diff --git a/rules.js b/rules.js index aa85963..cf363f5 100644 --- a/rules.js +++ b/rules.js @@ -266,7 +266,7 @@ exports.setup = function (seed, scenario, _options) { } function setup_deck() { - game.deck = [ 38, 4, 2, 6, 7, 21, 39, 4, 29, 15, 17, 16, 18, 5, 3, 36, 10, 37, 11, 2, 10, 1, 12, 13, 14 ] + game.deck = [ 38, 4, 12, 13, 6, 7, 21, 28, 29, 30, 31 ] } function setup_standard() { @@ -444,11 +444,13 @@ function goto_cavalry(n, next) { if (game.cav.n !== 0) game.state = "cavalry" else { - pop_summary() - if (game.vm) + if (game.vm) { + upop_summary() vm_next() - else + } else { + pop_summary() game.states = game.cav.next + } } } @@ -628,13 +630,16 @@ states.cavalry = { set_cavalry_faction(c, game.current) }, end_cavalry() { - pop_summary() - if (game.vm) + if (game.vm) { + upop_summary() vm_next() - else if (game.cav.next) + } else if (game.cav.next) { + pop_summary() game.state = game.cav.next - else + } else { + pop_summary() goto_eligible() + } } } @@ -1913,7 +1918,6 @@ states.campaign = { view.prompt = "Campaign: Select four contiguous spaces, finishing adjacent to Warangal" if (game.decree.campaign.length === 0) { for (let s = first_space; s <= last_space; ++s) { - console.log("TEST! ", SPACE_NAME[s], is_n_from_warangal(3, s)) if (can_start_campaign_in_space(s) && is_n_from_warangal(3, s)) gen_action_space(s) } @@ -4484,7 +4488,6 @@ function vm_shaded_6() { } function vm_shaded_6_2() { - console.log(game) game.state = "shaded_6_2" } @@ -4870,13 +4873,35 @@ CODE[11 * 2 + 1] = [ // EVENT 12 CODE[12 * 2 + 0] = [ - [ vm_log, "NOT IMPLEMENTED" ], + [ vm_current, REBEL_FACTIONS ], + [ vm_gain_cavalry, 2 ], + [ vm_prompt, "Remove 4 Delhi Sultantes pieces from Provinces adjacent to Warangal." ], + [ vm_piece, false, 4, 4, (p,s)=>(is_adjacent_to_city(C_WARANGAL, piece_space(p)) && piece_faction(p) === DS) ], + [ vm_remove ], + [ vm_endpiece ], [ vm_return ], ] // SHADED 12 CODE[12 * 2 + 1] = [ - [ vm_log, "NOT IMPLEMENTED" ], + [ vm_current, DS ], + [ vm_gain_cavalry, 2 ], + [ vm_prompt, "Place a Qasbah in a Province adjacent to Warangal." ], + [ vm_space, true, 0, 1, (s)=>is_adjacent_to_city(C_WARANGAL, s) && can_place_piece(s, DS, DISC) ], + [ vm_auto_place, false, 0, false, DS, DISC ], + [ vm_endspace ], + [ vm_asm, ()=>game.vm.count = 0 ], + [ vm_repeat, 4 ], + [ vm_prompt, ()=>`Place up to ${4-game.vm.count} Troops adjacent to Warangal.` ], + [ vm_space, true, 0, 1, (s)=>is_adjacent_to_city(C_WARANGAL, s) && can_place_piece(s, DS, TROOPS) ], + [ vm_auto_place, false, 0, false, DS, TROOPS ], + [ vm_asm, ()=>(game.vm.count += 1) ], + [ vm_endspace ], + [ vm_endrepeat ], + [ vm_prompt, "Make a free Attack in one Province adjacent to Warangal." ], + [ vm_space, true, 1, 1, (s)=>(is_adjacent_to_city(C_WARANGAL, s) && can_attack_in_space(s)) ], + [ vm_free_attack ], + [ vm_endspace ], [ vm_return ], ] @@ -4915,7 +4940,7 @@ CODE[14 * 2 + 0] = [ CODE[14 * 2 + 1] = [ [ vm_current, DS ], [ vm_gain_cavalry, 3 ], - [ vm_prompt, "Place up to 4 Troops and 1 Governor in a province adjacent to Vijayanagara and Demand Obedience there." ], + [ vm_prompt, "Place up to 4 Troops and a Governor in a province adjacent to Vijayanagara and Demand Obedience there." ], [ vm_space, true, 0, 1, (s)=>is_adjacent_to_city(C_VIJAYANAGARA, s) ], [ vm_place, false, 1, 4, DS, TROOPS ], [ vm_place, false, 1, 1, DS, ELITE ], -- cgit v1.2.3