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
This commit is contained in:
parent
bd574ef261
commit
9bdbced51f
|
@ -76,14 +76,6 @@ class Hylics2World(World):
|
||||||
self.start_location = "Shield Facility"
|
self.start_location = "Shield Facility"
|
||||||
|
|
||||||
def generate_basic(self):
|
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
|
# create item pool
|
||||||
pool = []
|
pool = []
|
||||||
|
|
||||||
|
@ -237,6 +229,14 @@ class Hylics2World(World):
|
||||||
region_table[data["region"]].locations\
|
region_table[data["region"]].locations\
|
||||||
.append(Hylics2Location(self.player, data["name"], i, region_table[data["region"]]))
|
.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):
|
class Hylics2Location(Location):
|
||||||
game: str = "Hylics 2"
|
game: str = "Hylics 2"
|
||||||
|
|
Loading…
Reference in New Issue