diff --git a/worlds/satisfactory/__init__.py b/worlds/satisfactory/__init__.py index d105bd268c..06c56eabe5 100644 --- a/worlds/satisfactory/__init__.py +++ b/worlds/satisfactory/__init__.py @@ -88,16 +88,19 @@ class SatisfactoryWorld(World): self.items.build_item_pool(self.random, precollected_items, number_of_locations) def set_rules(self) -> None: - resource_sink_goal: bool = "AWESOME Sink Points (total)" in self.options.goal_selection \ - or "AWESOME Sink Points (per minute)" in self.options.goal_selection - required_parts = set(self.game_logic.space_elevator_phases[self.options.final_elevator_phase.value - 1].keys()) + required_buildings = set() - if resource_sink_goal: - required_parts.union(self.game_logic.buildings["AWESOME Sink"].inputs) + if "Space Elevator Phase" in self.options.goal_selection: + required_buildings.add("Space Elevator") + + if "AWESOME Sink Points (total)" in self.options.goal_selection \ + or "AWESOME Sink Points (per minute)" in self.options.goal_selection: + required_buildings.add("AWESOME Sink") self.multiworld.completion_condition[self.player] = \ - lambda state: self.state_logic.can_produce_all(state, required_parts) + lambda state: self.state_logic.can_produce_all(state, required_parts) \ + and self.state_logic.can_build_all(state, required_buildings) def collect(self, state: CollectionState, item: Item) -> bool: change = super().collect(state, item)