Fix generation failure for Final Fantasy 1 and Dark Souls 3. (#907)

* Fix generation failure for Final Fantasy 1.

* Fix spoiler log giving "Location (Player x): Item (Player y)" for FF1.

* Dark Soul 3 Items/Locations now get player names in spoiler log.
This commit is contained in:
CaitSith2 2022-08-14 12:34:46 -07:00 committed by GitHub
parent 23b04b5069
commit c02c6ee58c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 3 additions and 2 deletions

View File

@ -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})"

View File

@ -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)

View File

@ -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)