diff options
author | Joël Simoneau <simoneaujoel@gmail.com> | 2025-03-24 16:16:16 -0400 |
---|---|---|
committer | Joël Simoneau <simoneaujoel@gmail.com> | 2025-03-24 16:16:16 -0400 |
commit | 3657c836555028cfc2927d291a7903734d37a9c2 (patch) | |
tree | 0e27eecc6c23f930ad65018bd0898f8384c82000 | |
parent | fe961a6bf575703da23de8f7dfb628b5b573a646 (diff) | |
download | vijayanagara-3657c836555028cfc2927d291a7903734d37a9c2.tar.gz |
Fix attack
-rw-r--r-- | rules.js | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -2916,7 +2916,7 @@ function has_unmoved_piece(space, faction) { function has_valid_attackers(s, faction) { let valid_attacker = false for_each_movable(faction, p => { - if (piece_space(p) === s && (!game.cmd || !set_has(game.cmd.pieces, p))) + if (piece_space(p) === s && (!game.cmd || !game.cmd.pieces || !set_has(game.cmd.pieces, p))) valid_attacker = true if (piece_space(p) === s || (has_piece(piece_space(p), faction, DISC) && SPACES[s].adjacent.includes(piece_space(p)))) if (!game.cmd.pieces || game.cmd.pieces.length === 0) @@ -5144,9 +5144,9 @@ function vm_free_attack() { where: game.vm.s, } - if (!can_attack_in_space(game.vm.s) && !(game.cmd && game.cmd.pieces)) + if (!can_attack_in_space(game.vm.s) && !(game.cmd && game.cmd.pieces)) { vm_next() - else { + } else { log_space(game.vm.s, "Attack") if (is_timurid()) game.cmd.attacker = MI @@ -5551,6 +5551,7 @@ states.shaded_6_2 = { gen_action_resources(VE) }, resources(f) { + push_undo() let n = Math.min(game.resources[f], 3) add_resources(f, -n) add_resources(DS, n) @@ -5626,6 +5627,7 @@ states.shaded_29 = { view.actions.next = 1 }, token(c) { + push_undo() game.cmd.count -= 1 add_resources(game.current, -1) log_summary_cavalry(c) |