diff options
author | Joël Simoneau <simoneaujoel@gmail.com> | 2025-01-29 15:58:00 -0500 |
---|---|---|
committer | Joël Simoneau <simoneaujoel@gmail.com> | 2025-01-29 15:58:00 -0500 |
commit | b04313ff35213450d4c467017bd42aa19dc13e8c (patch) | |
tree | b10d3949f953314d99de80d2106cb3d071276684 /rules.js | |
parent | de24fe20e2a70a4cf5180495bed98ccede689e47 (diff) | |
download | vijayanagara-b04313ff35213450d4c467017bd42aa19dc13e8c.tar.gz |
Event 15.
Diffstat (limited to 'rules.js')
-rw-r--r-- | rules.js | 27 |
1 files changed, 24 insertions, 3 deletions
@@ -258,7 +258,7 @@ exports.setup = function (seed, scenario, _options) { } function setup_deck() { - game.deck = [ 35, 29, 18, 5, 3, 36, 10, 37, 11, 2, 10, 1, 12, 13, 14 ] + game.deck = [ 35, 29, 15, 14, 16, 18, 5, 3, 36, 10, 37, 11, 2, 10, 1, 12, 13, 14 ] } function setup_standard() { @@ -2578,6 +2578,10 @@ function is_ds_unit(p) { return (is_piece(p, DS, ELITE) || is_piece(p, DS, TROOPS)) } +function is_governor(p) { + return piece_faction(p) === DS && piece_type(p) === ELITE +} + function is_amir(p) { return piece_faction(p) === BK && piece_type(p) === ELITE } @@ -4310,13 +4314,30 @@ CODE[14 * 2 + 1] = [ // EVENT 15 CODE[15 * 2 + 0] = [ - [ vm_log, "NOT IMPLEMENTED" ], + [ vm_prompt, "Replace Governors with Rebelling Amirs in Provinces adjacent to Devagiri." ], + [ vm_piece, false, 0, 999, (p,s)=>is_adjacent_to_city(C_DEVAGIRI, piece_space(p)) && can_place_piece(piece_space(p), BK, ELITE) && is_governor(p) ], + [ vm_set_piece_space ], + [ vm_mark_space ], + [ vm_remove ], + [ vm_auto_place, false, 0, true, BK, ELITE ], + [ vm_set_space, -1 ], + [ vm_endpiece ], + [ vm_prompt, "Remove a Tributary marker in one Province." ], + [ vm_space, true, 0, 1, (s)=>is_tributary(s) && set_has(game.vm.m, s) ], + [ vm_remove_tributary ], + [ vm_endspace ], [ vm_return ], ] // SHADED 15 CODE[15 * 2 + 1] = [ - [ vm_log, "NOT IMPLEMENTED" ], + [ vm_prompt, "Replace an Amir with a Governor and place a Tributary marker in a Province adjacent to Devagiri." ], + [ vm_space, true, 1, 1, (s)=>is_adjacent_to_city(C_DEVAGIRI, s) && can_place_piece(s, DS, ELITE) && !is_tributary(s) ], + [ vm_asm, ()=>game.vm.p = find_piece(game.vm.s, BK, ELITE) ], + [ vm_remove ], + [ vm_auto_place, false, 0, false, DS, ELITE ], + [ vm_place_tributary ], + [ vm_endspace ], [ vm_return ], ] |