From 9bdbced51fc153b8d3a8401149b53f668de5358c Mon Sep 17 00:00:00 2001 From: espeon65536 <81029175+espeon65536@users.noreply.github.com> Date: Sun, 4 Dec 2022 21:04:01 -0600 Subject: [PATCH] Hylics 2: create victory location earlier to ensure it is cached correctly (#1291) Fixes generation issues where the victory location could not be found from MultiWorld.get_locations --- worlds/hylics2/__init__.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/worlds/hylics2/__init__.py b/worlds/hylics2/__init__.py index 80c80a0d..26a1a113 100644 --- a/worlds/hylics2/__init__.py +++ b/worlds/hylics2/__init__.py @@ -76,14 +76,6 @@ class Hylics2World(World): self.start_location = "Shield Facility" def generate_basic(self): - # create location for beating the game and place Victory event there - loc = Location(self.player, "Defeat Gibby", None, self.multiworld.get_region("Hylemxylem", self.player)) - loc.place_locked_item(self.create_event("Victory")) - set_rule(loc, lambda state: state._hylics2_has_upper_chamber_key(self.player) - and state._hylics2_has_vessel_room_key(self.player)) - self.multiworld.get_region("Hylemxylem", self.player).locations.append(loc) - self.multiworld.completion_condition[self.player] = lambda state: state.has("Victory", self.player) - # create item pool pool = [] @@ -237,6 +229,14 @@ class Hylics2World(World): region_table[data["region"]].locations\ .append(Hylics2Location(self.player, data["name"], i, region_table[data["region"]])) + # create location for beating the game and place Victory event there + loc = Location(self.player, "Defeat Gibby", None, self.multiworld.get_region("Hylemxylem", self.player)) + loc.place_locked_item(self.create_event("Victory")) + set_rule(loc, lambda state: state._hylics2_has_upper_chamber_key(self.player) + and state._hylics2_has_vessel_room_key(self.player)) + self.multiworld.get_region("Hylemxylem", self.player).locations.append(loc) + self.multiworld.completion_condition[self.player] = lambda state: state.has("Victory", self.player) + class Hylics2Location(Location): game: str = "Hylics 2"