Lingo: Make The Colorful optionally progressive (#2711)
This commit is contained in:
parent
adad7b532d
commit
c6896c6af9
|
@ -2670,6 +2670,28 @@
|
|||
paintings:
|
||||
- id: arrows_painting_12
|
||||
orientation: north
|
||||
progression:
|
||||
Progressive Colorful:
|
||||
- room: The Colorful (White)
|
||||
door: Progress Door
|
||||
- room: The Colorful (Black)
|
||||
door: Progress Door
|
||||
- room: The Colorful (Red)
|
||||
door: Progress Door
|
||||
- room: The Colorful (Yellow)
|
||||
door: Progress Door
|
||||
- room: The Colorful (Blue)
|
||||
door: Progress Door
|
||||
- room: The Colorful (Purple)
|
||||
door: Progress Door
|
||||
- room: The Colorful (Orange)
|
||||
door: Progress Door
|
||||
- room: The Colorful (Green)
|
||||
door: Progress Door
|
||||
- room: The Colorful (Brown)
|
||||
door: Progress Door
|
||||
- room: The Colorful (Gray)
|
||||
door: Progress Door
|
||||
Welcome Back Area:
|
||||
entrances:
|
||||
Starting Room:
|
||||
|
|
|
@ -1452,3 +1452,4 @@ progression:
|
|||
Progressive Fearless: 444470
|
||||
Progressive Orange Tower: 444482
|
||||
Progressive Art Gallery: 444563
|
||||
Progressive Colorful: 444580
|
||||
|
|
|
@ -28,6 +28,10 @@ class ItemData(NamedTuple):
|
|||
# door shuffle is on and tower isn't progressive
|
||||
return world.options.shuffle_doors != ShuffleDoors.option_none \
|
||||
and not world.options.progressive_orange_tower
|
||||
elif self.mode == "the colorful":
|
||||
# complex door shuffle is on and colorful isn't progressive
|
||||
return world.options.shuffle_doors == ShuffleDoors.option_complex \
|
||||
and not world.options.progressive_colorful
|
||||
elif self.mode == "complex door":
|
||||
return world.options.shuffle_doors == ShuffleDoors.option_complex
|
||||
elif self.mode == "door group":
|
||||
|
@ -70,6 +74,8 @@ def load_item_data():
|
|||
if room_name in PROGRESSION_BY_ROOM and door_name in PROGRESSION_BY_ROOM[room_name]:
|
||||
if room_name == "Orange Tower":
|
||||
door_mode = "orange tower"
|
||||
elif room_name == "The Colorful":
|
||||
door_mode = "the colorful"
|
||||
else:
|
||||
door_mode = "special"
|
||||
|
||||
|
|
|
@ -21,6 +21,13 @@ class ProgressiveOrangeTower(DefaultOnToggle):
|
|||
display_name = "Progressive Orange Tower"
|
||||
|
||||
|
||||
class ProgressiveColorful(DefaultOnToggle):
|
||||
"""When "Shuffle Doors" is on "complex", this setting governs the manner in which The Colorful opens up.
|
||||
If off, there is an item for each room of The Colorful, meaning that random rooms in the middle of the sequence can open up without giving you access to them.
|
||||
If on, there are ten progressive items, which open up the sequence from White forward."""
|
||||
display_name = "Progressive Colorful"
|
||||
|
||||
|
||||
class LocationChecks(Choice):
|
||||
"""On "normal", there will be a location check for each panel set that would ordinarily open a door, as well as for
|
||||
achievement panels and a small handful of other panels.
|
||||
|
@ -117,6 +124,7 @@ class DeathLink(Toggle):
|
|||
class LingoOptions(PerGameCommonOptions):
|
||||
shuffle_doors: ShuffleDoors
|
||||
progressive_orange_tower: ProgressiveOrangeTower
|
||||
progressive_colorful: ProgressiveColorful
|
||||
location_checks: LocationChecks
|
||||
shuffle_colors: ShuffleColors
|
||||
shuffle_panels: ShufflePanels
|
||||
|
|
|
@ -83,7 +83,8 @@ class LingoPlayerLogic:
|
|||
|
||||
def handle_non_grouped_door(self, room_name: str, door_data: Door, world: "LingoWorld"):
|
||||
if room_name in PROGRESSION_BY_ROOM and door_data.name in PROGRESSION_BY_ROOM[room_name]:
|
||||
if room_name == "Orange Tower" and not world.options.progressive_orange_tower:
|
||||
if (room_name == "Orange Tower" and not world.options.progressive_orange_tower)\
|
||||
or (room_name == "The Colorful" and not world.options.progressive_colorful):
|
||||
self.set_door_item(room_name, door_data.name, door_data.item_name)
|
||||
else:
|
||||
progressive_item_name = PROGRESSION_BY_ROOM[room_name][door_data.name].item_name
|
||||
|
|
Loading…
Reference in New Issue