summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoël Simoneau <simoneaujoel@gmail.com>2025-04-02 16:07:33 -0400
committerJoël Simoneau <simoneaujoel@gmail.com>2025-04-02 16:07:33 -0400
commit2970207e6dd15635563425e09fdf37b0815110e3 (patch)
tree9dca1444ebc58b4681d7a5be9185529a89eac8ac
parent1c8a3c93b867a60a6760b7988fd537a0285b3048 (diff)
downloadvijayanagara-2970207e6dd15635563425e09fdf37b0815110e3.tar.gz
Fuzzy rally
-rw-r--r--rules.js17
1 files changed, 12 insertions, 5 deletions
diff --git a/rules.js b/rules.js
index 89904f6..5c4e1b1 100644
--- a/rules.js
+++ b/rules.js
@@ -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