mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 20:21:32 -06:00
Lingo: Expand sphere 1 under restrictive conditions (#3190)
This commit is contained in:
committed by
GitHub
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)
|
||||||
|
|||||||
Reference in New Issue
Block a user