From 20e99a27c5b7c9f1a31be5b49e3e6cefb816e3e0 Mon Sep 17 00:00:00 2001 From: codemann8 Date: Mon, 24 Oct 2022 19:34:35 -0500 Subject: [PATCH] Fixed Rupee/Bomb logic in playthru --- ItemList.py | 28 ++++++++++++++++------------ Main.py | 1 + 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/ItemList.py b/ItemList.py index bd0aec53..39c66fa8 100644 --- a/ItemList.py +++ b/ItemList.py @@ -552,19 +552,23 @@ def create_farm_locations(world, player): # and hopefully access to more permanent farm locations def create_and_fill_location(region_name, loc_description, item_name): - region = world.get_region(region_name, player) - loc = Location(player, f'{region_name} {loc_description}', 0, region) - loc.type = LocationType.Logical - loc.parent_region = region - loc.event = True - loc.locked = True - loc.address = None - - world.push_item(loc, ItemFactory(item_name, player), False) - - region.locations.append(loc) - world.dynamic_locations.append(loc) + loc = world.get_location_unsafe(f'{region_name} {loc_description}', player) + if loc: + loc.access_rule = lambda state: True + world.spoiler.suppress_spoiler_locations.append(loc.name) + else: + region = world.get_region(region_name, player) + loc = Location(player, f'{region_name} {loc_description}', 0, region) + loc.type = LocationType.Logical + loc.parent_region = region + loc.event = True + loc.locked = True + loc.address = None + world.push_item(loc, ItemFactory(item_name, player), False) + + region.locations.append(loc) + world.dynamic_locations.append(loc) return loc from Rules import set_rule, add_rule, add_bunny_rule diff --git a/Main.py b/Main.py index e7d296ce..8e7eaa97 100644 --- a/Main.py +++ b/Main.py @@ -554,6 +554,7 @@ def copy_world(world): from OverworldShuffle import categorize_world_regions for player in range(1, world.players + 1): categorize_world_regions(ret, player) + create_farm_locations(ret, player) set_rules(ret, player) return ret