Skip to content

Commit bb08c3f

Browse files
committed
Merge branch 'main' of https://github.com/GodlFire/Shivers
1 parent 629028b commit bb08c3f

File tree

3 files changed

+3
-35
lines changed

3 files changed

+3
-35
lines changed

worlds/shivers/Options.py

+1-22
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,7 @@
1-
from Options import Choice, DefaultOnToggle, Toggle, PerGameCommonOptions, Range
1+
from Options import Choice, DefaultOnToggle, Toggle, PerGameCommonOptions
22
from dataclasses import dataclass
33

44

5-
class IxupiCapturesNeeded(Range):
6-
"""
7-
Number of Ixupi Captures needed for goal condition.
8-
"""
9-
display_name = "Number of Ixupi Captures Needed"
10-
range_start = 1
11-
range_end = 10
12-
default = 10
13-
145
class LobbyAccess(Choice):
156
"""Chooses how keys needed to reach the lobby are placed.
167
- Normal: Keys are placed anywhere
@@ -47,25 +38,13 @@ class EarlyLightning(Toggle):
4738
"""Allows lightning to be captured at any point in the game. You will still need to capture all ten Ixupi for victory."""
4839
display_name = "Early Lightning"
4940

50-
class LocationPotPieces(Choice):
51-
"""Chooses where pot pieces will be located within the multiworld.
52-
- Own World: Pot pieces will be located within your own world
53-
- Different World: Pot pieces will be located in another world
54-
- Any World: Pot pieces will be located in any world"""
55-
display_name = "Location of Pot Pieces"
56-
option_own_world = 0
57-
option_different_world = 1
58-
option_any_world = 2
59-
6041

6142
@dataclass
6243
class ShiversOptions(PerGameCommonOptions):
63-
ixupi_captures_needed: IxupiCapturesNeeded
6444
lobby_access: LobbyAccess
6545
puzzle_hints_required: PuzzleHintsRequired
6646
include_information_plaques: InformationPlaques
6747
front_door_usable: FrontDoorUsable
6848
elevators_stay_solved: ElevatorsStaySolved
6949
early_beth: EarlyBeth
7050
early_lightning: EarlyLightning
71-
location_pot_pieces: LocationPotPieces

worlds/shivers/Rules.py

+2-6
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ def get_rules_lookup(player: int):
157157
"Puzzle Solved Underground Elevator": lambda state: ((state.can_reach("Underground Lake", "Region", player) or state.can_reach("Office", "Region", player)
158158
and state.has("Key for Office Elevator", player))),
159159
"Puzzle Solved Bedroom Elevator": lambda state: (state.can_reach("Office", "Region", player) and state.has_all({"Key for Bedroom Elevator","Crawling"}, player)),
160-
"Puzzle Solved Three Floor Elevator": lambda state: (((state.can_reach("Maintenance Tunnels", "Region", player) or state.can_reach("Blue Maze", "Region", player))
160+
"Puzzle Solved Three Floor Elevator": lambda state: ((state.can_reach("Maintenance Tunnels", "Region", player) or state.can_reach("Blue Maze", "Region", player)
161161
and state.has("Key for Three Floor Elevator", player)))
162162
},
163163
"lightning": {
@@ -221,11 +221,7 @@ def set_rules(world: "ShiversWorld") -> None:
221221
forbid_item(multiworld.get_location("Ixupi Captured Metal", player), "Metal Always Available in Prehistoric", player)
222222

223223
# Set completion condition
224-
multiworld.completion_condition[player] = lambda state: ((
225-
water_capturable(state, player) + wax_capturable(state, player) + ash_capturable(state, player) \
226-
+ oil_capturable(state, player) + cloth_capturable(state, player) + wood_capturable(state, player) \
227-
+ crystal_capturable(state, player) + sand_capturable(state, player) + metal_capturable(state, player) \
228-
+ lightning_capturable(state, player)) >= world.options.ixupi_captures_needed.value)
224+
multiworld.completion_condition[player] = lambda state: (first_nine_ixupi_capturable(state, player) and lightning_capturable(state, player))
229225

230226

231227

worlds/shivers/__init__.py

-7
Original file line numberDiff line numberDiff line change
@@ -138,12 +138,6 @@ def create_items(self) -> None:
138138
elif lobby_access_keys == 2:
139139
self.multiworld.local_early_items[self.player]["Key for Front Door"] = 1
140140

141-
#Pot piece shuffle location:
142-
if self.options.location_pot_pieces == 0:
143-
self.multiworld.local_items[self.player].value.update({name for name, data in item_table.items() if data.type == "pot"})
144-
if self.options.location_pot_pieces == 1:
145-
self.multiworld.non_local_items[self.player].value.update({name for name, data in item_table.items() if data.type == "pot"})
146-
147141
def pre_fill(self) -> None:
148142
# Prefills event storage locations with duplicate pots
149143
storagelocs = []
@@ -174,7 +168,6 @@ def fill_slot_data(self) -> dict:
174168
return {
175169
"storageplacements": self.storage_placements,
176170
"excludedlocations": {str(excluded_location).replace('ExcludeLocations(', '').replace(')', '') for excluded_location in self.multiworld.exclude_locations.values()},
177-
"ixupicapturesneeded": {self.options.ixupi_captures_needed.value},
178171
"elevatorsstaysolved": {self.options.elevators_stay_solved.value},
179172
"earlybeth": {self.options.early_beth.value},
180173
"earlylightning": {self.options.early_lightning.value},

0 commit comments

Comments
 (0)