Lingo: Expand sphere 1 under restrictive conditions (#3190)
This commit is contained in:
parent
ea6235e0d9
commit
fc571ba356
|
@ -10,6 +10,7 @@ class LocationClassification(Flag):
|
||||||
normal = auto()
|
normal = auto()
|
||||||
reduced = auto()
|
reduced = auto()
|
||||||
insanity = auto()
|
insanity = auto()
|
||||||
|
small_sphere_one = auto()
|
||||||
|
|
||||||
|
|
||||||
class LocationData(NamedTuple):
|
class LocationData(NamedTuple):
|
||||||
|
@ -47,6 +48,9 @@ def load_location_data():
|
||||||
if not panel.exclude_reduce:
|
if not panel.exclude_reduce:
|
||||||
classification |= LocationClassification.reduced
|
classification |= LocationClassification.reduced
|
||||||
|
|
||||||
|
if room_name == "Starting Room":
|
||||||
|
classification |= LocationClassification.small_sphere_one
|
||||||
|
|
||||||
ALL_LOCATION_TABLE[location_name] = \
|
ALL_LOCATION_TABLE[location_name] = \
|
||||||
LocationData(get_panel_location_id(room_name, panel_name), room_name,
|
LocationData(get_panel_location_id(room_name, panel_name), room_name,
|
||||||
[RoomAndPanel(None, panel_name)], classification)
|
[RoomAndPanel(None, panel_name)], classification)
|
||||||
|
|
|
@ -236,9 +236,12 @@ class LingoPlayerLogic:
|
||||||
elif location_checks == LocationChecks.option_insanity:
|
elif location_checks == LocationChecks.option_insanity:
|
||||||
location_classification = LocationClassification.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():
|
for location_name, location_data in ALL_LOCATION_TABLE.items():
|
||||||
if location_name != self.victory_condition:
|
if location_name != self.victory_condition:
|
||||||
if location_classification not in location_data.classification:
|
if not (location_classification & location_data.classification):
|
||||||
continue
|
continue
|
||||||
|
|
||||||
self.add_location(location_data.room, location_name, location_data.code, location_data.panels, world)
|
self.add_location(location_data.room, location_name, location_data.code, location_data.panels, world)
|
||||||
|
|
Loading…
Reference in New Issue