From 9d4d92167a553bca0716dc56c53a879fd80d8a6f Mon Sep 17 00:00:00 2001 From: black-sliver <59490463+black-sliver@users.noreply.github.com> Date: Sat, 22 Jan 2022 01:29:20 +0100 Subject: [PATCH] SoE: place Wings in Halls NE to avoid softlock --- worlds/soe/__init__.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/worlds/soe/__init__.py b/worlds/soe/__init__.py index 6bf6f803..7c6b0bbb 100644 --- a/worlds/soe/__init__.py +++ b/worlds/soe/__init__.py @@ -104,6 +104,8 @@ class SoEWorld(World): evermizer_seed: int connect_name: str + _halls_ne_chest_names: typing.List[str] = [loc.name for loc in _locations if 'Halls NE' in loc.name] + def __init__(self, *args, **kwargs): self.connect_name_available_event = threading.Event() super(SoEWorld, self).__init__(*args, **kwargs) @@ -163,6 +165,11 @@ class SoEWorld(World): def generate_basic(self): # place Victory event self.world.get_location('Done', self.player).place_locked_item(self.create_event('Victory')) + # place wings in halls NE to avoid softlock + wings_location = self.world.random.choice(self._halls_ne_chest_names) + wings_item = self.create_item('Wings') + self.world.get_location(wings_location, self.player).place_locked_item(wings_item) + self.world.itempool.remove(wings_item) # generate stuff for later self.evermizer_seed = self.world.random.randint(0, 2**16-1) # TODO: make this an option for "full" plando?