Skip to content

Commit da333fb

Browse files
authored
Shivers: Adds missing logic rule for skull dial door location (ArchipelagoMW#2997)
1 parent 43084da commit da333fb

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

worlds/shivers/Rules.py

+8-4
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,12 @@ def first_nine_ixupi_capturable(state: CollectionState, player: int) -> bool:
7171
and metal_capturable(state, player)
7272

7373

74+
def all_skull_dials_available(state: CollectionState, player: int) -> bool:
75+
return state.can_reach("Prehistoric", "Region", player) and state.can_reach("Tar River", "Region", player) \
76+
and state.can_reach("Egypt", "Region", player) and state.can_reach("Burial", "Region", player) \
77+
and state.can_reach("Gods Room", "Region", player) and state.can_reach("Werewolf", "Region", player)
78+
79+
7480
def get_rules_lookup(player: int):
7581
rules_lookup: Dict[str, List[Callable[[CollectionState], bool]]] = {
7682
"entrances": {
@@ -116,10 +122,7 @@ def get_rules_lookup(player: int):
116122
"To Tar River From Lobby": lambda state: (state.has("Crawling", player) and oil_capturable(state, player) and state.can_reach("Tar River", "Region", player)),
117123
"To Burial From Egypt": lambda state: state.can_reach("Egypt", "Region", player),
118124
"To Gods Room From Anansi": lambda state: state.can_reach("Gods Room", "Region", player),
119-
"To Slide Room": lambda state: (
120-
state.can_reach("Prehistoric", "Region", player) and state.can_reach("Tar River", "Region",player) and
121-
state.can_reach("Egypt", "Region", player) and state.can_reach("Burial", "Region", player) and
122-
state.can_reach("Gods Room", "Region", player) and state.can_reach("Werewolf", "Region", player)),
125+
"To Slide Room": lambda state: all_skull_dials_available(state, player),
123126
"To Lobby From Slide Room": lambda state: (beths_body_available(state, player))
124127
},
125128
"locations_required": {
@@ -141,6 +144,7 @@ def get_rules_lookup(player: int):
141144
"Final Riddle: Norse God Stone Message": lambda state: (state.can_reach("Fortune Teller", "Region", player) and state.can_reach("UFO", "Region", player)),
142145
"Final Riddle: Beth's Body Page 17": lambda state: beths_body_available(state, player),
143146
"Final Riddle: Guillotine Dropped": lambda state: beths_body_available(state, player),
147+
"Puzzle Solved Skull Dial Door": lambda state: all_skull_dials_available(state, player),
144148
},
145149
"locations_puzzle_hints": {
146150
"Puzzle Solved Clock Tower Door": lambda state: state.can_reach("Three Floor Elevator", "Region", player),

0 commit comments

Comments
 (0)