diff --git a/worlds/lingo/locations.py b/worlds/lingo/locations.py index a6e53e76..5ffedee3 100644 --- a/worlds/lingo/locations.py +++ b/worlds/lingo/locations.py @@ -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) diff --git a/worlds/lingo/player_logic.py b/worlds/lingo/player_logic.py index 96e9869d..f7bf1ac9 100644 --- a/worlds/lingo/player_logic.py +++ b/worlds/lingo/player_logic.py @@ -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)