Lingo: Make The Colorful optionally progressive (#2711)
This commit is contained in:
parent
adad7b532d
commit
c6896c6af9
|
@ -2670,6 +2670,28 @@
|
||||||
paintings:
|
paintings:
|
||||||
- id: arrows_painting_12
|
- id: arrows_painting_12
|
||||||
orientation: north
|
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:
|
Welcome Back Area:
|
||||||
entrances:
|
entrances:
|
||||||
Starting Room:
|
Starting Room:
|
||||||
|
|
|
@ -1452,3 +1452,4 @@ progression:
|
||||||
Progressive Fearless: 444470
|
Progressive Fearless: 444470
|
||||||
Progressive Orange Tower: 444482
|
Progressive Orange Tower: 444482
|
||||||
Progressive Art Gallery: 444563
|
Progressive Art Gallery: 444563
|
||||||
|
Progressive Colorful: 444580
|
||||||
|
|
|
@ -28,6 +28,10 @@ class ItemData(NamedTuple):
|
||||||
# door shuffle is on and tower isn't progressive
|
# door shuffle is on and tower isn't progressive
|
||||||
return world.options.shuffle_doors != ShuffleDoors.option_none \
|
return world.options.shuffle_doors != ShuffleDoors.option_none \
|
||||||
and not world.options.progressive_orange_tower
|
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":
|
elif self.mode == "complex door":
|
||||||
return world.options.shuffle_doors == ShuffleDoors.option_complex
|
return world.options.shuffle_doors == ShuffleDoors.option_complex
|
||||||
elif self.mode == "door group":
|
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 in PROGRESSION_BY_ROOM and door_name in PROGRESSION_BY_ROOM[room_name]:
|
||||||
if room_name == "Orange Tower":
|
if room_name == "Orange Tower":
|
||||||
door_mode = "orange tower"
|
door_mode = "orange tower"
|
||||||
|
elif room_name == "The Colorful":
|
||||||
|
door_mode = "the colorful"
|
||||||
else:
|
else:
|
||||||
door_mode = "special"
|
door_mode = "special"
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,13 @@ class ProgressiveOrangeTower(DefaultOnToggle):
|
||||||
display_name = "Progressive Orange Tower"
|
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):
|
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
|
"""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.
|
achievement panels and a small handful of other panels.
|
||||||
|
@ -117,6 +124,7 @@ class DeathLink(Toggle):
|
||||||
class LingoOptions(PerGameCommonOptions):
|
class LingoOptions(PerGameCommonOptions):
|
||||||
shuffle_doors: ShuffleDoors
|
shuffle_doors: ShuffleDoors
|
||||||
progressive_orange_tower: ProgressiveOrangeTower
|
progressive_orange_tower: ProgressiveOrangeTower
|
||||||
|
progressive_colorful: ProgressiveColorful
|
||||||
location_checks: LocationChecks
|
location_checks: LocationChecks
|
||||||
shuffle_colors: ShuffleColors
|
shuffle_colors: ShuffleColors
|
||||||
shuffle_panels: ShufflePanels
|
shuffle_panels: ShufflePanels
|
||||||
|
|
|
@ -83,7 +83,8 @@ class LingoPlayerLogic:
|
||||||
|
|
||||||
def handle_non_grouped_door(self, room_name: str, door_data: Door, world: "LingoWorld"):
|
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 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)
|
self.set_door_item(room_name, door_data.name, door_data.item_name)
|
||||||
else:
|
else:
|
||||||
progressive_item_name = PROGRESSION_BY_ROOM[room_name][door_data.name].item_name
|
progressive_item_name = PROGRESSION_BY_ROOM[room_name][door_data.name].item_name
|
||||||
|
|
Loading…
Reference in New Issue