diff --git a/Fill.py b/Fill.py index ba337bea..75cd8874 100644 --- a/Fill.py +++ b/Fill.py @@ -144,6 +144,8 @@ def distribute_items_restrictive(world, gftower_trash=False, fill_locations=None localrestitempool.values()): # we need to make sure some fills are limited to certain worlds for player, items in localprioitempool.items(): # items already shuffled local_locations = [location for location in fill_locations if location.player == player] + if not local_locations: + continue world.random.shuffle(local_locations) for item_to_place in items: spot_to_fill = local_locations.pop() @@ -151,6 +153,8 @@ def distribute_items_restrictive(world, gftower_trash=False, fill_locations=None fill_locations.remove(spot_to_fill) for player, items in localrestitempool.items(): # items already shuffled local_locations = [location for location in fill_locations if location.player == player] + if not local_locations: + continue world.random.shuffle(local_locations) for item_to_place in items: spot_to_fill = local_locations.pop() diff --git a/Rom.py b/Rom.py index 0927fc6c..9a1dca23 100644 --- a/Rom.py +++ b/Rom.py @@ -2066,7 +2066,7 @@ def write_strings(rom, world, player, team): items_to_hint.extend(BigKeys) local_random.shuffle(items_to_hint) hint_count = 5 if world.shuffle[player] not in ['vanilla', 'dungeonssimple', 'dungeonsfull'] else 8 - while hint_count > 0: + while hint_count > 0 and items_to_hint: this_item = items_to_hint.pop(0) this_location = world.find_items(this_item, player) local_random.shuffle(this_location)