diff --git a/worlds/shivers/Options.py b/worlds/shivers/Options.py index 6d18804069..5a1b3211ef 100644 --- a/worlds/shivers/Options.py +++ b/worlds/shivers/Options.py @@ -38,6 +38,16 @@ class EarlyLightning(Toggle): """Allows lightning to be captured at any point in the game. You will still need to capture all ten Ixupi for victory.""" display_name = "Early Lightning" +class LocationPotPieces(Choice): + """Chooses where pot pieces will be located within the multiworld. + - Own World: Pot pieces will be located within your own world + - Different World: Pot pieces will be located in another world + - Any World: Pot pieces will be located in any world""" + display_name = "Location of Pot Pieces" + option_own_world = 0 + option_different_world = 1 + option_any_world = 2 + @dataclass class ShiversOptions(PerGameCommonOptions): @@ -48,3 +58,4 @@ class ShiversOptions(PerGameCommonOptions): elevators_stay_solved: ElevatorsStaySolved early_beth: EarlyBeth early_lightning: EarlyLightning + location_pot_pieces: LocationPotPieces diff --git a/worlds/shivers/__init__.py b/worlds/shivers/__init__.py index e43e91fb5a..9f4d025370 100644 --- a/worlds/shivers/__init__.py +++ b/worlds/shivers/__init__.py @@ -138,6 +138,12 @@ class ShiversWorld(World): elif lobby_access_keys == 2: self.multiworld.local_early_items[self.player]["Key for Front Door"] = 1 + #Pot piece shuffle location: + if self.options.location_pot_pieces == 0: + self.multiworld.local_items[self.player].value.update({name for name, data in item_table.items() if data.type == "pot"}) + if self.options.location_pot_pieces == 1: + self.multiworld.non_local_items[self.player].value.update({name for name, data in item_table.items() if data.type == "pot"}) + def pre_fill(self) -> None: # Prefills event storage locations with duplicate pots storagelocs = []