The Messenger: speed up generation for large multiworlds (#2359)
This commit is contained in:
parent
e5554f8630
commit
be959c05a6
|
@ -82,9 +82,7 @@ class MessengerWorld(World):
|
||||||
self.shop_prices, self.figurine_prices = shuffle_shop_prices(self)
|
self.shop_prices, self.figurine_prices = shuffle_shop_prices(self)
|
||||||
|
|
||||||
def create_regions(self) -> None:
|
def create_regions(self) -> None:
|
||||||
for region in [MessengerRegion(reg_name, self) for reg_name in REGIONS]:
|
self.multiworld.regions += [MessengerRegion(reg_name, self) for reg_name in REGIONS]
|
||||||
if region.name in REGION_CONNECTIONS:
|
|
||||||
region.add_exits(REGION_CONNECTIONS[region.name])
|
|
||||||
|
|
||||||
def create_items(self) -> None:
|
def create_items(self) -> None:
|
||||||
# create items that are always in the item pool
|
# create items that are always in the item pool
|
||||||
|
@ -138,6 +136,8 @@ class MessengerWorld(World):
|
||||||
self.multiworld.itempool += itempool
|
self.multiworld.itempool += itempool
|
||||||
|
|
||||||
def set_rules(self) -> None:
|
def set_rules(self) -> None:
|
||||||
|
for reg_name, connections in REGION_CONNECTIONS.items():
|
||||||
|
self.multiworld.get_region(reg_name, self.player).add_exits(connections)
|
||||||
logic = self.options.logic_level
|
logic = self.options.logic_level
|
||||||
if logic == Logic.option_normal:
|
if logic == Logic.option_normal:
|
||||||
MessengerRules(self).set_messenger_rules()
|
MessengerRules(self).set_messenger_rules()
|
||||||
|
|
|
@ -32,7 +32,6 @@ class MessengerRegion(Region):
|
||||||
loc_dict = {loc: world.location_name_to_id[loc] if loc in world.location_name_to_id else None
|
loc_dict = {loc: world.location_name_to_id[loc] if loc in world.location_name_to_id else None
|
||||||
for loc in locations}
|
for loc in locations}
|
||||||
self.add_locations(loc_dict, MessengerLocation)
|
self.add_locations(loc_dict, MessengerLocation)
|
||||||
world.multiworld.regions.append(self)
|
|
||||||
|
|
||||||
|
|
||||||
class MessengerLocation(Location):
|
class MessengerLocation(Location):
|
||||||
|
|
Loading…
Reference in New Issue