From f9cc19e150d7e8210372615402d15c10be31864e Mon Sep 17 00:00:00 2001 From: Aaron Wagener Date: Mon, 13 Jan 2025 09:52:10 -0600 Subject: [PATCH] Fill: Crash if there are remaining unfilled locations (#2830) --- Fill.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/Fill.py b/Fill.py index a040794f..0da2d5de 100644 --- a/Fill.py +++ b/Fill.py @@ -571,6 +571,26 @@ def distribute_items_restrictive(multiworld: MultiWorld, print_data = {"items": items_counter, "locations": locations_counter} logging.info(f"Per-Player counts: {print_data})") + more_locations = locations_counter - items_counter + more_items = items_counter - locations_counter + for player in multiworld.player_ids: + if more_locations[player]: + logging.error( + f"Player {multiworld.get_player_name(player)} had {more_locations[player]} more locations than items.") + elif more_items[player]: + logging.warning( + f"Player {multiworld.get_player_name(player)} had {more_items[player]} more items than locations.") + if unfilled: + raise FillError( + f"Unable to fill all locations.\n" + + f"Unfilled locations({len(unfilled)}): {unfilled}" + ) + else: + logging.warning( + f"Unable to place all items.\n" + + f"Unplaced items({len(unplaced)}): {unplaced}" + ) + def flood_items(multiworld: MultiWorld) -> None: # get items to distribute