diff options
author | Joël Simoneau <simoneaujoel@gmail.com> | 2025-01-23 13:44:15 -0500 |
---|---|---|
committer | Joël Simoneau <simoneaujoel@gmail.com> | 2025-01-23 13:44:15 -0500 |
commit | dabd9cc37332434e4004f5f448ada4c32d74fc2d (patch) | |
tree | 3d599d9369cd25339337d1492536d186fd07a434 /rules.js | |
parent | 4942907e4c771c8fe81a9693efec42e15d540bf8 (diff) | |
download | vijayanagara-dabd9cc37332434e4004f5f448ada4c32d74fc2d.tar.gz |
Event 36.
Diffstat (limited to 'rules.js')
-rw-r--r-- | rules.js | 29 |
1 files changed, 25 insertions, 4 deletions
@@ -258,7 +258,7 @@ exports.setup = function (seed, scenario, _options) { } function setup_deck() { - game.deck = [ 30, 29, 28, 27, 32, 23, 8, 7, 6, 5, 3, 36, 10, 37, 11, 2, 10, 1, 12, 13, 14 ] + game.deck = [ 36, 29, 28, 27, 32, 23, 8, 7, 6, 5, 3, 36, 10, 37, 11, 2, 10, 1, 12, 13, 14 ] } function setup_standard() { @@ -2562,8 +2562,12 @@ function is_ds_unit(p) { return (is_piece(p, DS, ELITE) || is_piece(p, DS, TROOPS)) } +function is_raja(p) { + return piece_faction(p) === VE && piece_type(p) === ELITE +} + function is_qasbah(p) { - return piece_name(p) === "Qasbah" + return piece_faction(p) === DS && piece_type(p) === DISC } function is_temple(p) { @@ -3414,6 +3418,11 @@ function goto_vm(proc) { vm_exec() } +function vm_asm() { + vm_operand(1) + vm_next() +} + function vm_current() { if (vm_operand(1) !== game.current) game.state = "vm_current" @@ -4577,12 +4586,24 @@ CODE[35 * 2 + 1] = [ // EVENT 36 CODE[36 * 2 + 0] = [ - [ vm_log, "NOT IMPLEMENTED" ], + [ vm_current, VE ], + [ vm_asm, ()=>game.vm.count = 0 ], + [ vm_repeat, 4 ], + [ vm_prompt, ()=>`Place up to ${4-game.vm.count} Rajas adjacent to Chittor.` ], + [ vm_space, true, 0, 1, (s)=>is_adjacent_to_city(C_CHITTOR, s) ], + [ vm_auto_place, false, 0, false, VE, ELITE ], + [ vm_asm, ()=>(game.vm.count += 1) ], + [ vm_endspace ], + [ vm_endrepeat ], [ vm_return ], ] // SHADED 36 CODE[36 * 2 + 1] = [ - [ vm_log, "NOT IMPLEMENTED" ], + [ 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_endpiece ], [ vm_return ], ] |