From bb08c3f0c2ef148fd24d7c7820cdfe936f7196e2 Mon Sep 17 00:00:00 2001 From: GodlFire <46984098+GodlFire@users.noreply.github.com> Date: Mon, 1 Jan 2024 11:41:32 -0700 Subject: [PATCH] Merge branch 'main' of https://github.com/GodlFire/Shivers --- worlds/shivers/Options.py | 23 +---------------------- worlds/shivers/Rules.py | 8 ++------ worlds/shivers/__init__.py | 7 ------- 3 files changed, 3 insertions(+), 35 deletions(-) diff --git a/worlds/shivers/Options.py b/worlds/shivers/Options.py index 3d0d03e5c38..6d188040691 100644 --- a/worlds/shivers/Options.py +++ b/worlds/shivers/Options.py @@ -1,16 +1,7 @@ -from Options import Choice, DefaultOnToggle, Toggle, PerGameCommonOptions, Range +from Options import Choice, DefaultOnToggle, Toggle, PerGameCommonOptions from dataclasses import dataclass -class IxupiCapturesNeeded(Range): - """ - Number of Ixupi Captures needed for goal condition. - """ - display_name = "Number of Ixupi Captures Needed" - range_start = 1 - range_end = 10 - default = 10 - class LobbyAccess(Choice): """Chooses how keys needed to reach the lobby are placed. - Normal: Keys are placed anywhere @@ -47,20 +38,9 @@ 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): - ixupi_captures_needed: IxupiCapturesNeeded lobby_access: LobbyAccess puzzle_hints_required: PuzzleHintsRequired include_information_plaques: InformationPlaques @@ -68,4 +48,3 @@ class ShiversOptions(PerGameCommonOptions): elevators_stay_solved: ElevatorsStaySolved early_beth: EarlyBeth early_lightning: EarlyLightning - location_pot_pieces: LocationPotPieces diff --git a/worlds/shivers/Rules.py b/worlds/shivers/Rules.py index cbc7eb5d729..fdd260ca91a 100644 --- a/worlds/shivers/Rules.py +++ b/worlds/shivers/Rules.py @@ -157,7 +157,7 @@ def get_rules_lookup(player: int): "Puzzle Solved Underground Elevator": lambda state: ((state.can_reach("Underground Lake", "Region", player) or state.can_reach("Office", "Region", player) and state.has("Key for Office Elevator", player))), "Puzzle Solved Bedroom Elevator": lambda state: (state.can_reach("Office", "Region", player) and state.has_all({"Key for Bedroom Elevator","Crawling"}, player)), - "Puzzle Solved Three Floor Elevator": lambda state: (((state.can_reach("Maintenance Tunnels", "Region", player) or state.can_reach("Blue Maze", "Region", player)) + "Puzzle Solved Three Floor Elevator": lambda state: ((state.can_reach("Maintenance Tunnels", "Region", player) or state.can_reach("Blue Maze", "Region", player) and state.has("Key for Three Floor Elevator", player))) }, "lightning": { @@ -221,11 +221,7 @@ def set_rules(world: "ShiversWorld") -> None: forbid_item(multiworld.get_location("Ixupi Captured Metal", player), "Metal Always Available in Prehistoric", player) # Set completion condition - multiworld.completion_condition[player] = lambda state: (( - water_capturable(state, player) + wax_capturable(state, player) + ash_capturable(state, player) \ - + oil_capturable(state, player) + cloth_capturable(state, player) + wood_capturable(state, player) \ - + crystal_capturable(state, player) + sand_capturable(state, player) + metal_capturable(state, player) \ - + lightning_capturable(state, player)) >= world.options.ixupi_captures_needed.value) + multiworld.completion_condition[player] = lambda state: (first_nine_ixupi_capturable(state, player) and lightning_capturable(state, player)) diff --git a/worlds/shivers/__init__.py b/worlds/shivers/__init__.py index 0a1c10a20d2..e43e91fb5ae 100644 --- a/worlds/shivers/__init__.py +++ b/worlds/shivers/__init__.py @@ -138,12 +138,6 @@ def create_items(self) -> None: 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 = [] @@ -174,7 +168,6 @@ def fill_slot_data(self) -> dict: return { "storageplacements": self.storage_placements, "excludedlocations": {str(excluded_location).replace('ExcludeLocations(', '').replace(')', '') for excluded_location in self.multiworld.exclude_locations.values()}, - "ixupicapturesneeded": {self.options.ixupi_captures_needed.value}, "elevatorsstaysolved": {self.options.elevators_stay_solved.value}, "earlybeth": {self.options.early_beth.value}, "earlylightning": {self.options.early_lightning.value},