diff --git a/worlds/v6/Options.py b/worlds/v6/Options.py index 7af89fd1..fa55aa96 100644 --- a/worlds/v6/Options.py +++ b/worlds/v6/Options.py @@ -17,7 +17,12 @@ class AreaRandomizer(Toggle): """Randomize Entrances to Areas""" displayname = "Area Randomizer" +class MusicRandomizer(Toggle): + """Randomize Music""" + displayname = "Music Randomizer" + v6_options: typing.Dict[str,type(Option)] = { + "MusicRandomizer": MusicRandomizer, "AreaRandomizer": AreaRandomizer, "DoorCost": DoorCost, "DeathLink": DeathLink, diff --git a/worlds/v6/__init__.py b/worlds/v6/__init__.py index b06b8612..8bce7337 100644 --- a/worlds/v6/__init__.py +++ b/worlds/v6/__init__.py @@ -26,6 +26,8 @@ class V6World(World): area_connections: typing.Dict[int, int] + music_map: typing.Dict[int,int] + options = v6_options def create_regions(self): @@ -41,8 +43,15 @@ class V6World(World): def generate_basic(self): self.world.itempool += [self.create_item(name) for name in self.item_names] + musiclist_o = [1,2,3,4,9,12] + musiclist_s = musiclist_o.copy() + if self.world.MusicRandomizer[self.player].value: + self.world.random.shuffle(musiclist_s) + self.music_map = dict(zip(musiclist_o, musiclist_s)) + def fill_slot_data(self): return { + "MusicRando": self.music_map, "AreaRando": self.area_connections, "DoorCost": self.world.DoorCost[self.player].value, "DeathLink": self.world.DeathLink[self.player].value,