diff options
Diffstat (limited to 'rules.js')
-rw-r--r-- | rules.js | 17 |
1 files changed, 12 insertions, 5 deletions
@@ -1824,6 +1824,8 @@ states.migrate_space = { } }, skip() { + if (game.summary) + game.summary = null vm_next() } } @@ -1897,8 +1899,8 @@ function goto_rally() { function goto_rally_space() { push_summary() - if (rally_count() === 1) { - let p = find_piece(AVAILABLE, game.current, ELITE) + let p = find_piece(AVAILABLE, game.current, ELITE) + if (rally_count() === 1 && p > -1) { log_summary_place(p) place_piece(p, game.cmd.where) end_rally_space() @@ -1942,9 +1944,14 @@ states.rally = { states.rally_space = { inactive: "Rally", prompt() { - view.prompt = `Rally: Place up to ${format_unit_count(game.current, ELITE, rally_count())}.` - view.where = game.cmd.where - gen_place_piece(game.current, ELITE) + if (find_piece(AVAILABLE, game.current, ELITE) === -1) { + view.prompt = `Rally: No more available ${PIECE_FACTION_TYPE_NAME[game.current][ELITE]}.` + view.actions.next = 1 + } else { + view.prompt = `Rally: Place up to ${format_unit_count(game.current, ELITE, rally_count())}.` + view.where = game.cmd.where + gen_place_piece(game.current, ELITE) + } if (game.cmd.count > 0) view.actions.next = 1 |