diff options
author | Joël Simoneau <simoneaujoel@gmail.com> | 2025-04-07 07:45:24 -0400 |
---|---|---|
committer | Joël Simoneau <simoneaujoel@gmail.com> | 2025-04-07 07:45:24 -0400 |
commit | c1ddf70bd39be0e7da310ac5c8197c8aec796a96 (patch) | |
tree | c774ec2da0b233d8879b22d5d2f3803d8f789900 | |
parent | be0b41b59f941750c8c4ada0148082b26360ef28 (diff) | |
download | vijayanagara-c1ddf70bd39be0e7da310ac5c8197c8aec796a96.tar.gz |
Can govern to only remove
-rw-r--r-- | rules.js | 24 |
1 files changed, 12 insertions, 12 deletions
@@ -1655,6 +1655,9 @@ function can_govern_in_space(s) { if (has_piece(s, DS, ELITE) && has_piece(AVAILABLE, DS, DISC) && !has_piece(s, DS, DISC)) return true + if (has_piece(s, DS, ELITE) && has_units_enemy_faction(s, DS)) + return true + return false } @@ -1708,21 +1711,18 @@ states.govern_space = { view.where = game.cmd.where view.actions.next = 1 - if (has_piece(AVAILABLE, DS, ELITE) && game.cmd.count[0] + game.cmd.count[1] === 0) - gen_place_piece(DS, ELITE) - - if ( - has_piece(AVAILABLE, DS, DISC) && - has_piece(game.cmd.where, DS, ELITE) && - !has_piece(game.cmd.where, DS, DISC) - ) { - gen_place_piece(DS, DISC) - } + let can_place_qasbah = (has_piece(AVAILABLE, DS, DISC) && has_piece(game.cmd.where, DS, ELITE) && !has_piece(game.cmd.where, DS, DISC)) + let can_place_governor = (has_piece(AVAILABLE, DS, ELITE) && game.cmd.count[0] + game.cmd.count[1] === 0) + let can_remove = (has_piece(game.cmd.where, DS, ELITE) && game.cmd.count[1] < 2 && has_units_enemy_faction(game.cmd.where, DS)) - if (has_piece(game.cmd.where, DS, ELITE) && game.cmd.count[1] < 2) { + if (can_place_governor) gen_place_piece(DS, ELITE) + if (can_place_qasbah) gen_place_piece(DS, DISC) + if (can_remove) { gen_action_obedient_in_space(game.cmd.where, BK) gen_action_obedient_in_space(game.cmd.where, VE) } + if (!can_place_governor && !can_place_qasbah && !can_remove) + view.prompt = "Govern: Done." }, piece(p) { if (piece_faction(p) === DS) { @@ -5055,7 +5055,7 @@ states.vm_replace = { if (rebel_p) { to_rebel(p) } - log(`Replaced a ${piece_symbol(game.vm.p)} for a ${rebel_p ? "Rebelling " : ""}${pice_symbol(p)} in S${game.vm.m}.`) + log(`Replaced a ${piece_symbol(game.vm.p)} for a ${rebel_p ? "Rebelling " : ""}${piece_symbol(p)} in S${game.vm.m}.`) if (vm_operand(4)) goto_rebel_or_obedient(game.vm.rs) |