Skip to content

Commit 54531c6

Browse files
authored
Muse Dash: Remove regions for a decent speed gain in generating worlds (#3435)
* Remove Muse Dash Regions. * Update comments.
1 parent ccfffa1 commit 54531c6

File tree

1 file changed

+9
-13
lines changed

1 file changed

+9
-13
lines changed

worlds/musedash/__init__.py

+9-13
Original file line numberDiff line numberDiff line change
@@ -249,9 +249,7 @@ def create_items(self) -> None:
249249

250250
def create_regions(self) -> None:
251251
menu_region = Region("Menu", self.player, self.multiworld)
252-
song_select_region = Region("Song Select", self.player, self.multiworld)
253-
self.multiworld.regions += [menu_region, song_select_region]
254-
menu_region.connect(song_select_region)
252+
self.multiworld.regions += [menu_region]
255253

256254
# Make a collection of all songs available for this rando.
257255
# 1. All starting songs
@@ -265,18 +263,16 @@ def create_regions(self) -> None:
265263
self.random.shuffle(included_song_copy)
266264
all_selected_locations.extend(included_song_copy)
267265

268-
# Make a region per song/album, then adds 1-2 item locations to them
266+
# Adds 2 item locations per song/album to the menu region.
269267
for i in range(0, len(all_selected_locations)):
270268
name = all_selected_locations[i]
271-
region = Region(name, self.player, self.multiworld)
272-
self.multiworld.regions.append(region)
273-
song_select_region.connect(region, name, lambda state, place=name: state.has(place, self.player))
274-
275-
# Muse Dash requires 2 locations per song to be *interesting*. Balanced out by filler.
276-
region.add_locations({
277-
name + "-0": self.md_collection.song_locations[name + "-0"],
278-
name + "-1": self.md_collection.song_locations[name + "-1"]
279-
}, MuseDashLocation)
269+
loc1 = MuseDashLocation(self.player, name + "-0", self.md_collection.song_locations[name + "-0"], menu_region)
270+
loc1.access_rule = lambda state, place=name: state.has(place, self.player)
271+
menu_region.locations.append(loc1)
272+
273+
loc2 = MuseDashLocation(self.player, name + "-1", self.md_collection.song_locations[name + "-1"], menu_region)
274+
loc2.access_rule = lambda state, place=name: state.has(place, self.player)
275+
menu_region.locations.append(loc2)
280276

281277
def set_rules(self) -> None:
282278
self.multiworld.completion_condition[self.player] = lambda state: \

0 commit comments

Comments
 (0)