mirror of
https://github.com/ArchipelagoMW/Archipelago.git
synced 2026-03-30 00:03:28 -07:00
Satisfactory: Fixed buildings missing from goal check (#5772)
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user