summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rules.js24
1 files changed, 12 insertions, 12 deletions
diff --git a/rules.js b/rules.js
index 9cbc2b0..5bedd6e 100644
--- a/rules.js
+++ b/rules.js
@@ -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)