diff --git a/BaseClasses.py b/BaseClasses.py index 02a194ee..aa37a097 100644 --- a/BaseClasses.py +++ b/BaseClasses.py @@ -1202,7 +1202,7 @@ class Item: return self.__str__() def __str__(self) -> str: - if self.location: + if self.location and self.location.parent_region and self.location.parent_region.world: return self.location.parent_region.world.get_name_string_for_object(self) return f"{self.name} (Player {self.player})" diff --git a/worlds/dark_souls_3/__init__.py b/worlds/dark_souls_3/__init__.py index 3a5c26cc..7245499e 100644 --- a/worlds/dark_souls_3/__init__.py +++ b/worlds/dark_souls_3/__init__.py @@ -158,7 +158,7 @@ class DarkSouls3World(World): # For each region, add the associated locations retrieved from the corresponding location_table def create_region(self, region_name, location_table) -> Region: - new_region = Region(region_name, RegionType.Generic, region_name, self.player) + new_region = Region(region_name, RegionType.Generic, region_name, self.player, self.world) if location_table: for name, address in location_table.items(): location = DarkSouls3Location(self.player, name, self.location_name_to_id[name], new_region) diff --git a/worlds/ff1/__init__.py b/worlds/ff1/__init__.py index 9818bed9..d5a8dd30 100644 --- a/worlds/ff1/__init__.py +++ b/worlds/ff1/__init__.py @@ -54,6 +54,7 @@ class FF1World(World): locations = get_options(self.world, 'locations', self.player) rules = get_options(self.world, 'rules', self.player) menu_region = self.ff1_locations.create_menu_region(self.player, locations, rules) + menu_region.world = self.world terminated_event = Location(self.player, CHAOS_TERMINATED_EVENT, EventId, menu_region) terminated_item = Item(CHAOS_TERMINATED_EVENT, ItemClassification.progression, EventId, self.player) terminated_event.place_locked_item(terminated_item)