From 3207789c844dd48f4647e8fa7693d35d6559927e Mon Sep 17 00:00:00 2001 From: Tor Andersson Date: Sun, 23 Mar 2025 00:12:56 +0100 Subject: Add paranoid safeguard against impossible case. --- rules.js | 6 +++++- rules.ts | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/rules.js b/rules.js index 078024f..a93cde7 100644 --- a/rules.js +++ b/rules.js @@ -163,7 +163,11 @@ function setup_player_turn(faction_id) { next(); } else { - setup_player_turn(get_next_faction_in_player_order(next_faction)); + const next_next_faction = get_next_faction_in_player_order(next_faction); + if (game.selected_cards[next_next_faction].length > 0) + setup_player_turn(get_next_faction_in_player_order(next_next_faction)); + else + throw new Error("impossible situation"); } } function check_end_of_year_discard() { diff --git a/rules.ts b/rules.ts index d4ca3d6..e5fa8bd 100644 --- a/rules.ts +++ b/rules.ts @@ -288,7 +288,11 @@ function setup_player_turn(faction_id: FactionId) { * having played Momentum medallion in a previous turn. * This will skip their turn */ - setup_player_turn(get_next_faction_in_player_order(next_faction)) + const next_next_faction = get_next_faction_in_player_order(next_faction); + if (game.selected_cards[next_next_faction].length > 0) + setup_player_turn(get_next_faction_in_player_order(next_next_faction)); + else + throw new Error("impossible situation"); } } -- cgit v1.2.3