Lingo: Expand sphere 1 under restrictive conditions (#3190)

This commit is contained in:
Star Rauchenberger 2024-05-02 02:52:16 -05:00 committed by GitHub
parent ea6235e0d9
commit fc571ba356
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 8 additions and 1 deletions

View File

@ -10,6 +10,7 @@ class LocationClassification(Flag):
normal = auto()
reduced = auto()
insanity = auto()
small_sphere_one = auto()
class LocationData(NamedTuple):
@ -47,6 +48,9 @@ def load_location_data():
if not panel.exclude_reduce:
classification |= LocationClassification.reduced
if room_name == "Starting Room":
classification |= LocationClassification.small_sphere_one
ALL_LOCATION_TABLE[location_name] = \
LocationData(get_panel_location_id(room_name, panel_name), room_name,
[RoomAndPanel(None, panel_name)], classification)

View File

@ -236,9 +236,12 @@ class LingoPlayerLogic:
elif location_checks == LocationChecks.option_insanity:
location_classification = LocationClassification.insanity
if door_shuffle != ShuffleDoors.option_none and not early_color_hallways:
location_classification |= LocationClassification.small_sphere_one
for location_name, location_data in ALL_LOCATION_TABLE.items():
if location_name != self.victory_condition:
if location_classification not in location_data.classification:
if not (location_classification & location_data.classification):
continue
self.add_location(location_data.room, location_name, location_data.code, location_data.panels, world)