Skip to content

Commit fbd3f66

Browse files
korydondzilaNewSoupVi
authored andcommitted
Shivers: Adds missing indirect conditions. (ArchipelagoMW#3558)
Co-authored-by: NewSoupVi <[email protected]>
1 parent eb84160 commit fbd3f66

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

worlds/shivers/Rules.py

+11-6
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from typing import Dict, List, TYPE_CHECKING
1+
from typing import Dict, TYPE_CHECKING
22
from collections.abc import Callable
33
from BaseClasses import CollectionState
44
from worlds.generic.Rules import forbid_item
@@ -78,7 +78,7 @@ def all_skull_dials_available(state: CollectionState, player: int) -> bool:
7878

7979

8080
def get_rules_lookup(player: int):
81-
rules_lookup: Dict[str, List[Callable[[CollectionState], bool]]] = {
81+
rules_lookup: Dict[str, Dict[str, Callable[[CollectionState], bool]]] = {
8282
"entrances": {
8383
"To Office Elevator From Underground Blue Tunnels": lambda state: state.has("Key for Office Elevator", player),
8484
"To Office Elevator From Office": lambda state: state.has("Key for Office Elevator", player),
@@ -195,6 +195,15 @@ def set_rules(world: "ShiversWorld") -> None:
195195
for location_name, rule in rules_lookup["lightning"].items():
196196
multiworld.get_location(location_name, player).access_rule = rule
197197

198+
# Register indirect conditions
199+
multiworld.register_indirect_condition(world.get_region("Burial"), world.get_entrance("To Slide Room"))
200+
multiworld.register_indirect_condition(world.get_region("Egypt"), world.get_entrance("To Slide Room"))
201+
multiworld.register_indirect_condition(world.get_region("Gods Room"), world.get_entrance("To Slide Room"))
202+
multiworld.register_indirect_condition(world.get_region("Prehistoric"), world.get_entrance("To Slide Room"))
203+
multiworld.register_indirect_condition(world.get_region("Tar River"), world.get_entrance("To Slide Room"))
204+
multiworld.register_indirect_condition(world.get_region("Werewolf"), world.get_entrance("To Slide Room"))
205+
multiworld.register_indirect_condition(world.get_region("Prehistoric"), world.get_entrance("To Tar River From Lobby"))
206+
198207
# forbid cloth in janitor closet and oil in tar river
199208
forbid_item(multiworld.get_location("Accessible: Storage: Janitor Closet", player), "Cloth Pot Bottom DUPE", player)
200209
forbid_item(multiworld.get_location("Accessible: Storage: Janitor Closet", player), "Cloth Pot Top DUPE", player)
@@ -226,7 +235,3 @@ def set_rules(world: "ShiversWorld") -> None:
226235

227236
# Set completion condition
228237
multiworld.completion_condition[player] = lambda state: (first_nine_ixupi_capturable(state, player) and lightning_capturable(state, player))
229-
230-
231-
232-

0 commit comments

Comments
 (0)