Lingo: Various item/location renames (#2746)

## What is this fixing or adding?
- Roof MASTERY panels are now technically in individual regions with more descriptive names, so they can be displayed better on the tracker.
- Orange Tower Seventh Floor - Mastery has been renamed to simply Mastery.
- The Optimistic is its own region now.
- The misnamed CEILING in Room Room has been fixed.
- The misnamed CHEESE in Challenge Room has been fixed.
- The misnamed SOUND in Outside the Bold has been fixed.
- "The Bearer - Shortcut to The Bold" is now "The Bearer - Entrance".
- HUB ROOM - NEAR, FAR and the Warts Straw and Leaf Feel Areas have now been semantically combined into the "Symmetry Room". They are still logically three separate regions.
- The FACTS chain in Challenge Room has been reindexed, and the full chain panel is now indicated as such.
- The Room Room floors have been reindexed.
- Panels in The Observant are now named by their questions, not answers.
- Added a (1) subscript to several panels in Orange Tower Fourth Floor, Outside The Initiated, and The Seeker.

The validate_config.rb script has also been updated to check that all items and locations have an ID.

This change should not impact generation logic at all. It is just changing item and location names.
This commit is contained in:
Star Rauchenberger 2024-02-15 15:03:10 -05:00 committed by GitHub
parent 475e803500
commit 2c38b9fd51
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 300 additions and 229 deletions

View File

@ -278,10 +278,10 @@
tag: forbid tag: forbid
check: True check: True
achievement: The Seeker achievement: The Seeker
BEAR: BEAR (1):
id: Heteronym Room/Panel_bear_bear id: Heteronym Room/Panel_bear_bear
tag: midwhite tag: midwhite
MINE: MINE (1):
id: Heteronym Room/Panel_mine_mine id: Heteronym Room/Panel_mine_mine
tag: double midwhite tag: double midwhite
subtag: left subtag: left
@ -297,7 +297,7 @@
DOES: DOES:
id: Heteronym Room/Panel_does_does id: Heteronym Room/Panel_does_does
tag: midwhite tag: midwhite
MOBILE: MOBILE (1):
id: Heteronym Room/Panel_mobile_mobile id: Heteronym Room/Panel_mobile_mobile
tag: double midwhite tag: double midwhite
subtag: left subtag: left
@ -399,8 +399,7 @@
door: Crossroads Entrance door: Crossroads Entrance
The Tenacious: The Tenacious:
door: Tenacious Entrance door: Tenacious Entrance
Warts Straw Area: Near Far Area: True
door: Symmetry Door
Hedge Maze: Hedge Maze:
door: Shortcut to Hedge Maze door: Shortcut to Hedge Maze
Orange Tower First Floor: Orange Tower First Floor:
@ -427,14 +426,6 @@
id: Palindrome Room/Panel_slaughter_laughter id: Palindrome Room/Panel_slaughter_laughter
colors: red colors: red
tag: midred tag: midred
NEAR:
id: Symmetry Room/Panel_near_far
colors: black
tag: botblack
FAR:
id: Symmetry Room/Panel_far_near
colors: black
tag: botblack
TRACE: TRACE:
id: Maze Room/Panel_trace_trace id: Maze Room/Panel_trace_trace
tag: midwhite tag: midwhite
@ -477,14 +468,6 @@
group: Entrances to The Tenacious group: Entrances to The Tenacious
panels: panels:
- SLAUGHTER - SLAUGHTER
Symmetry Door:
id:
- Symmetry Room Area Doors/Door_near_far
- Symmetry Room Area Doors/Door_far_near
group: Symmetry Doors
panels:
- NEAR
- FAR
Shortcut to Hedge Maze: Shortcut to Hedge Maze:
id: Maze Area Doors/Door_trace_trace id: Maze Area Doors/Door_trace_trace
group: Hedge Maze Doors group: Hedge Maze Doors
@ -548,7 +531,7 @@
id: Lingo Room/Panel_shortcut id: Lingo Room/Panel_shortcut
colors: yellow colors: yellow
tag: midyellow tag: midyellow
PILGRIMAGE: PILGRIM:
id: Lingo Room/Panel_pilgrim id: Lingo Room/Panel_pilgrim
colors: blue colors: blue
tag: midblue tag: midblue
@ -569,7 +552,7 @@
Exit: Exit:
event: True event: True
panels: panels:
- PILGRIMAGE - PILGRIM
Pilgrim Room: Pilgrim Room:
entrances: entrances:
The Seeker: The Seeker:
@ -755,7 +738,7 @@
panels: panels:
- TURN - TURN
- room: Orange Tower Fourth Floor - room: Orange Tower Fourth Floor
panel: RUNT panel: RUNT (1)
Words Sword Door: Words Sword Door:
id: id:
- Shuffle Room Area Doors/Door_words_shuffle_3 - Shuffle Room Area Doors/Door_words_shuffle_3
@ -962,11 +945,36 @@
- LEVEL (White) - LEVEL (White)
- RACECAR (White) - RACECAR (White)
- SOLOS (White) - SOLOS (White)
Near Far Area:
entrances:
Hub Room: True
Warts Straw Area:
door: Door
panels:
NEAR:
id: Symmetry Room/Panel_near_far
colors: black
tag: botblack
FAR:
id: Symmetry Room/Panel_far_near
colors: black
tag: botblack
doors:
Door:
id:
- Symmetry Room Area Doors/Door_near_far
- Symmetry Room Area Doors/Door_far_near
group: Symmetry Doors
item_name: Symmetry Room - Near Far Door
location_name: Symmetry Room - NEAR, FAR
panels:
- NEAR
- FAR
Warts Straw Area: Warts Straw Area:
entrances: entrances:
Hub Room: Near Far Area:
room: Hub Room room: Near Far Area
door: Symmetry Door door: Door
Leaf Feel Area: Leaf Feel Area:
door: Door door: Door
panels: panels:
@ -984,6 +992,8 @@
- Symmetry Room Area Doors/Door_warts_straw - Symmetry Room Area Doors/Door_warts_straw
- Symmetry Room Area Doors/Door_straw_warts - Symmetry Room Area Doors/Door_straw_warts
group: Symmetry Doors group: Symmetry Doors
item_name: Symmetry Room - Warts Straw Door
location_name: Symmetry Room - WARTS, STRAW
panels: panels:
- WARTS - WARTS
- STRAW - STRAW
@ -1009,6 +1019,8 @@
- Symmetry Room Area Doors/Door_leaf_feel - Symmetry Room Area Doors/Door_leaf_feel
- Symmetry Room Area Doors/Door_feel_leaf - Symmetry Room Area Doors/Door_feel_leaf
group: Symmetry Doors group: Symmetry Doors
item_name: Symmetry Room - Leaf Feel Door
location_name: Symmetry Room - LEAF, FEEL
panels: panels:
- LEAF - LEAF
- FEEL - FEEL
@ -1120,7 +1132,7 @@
tag: forbid tag: forbid
required_panel: required_panel:
- room: Outside The Bold - room: Outside The Bold
panel: MOUTH panel: SOUND
- room: Outside The Bold - room: Outside The Bold
panel: YEAST panel: YEAST
- room: Outside The Bold - room: Outside The Bold
@ -1436,7 +1448,7 @@
entrances: entrances:
The Perceptive: True The Perceptive: True
panels: panels:
NAPS: SPAN:
id: Naps Room/Panel_naps_span id: Naps Room/Panel_naps_span
colors: black colors: black
tag: midblack tag: midblack
@ -1462,7 +1474,7 @@
location_name: The Fearless - First Floor Puzzles location_name: The Fearless - First Floor Puzzles
group: Fearless Doors group: Fearless Doors
panels: panels:
- NAPS - SPAN
- TEAM - TEAM
- TEEM - TEEM
- IMPATIENT - IMPATIENT
@ -1564,11 +1576,11 @@
required_door: required_door:
door: Stairs door: Stairs
achievement: The Observant achievement: The Observant
BACK: FOUR (1):
id: Look Room/Panel_four_back id: Look Room/Panel_four_back
colors: green colors: green
tag: forbid tag: forbid
SIDE: FOUR (2):
id: Look Room/Panel_four_side id: Look Room/Panel_four_side
colors: green colors: green
tag: forbid tag: forbid
@ -1578,87 +1590,87 @@
hunt: True hunt: True
required_door: required_door:
door: Backside Door door: Backside Door
STAIRS: SIX:
id: Look Room/Panel_six_stairs id: Look Room/Panel_six_stairs
colors: green colors: green
tag: forbid tag: forbid
WAYS: FOUR (3):
id: Look Room/Panel_four_ways id: Look Room/Panel_four_ways
colors: green colors: green
tag: forbid tag: forbid
"ON": TWO (1):
id: Look Room/Panel_two_on id: Look Room/Panel_two_on
colors: green colors: green
tag: forbid tag: forbid
UP: TWO (2):
id: Look Room/Panel_two_up id: Look Room/Panel_two_up
colors: green colors: green
tag: forbid tag: forbid
SWIMS: FIVE:
id: Look Room/Panel_five_swims id: Look Room/Panel_five_swims
colors: green colors: green
tag: forbid tag: forbid
UPSTAIRS: BELOW (1):
id: Look Room/Panel_eight_upstairs id: Look Room/Panel_eight_upstairs
colors: green colors: green
tag: forbid tag: forbid
required_door: required_door:
door: Stairs door: Stairs
TOIL: BLUE:
id: Look Room/Panel_blue_toil id: Look Room/Panel_blue_toil
colors: green colors: green
tag: forbid tag: forbid
required_door: required_door:
door: Stairs door: Stairs
STOP: BELOW (2):
id: Look Room/Panel_four_stop id: Look Room/Panel_four_stop
colors: green colors: green
tag: forbid tag: forbid
required_door: required_door:
door: Stairs door: Stairs
TOP: MINT (1):
id: Look Room/Panel_aqua_top id: Look Room/Panel_aqua_top
colors: green colors: green
tag: forbid tag: forbid
required_door: required_door:
door: Stairs door: Stairs
HI: ESACREWOL:
id: Look Room/Panel_blue_hi id: Look Room/Panel_blue_hi
colors: green colors: green
tag: forbid tag: forbid
required_door: required_door:
door: Stairs door: Stairs
HI (2): EULB:
id: Look Room/Panel_blue_hi2 id: Look Room/Panel_blue_hi2
colors: green colors: green
tag: forbid tag: forbid
required_door: required_door:
door: Stairs door: Stairs
"31": NUMBERS (1):
id: Look Room/Panel_numbers_31 id: Look Room/Panel_numbers_31
colors: green colors: green
tag: forbid tag: forbid
required_door: required_door:
door: Stairs door: Stairs
"52": NUMBERS (2):
id: Look Room/Panel_numbers_52 id: Look Room/Panel_numbers_52
colors: green colors: green
tag: forbid tag: forbid
required_door: required_door:
door: Stairs door: Stairs
OIL: MINT (2):
id: Look Room/Panel_aqua_oil id: Look Room/Panel_aqua_oil
colors: green colors: green
tag: forbid tag: forbid
required_door: required_door:
door: Stairs door: Stairs
BACKSIDE (GREEN): GREEN (1):
id: Look Room/Panel_eight_backside id: Look Room/Panel_eight_backside
colors: green colors: green
tag: forbid tag: forbid
required_door: required_door:
door: Stairs door: Stairs
SIDEWAYS: GREEN (2):
id: Look Room/Panel_eight_sideways id: Look Room/Panel_eight_sideways
colors: green colors: green
tag: forbid tag: forbid
@ -1669,13 +1681,13 @@
id: Maze Area Doors/Door_backside id: Maze Area Doors/Door_backside
group: Backside Doors group: Backside Doors
panels: panels:
- BACK - FOUR (1)
- SIDE - FOUR (2)
Stairs: Stairs:
id: Maze Area Doors/Door_stairs id: Maze Area Doors/Door_stairs
group: Observant Doors group: Observant Doors
panels: panels:
- STAIRS - SIX
The Incomparable: The Incomparable:
entrances: entrances:
The Observant: True # Assuming that access to The Observant includes access to the right entrance The Observant: True # Assuming that access to The Observant includes access to the right entrance
@ -2005,7 +2017,7 @@
Courtyard: True Courtyard: True
Roof: True # through the sunwarp Roof: True # through the sunwarp
panels: panels:
RUNT: RUNT (1):
id: Shuffle Room/Panel_turn_runt2 id: Shuffle Room/Panel_turn_runt2
colors: yellow colors: yellow
tag: midyellow tag: midyellow
@ -2219,6 +2231,7 @@
- Master Room Doors/Door_master_down - Master Room Doors/Door_master_down
- Master Room Doors/Door_master_down2 - Master Room Doors/Door_master_down2
skip_location: True skip_location: True
item_name: Mastery
panels: panels:
- THE MASTER - THE MASTER
Mastery Panels: Mastery Panels:
@ -2235,25 +2248,25 @@
panel: MASTERY panel: MASTERY
- room: Hedge Maze - room: Hedge Maze
panel: MASTERY (1) panel: MASTERY (1)
- room: Roof - room: Behind A Smile
panel: MASTERY (1) panel: MASTERY
- room: Roof - room: Sixteen Colorful Squares
panel: MASTERY (2) panel: MASTERY
- MASTERY - MASTERY
- room: Hedge Maze - room: Hedge Maze
panel: MASTERY (2) panel: MASTERY (2)
- room: Roof - room: Among Treetops
panel: MASTERY (3) panel: MASTERY
- room: Roof - room: Horizon's Edge
panel: MASTERY (4) panel: MASTERY
- room: Roof - room: Beneath The Lookout
panel: MASTERY (5) panel: MASTERY
- room: Elements Area - room: Elements Area
panel: MASTERY panel: MASTERY
- room: Pilgrim Antechamber - room: Pilgrim Antechamber
panel: MASTERY panel: MASTERY
- room: Roof - room: Rooftop Staircase
panel: MASTERY (6) panel: MASTERY
paintings: paintings:
- id: map_painting2 - id: map_painting2
orientation: north orientation: north
@ -2265,52 +2278,75 @@
Crossroads: Crossroads:
room: Crossroads room: Crossroads
door: Roof Access door: Roof Access
Behind A Smile:
entrances:
Roof: True
panels: panels:
MASTERY (1): MASTERY:
id: Master Room/Panel_mastery_mastery6 id: Master Room/Panel_mastery_mastery6
tag: midwhite tag: midwhite
hunt: True hunt: True
required_door: required_door:
room: Orange Tower Seventh Floor room: Orange Tower Seventh Floor
door: Mastery door: Mastery
MASTERY (2):
id: Master Room/Panel_mastery_mastery7
tag: midwhite
hunt: True
required_door:
room: Orange Tower Seventh Floor
door: Mastery
MASTERY (3):
id: Master Room/Panel_mastery_mastery10
tag: midwhite
hunt: True
required_door:
room: Orange Tower Seventh Floor
door: Mastery
MASTERY (4):
id: Master Room/Panel_mastery_mastery11
tag: midwhite
hunt: True
required_door:
room: Orange Tower Seventh Floor
door: Mastery
MASTERY (5):
id: Master Room/Panel_mastery_mastery12
tag: midwhite
hunt: True
required_door:
room: Orange Tower Seventh Floor
door: Mastery
MASTERY (6):
id: Master Room/Panel_mastery_mastery15
tag: midwhite
hunt: True
required_door:
room: Orange Tower Seventh Floor
door: Mastery
STAIRCASE: STAIRCASE:
id: Open Areas/Panel_staircase id: Open Areas/Panel_staircase
tag: midwhite tag: midwhite
Sixteen Colorful Squares:
entrances:
Roof: True
panels:
MASTERY:
id: Master Room/Panel_mastery_mastery7
tag: midwhite
hunt: True
required_door:
room: Orange Tower Seventh Floor
door: Mastery
Among Treetops:
entrances:
Roof: True
panels:
MASTERY:
id: Master Room/Panel_mastery_mastery10
tag: midwhite
hunt: True
required_door:
room: Orange Tower Seventh Floor
door: Mastery
Horizon's Edge:
entrances:
Roof: True
panels:
MASTERY:
id: Master Room/Panel_mastery_mastery11
tag: midwhite
hunt: True
required_door:
room: Orange Tower Seventh Floor
door: Mastery
Beneath The Lookout:
entrances:
Roof: True
panels:
MASTERY:
id: Master Room/Panel_mastery_mastery12
tag: midwhite
hunt: True
required_door:
room: Orange Tower Seventh Floor
door: Mastery
Rooftop Staircase:
entrances:
Roof: True
panels:
MASTERY:
id: Master Room/Panel_mastery_mastery15
tag: midwhite
hunt: True
required_door:
room: Orange Tower Seventh Floor
door: Mastery
Orange Tower Basement: Orange Tower Basement:
entrances: entrances:
Orange Tower Sixth Floor: Orange Tower Sixth Floor:
@ -2632,9 +2668,7 @@
tag: forbid tag: forbid
doors: doors:
Progress Door: Progress Door:
id: id: Doorway Room Doors/Door_gray
- Doorway Room Doors/Door_gray
- Doorway Room Doors/Door_gray2 # See comment below
item_name: The Colorful - Gray Door item_name: The Colorful - Gray Door
location_name: The Colorful - Gray location_name: The Colorful - Gray
group: Colorful Doors group: Colorful Doors
@ -2784,6 +2818,7 @@
door: Exit door: Exit
Eight Alcove: Eight Alcove:
door: Eight Door door: Eight Door
The Optimistic: True
panels: panels:
SEVEN (1): SEVEN (1):
id: Backside Room/Panel_seven_seven_5 id: Backside Room/Panel_seven_seven_5
@ -2833,21 +2868,11 @@
id: Rhyme Room/Panel_locked_knocked id: Rhyme Room/Panel_locked_knocked
colors: purple colors: purple
tag: midpurp tag: midpurp
BACKSIDE: PAST (1):
id: Backside Room/Panel_backside_1
tag: midwhite
The Optimistic:
id: Countdown Panels/Panel_optimistic_optimistic
check: True
tag: forbid
required_door:
door: Backsides
achievement: The Optimistic
PAST:
id: Shuffle Room/Panel_past_present id: Shuffle Room/Panel_past_present
colors: brown colors: brown
tag: botbrown tag: botbrown
FUTURE: FUTURE (1):
id: Shuffle Room/Panel_future_present id: Shuffle Room/Panel_future_present
colors: colors:
- brown - brown
@ -2944,17 +2969,6 @@
panel: GREEN panel: GREEN
- room: Outside The Agreeable - room: Outside The Agreeable
panel: PURPLE panel: PURPLE
Backsides:
event: True
panels:
- room: The Observant
panel: BACKSIDE
- room: Yellow Backside Area
panel: BACKSIDE
- room: Directional Gallery
panel: BACKSIDE
- room: The Bearer
panel: BACKSIDE
Eight Door: Eight Door:
id: Red Blue Purple Room Area Doors/Door_a_strands2 id: Red Blue Purple Room Area Doors/Door_a_strands2
skip_location: True skip_location: True
@ -3064,6 +3078,28 @@
id: Rhyme Room/Panel_bed_dead id: Rhyme Room/Panel_bed_dead
colors: purple colors: purple
tag: toppurp tag: toppurp
The Optimistic:
entrances:
Outside The Initiated: True
panels:
BACKSIDE:
id: Backside Room/Panel_backside_1
tag: midwhite
Achievement:
id: Countdown Panels/Panel_optimistic_optimistic
check: True
tag: forbid
required_panel:
- panel: BACKSIDE
- room: The Observant
panel: BACKSIDE
- room: Yellow Backside Area
panel: BACKSIDE
- room: Directional Gallery
panel: BACKSIDE
- room: The Bearer
panel: BACKSIDE
achievement: The Optimistic
The Traveled: The Traveled:
entrances: entrances:
Hub Room: Hub Room:
@ -3164,7 +3200,7 @@
Outside The Undeterred: True Outside The Undeterred: True
Crossroads: True Crossroads: True
Hedge Maze: True Hedge Maze: True
Outside The Initiated: True # backside The Optimistic: True # backside
Directional Gallery: True # backside Directional Gallery: True # backside
Yellow Backside Area: True Yellow Backside Area: True
The Bearer: The Bearer:
@ -3181,7 +3217,7 @@
door: Shortcut to The Steady door: Shortcut to The Steady
The Bearer: The Bearer:
room: The Bearer room: The Bearer
door: Shortcut to The Bold door: Entrance
Directional Gallery: Directional Gallery:
# There is a painting warp here from the Directional Gallery, but it # There is a painting warp here from the Directional Gallery, but it
# only appears when the sixes are revealed. It could be its own item if # only appears when the sixes are revealed. It could be its own item if
@ -3252,7 +3288,7 @@
tag: midwhite tag: midwhite
required_door: required_door:
door: Stargazer Door door: Stargazer Door
MOUTH: SOUND:
id: Cross Room/Panel_mouth_south id: Cross Room/Panel_mouth_south
colors: purple colors: purple
tag: midpurp tag: midpurp
@ -3596,7 +3632,7 @@
id: Blue Room/Panel_bone_skeleton id: Blue Room/Panel_bone_skeleton
colors: blue colors: blue
tag: botblue tag: botblue
EYE: EYE (1):
id: Blue Room/Panel_mouth_face id: Blue Room/Panel_mouth_face
colors: blue colors: blue
tag: double botblue tag: double botblue
@ -4115,7 +4151,7 @@
The Bearer: The Bearer:
entrances: entrances:
Outside The Bold: Outside The Bold:
door: Shortcut to The Bold door: Entrance
Orange Tower Fifth Floor: Orange Tower Fifth Floor:
room: Art Gallery room: Art Gallery
door: Exit door: Exit
@ -4192,7 +4228,7 @@
- yellow - yellow
tag: mid red yellow tag: mid red yellow
doors: doors:
Shortcut to The Bold: Entrance:
id: Red Blue Purple Room Area Doors/Door_middle_middle id: Red Blue Purple Room Area Doors/Door_middle_middle
panels: panels:
- MIDDLE - MIDDLE
@ -4321,21 +4357,21 @@
door: Side Area Shortcut door: Side Area Shortcut
Roof: True Roof: True
panels: panels:
SNOW: SMILE:
id: Cross Room/Panel_smile_lime id: Cross Room/Panel_smile_lime
colors: colors:
- red - red
- yellow - yellow
tag: mid yellow red tag: mid yellow red
SMILE: required_panel:
room: The Bearer (North)
panel: WARTS
SNOW:
id: Cross Room/Panel_snow_won id: Cross Room/Panel_snow_won
colors: colors:
- red - red
- yellow - yellow
tag: mid red yellow tag: mid red yellow
required_panel:
room: The Bearer (North)
panel: WARTS
doors: doors:
Side Area Shortcut: Side Area Shortcut:
event: True event: True
@ -4414,7 +4450,7 @@
- room: The Bearer (West) - room: The Bearer (West)
panel: SMILE panel: SMILE
- room: Outside The Bold - room: Outside The Bold
panel: MOUTH panel: SOUND
- room: Outside The Bold - room: Outside The Bold
panel: YEAST panel: YEAST
- room: Outside The Bold - room: Outside The Bold
@ -6129,7 +6165,7 @@
id: Painting Room/Panel_our_four id: Painting Room/Panel_our_four
colors: blue colors: blue
tag: midblue tag: midblue
ONE ROAD MANY TURNS: ORDER:
id: Painting Room/Panel_order_onepathmanyturns id: Painting Room/Panel_order_onepathmanyturns
tag: forbid tag: forbid
colors: colors:
@ -6186,7 +6222,7 @@
include_reduce: True include_reduce: True
item_name: Orange Tower Fifth Floor - Quadruple Intersection item_name: Orange Tower Fifth Floor - Quadruple Intersection
panels: panels:
- ONE ROAD MANY TURNS - ORDER
paintings: paintings:
- id: smile_painting_3 - id: smile_painting_3
orientation: west orientation: west
@ -6678,7 +6714,7 @@
- room: Rhyme Room (Target) - room: Rhyme Room (Target)
panel: PISTOL panel: PISTOL
- room: Rhyme Room (Target) - room: Rhyme Room (Target)
panel: QUARTZ panel: GEM
Rhyme Room (Target): Rhyme Room (Target):
entrances: entrances:
Rhyme Room (Smiley): # one-way Rhyme Room (Smiley): # one-way
@ -6706,7 +6742,7 @@
tag: syn rhyme tag: syn rhyme
subtag: top subtag: top
link: rhyme CRYSTAL link: rhyme CRYSTAL
QUARTZ: GEM:
id: Double Room/Panel_crystal_syn id: Double Room/Panel_crystal_syn
colors: purple colors: purple
tag: syn rhyme tag: syn rhyme
@ -6731,7 +6767,7 @@
group: Rhyme Room Doors group: Rhyme Room Doors
panels: panels:
- PISTOL - PISTOL
- QUARTZ - GEM
- INNOVATIVE (Top) - INNOVATIVE (Top)
- INNOVATIVE (Bottom) - INNOVATIVE (Bottom)
paintings: paintings:
@ -6789,22 +6825,18 @@
id: Panel Room/Panel_room_floor_5 id: Panel Room/Panel_room_floor_5
colors: gray colors: gray
tag: forbid tag: forbid
FLOOR (7): FLOOR (6):
id: Panel Room/Panel_room_floor_7 id: Panel Room/Panel_room_floor_7
colors: gray colors: gray
tag: forbid tag: forbid
FLOOR (8): FLOOR (7):
id: Panel Room/Panel_room_floor_8 id: Panel Room/Panel_room_floor_8
colors: gray colors: gray
tag: forbid tag: forbid
FLOOR (9): FLOOR (8):
id: Panel Room/Panel_room_floor_9 id: Panel Room/Panel_room_floor_9
colors: gray colors: gray
tag: forbid tag: forbid
FLOOR (10):
id: Panel Room/Panel_room_floor_10
colors: gray
tag: forbid
CEILING (1): CEILING (1):
id: Panel Room/Panel_room_ceiling_1 id: Panel Room/Panel_room_ceiling_1
colors: gray colors: gray
@ -6825,6 +6857,10 @@
id: Panel Room/Panel_room_ceiling_5 id: Panel Room/Panel_room_ceiling_5
colors: gray colors: gray
tag: forbid tag: forbid
CEILING (6):
id: Panel Room/Panel_room_floor_10
colors: gray
tag: forbid
WALL (1): WALL (1):
id: Panel Room/Panel_room_wall_1 id: Panel Room/Panel_room_wall_1
colors: gray colors: gray
@ -7083,7 +7119,7 @@
id: Hangry Room/Panel_red_top_3 id: Hangry Room/Panel_red_top_3
colors: red colors: red
tag: topred tag: topred
FLUMMOXED: FLUSTERED:
id: Hangry Room/Panel_red_top_4 id: Hangry Room/Panel_red_top_4
colors: red colors: red
tag: topred tag: topred
@ -7586,7 +7622,7 @@
- black - black
- blue - blue
tag: chain mid black blue tag: chain mid black blue
BREAD: CHEESE:
id: Challenge Room/Panel_bread_mold id: Challenge Room/Panel_bread_mold
colors: brown colors: brown
tag: double botbrown tag: double botbrown
@ -7633,7 +7669,7 @@
id: Challenge Room/Panel_double_anagram_5 id: Challenge Room/Panel_double_anagram_5
colors: yellow colors: yellow
tag: midyellow tag: midyellow
FACTS: FACTS (Chain):
id: Challenge Room/Panel_facts id: Challenge Room/Panel_facts
colors: colors:
- red - red
@ -7643,18 +7679,18 @@
id: Challenge Room/Panel_facts2 id: Challenge Room/Panel_facts2
colors: red colors: red
tag: forbid tag: forbid
FACTS (3): FACTS (2):
id: Challenge Room/Panel_facts3 id: Challenge Room/Panel_facts3
tag: forbid tag: forbid
FACTS (4): FACTS (3):
id: Challenge Room/Panel_facts4 id: Challenge Room/Panel_facts4
colors: blue colors: blue
tag: forbid tag: forbid
FACTS (5): FACTS (4):
id: Challenge Room/Panel_facts5 id: Challenge Room/Panel_facts5
colors: blue colors: blue
tag: forbid tag: forbid
FACTS (6): FACTS (5):
id: Challenge Room/Panel_facts6 id: Challenge Room/Panel_facts6
colors: blue colors: blue
tag: forbid tag: forbid

View File

@ -31,12 +31,12 @@ panels:
LIES: 444408 LIES: 444408
The Seeker: The Seeker:
Achievement: 444409 Achievement: 444409
BEAR: 444410 BEAR (1): 444410
MINE: 444411 MINE (1): 444411
MINE (2): 444412 MINE (2): 444412
BOW: 444413 BOW: 444413
DOES: 444414 DOES: 444414
MOBILE: 444415 MOBILE (1): 444415
MOBILE (2): 444416 MOBILE (2): 444416
DESERT: 444417 DESERT: 444417
DESSERT: 444418 DESSERT: 444418
@ -57,8 +57,6 @@ panels:
Hub Room: Hub Room:
ORDER: 444432 ORDER: 444432
SLAUGHTER: 444433 SLAUGHTER: 444433
NEAR: 444434
FAR: 444435
TRACE: 444436 TRACE: 444436
RAT: 444437 RAT: 444437
OPEN: 444438 OPEN: 444438
@ -72,7 +70,7 @@ panels:
EIGHT: 444445 EIGHT: 444445
Pilgrim Antechamber: Pilgrim Antechamber:
HOT CRUST: 444446 HOT CRUST: 444446
PILGRIMAGE: 444447 PILGRIM: 444447
MASTERY: 444448 MASTERY: 444448
Pilgrim Room: Pilgrim Room:
THIS: 444449 THIS: 444449
@ -123,6 +121,9 @@ panels:
RACECAR (White): 444489 RACECAR (White): 444489
SOLOS (White): 444490 SOLOS (White): 444490
Achievement: 444491 Achievement: 444491
Near Far Area:
NEAR: 444434
FAR: 444435
Warts Straw Area: Warts Straw Area:
WARTS: 444492 WARTS: 444492
STRAW: 444493 STRAW: 444493
@ -187,7 +188,7 @@ panels:
Achievement: 444546 Achievement: 444546
GAZE: 444547 GAZE: 444547
The Fearless (First Floor): The Fearless (First Floor):
NAPS: 444548 SPAN: 444548
TEAM: 444549 TEAM: 444549
TEEM: 444550 TEEM: 444550
IMPATIENT: 444551 IMPATIENT: 444551
@ -208,25 +209,25 @@ panels:
EVEN: 444564 EVEN: 444564
The Observant: The Observant:
Achievement: 444565 Achievement: 444565
BACK: 444566 FOUR (1): 444566
SIDE: 444567 FOUR (2): 444567
BACKSIDE: 444568 BACKSIDE: 444568
STAIRS: 444569 SIX: 444569
WAYS: 444570 FOUR (3): 444570
'ON': 444571 TWO (1): 444571
UP: 444572 TWO (2): 444572
SWIMS: 444573 FIVE: 444573
UPSTAIRS: 444574 BELOW (1): 444574
TOIL: 444575 BLUE: 444575
STOP: 444576 BELOW (2): 444576
TOP: 444577 MINT (1): 444577
HI: 444578 ESACREWOL: 444578
HI (2): 444579 EULB: 444579
'31': 444580 NUMBERS (1): 444580
'52': 444581 NUMBERS (2): 444581
OIL: 444582 MINT (2): 444582
BACKSIDE (GREEN): 444583 GREEN (1): 444583
SIDEWAYS: 444584 GREEN (2): 444584
The Incomparable: The Incomparable:
Achievement: 444585 Achievement: 444585
A (One): 444586 A (One): 444586
@ -254,7 +255,7 @@ panels:
RED: 444605 RED: 444605
DEER + WREN: 444606 DEER + WREN: 444606
Orange Tower Fourth Floor: Orange Tower Fourth Floor:
RUNT: 444607 RUNT (1): 444607
RUNT (2): 444608 RUNT (2): 444608
LEARNS + UNSEW: 444609 LEARNS + UNSEW: 444609
HOT CRUSTS: 444610 HOT CRUSTS: 444610
@ -279,14 +280,19 @@ panels:
THE END: 444620 THE END: 444620
THE MASTER: 444621 THE MASTER: 444621
MASTERY: 444622 MASTERY: 444622
Roof: Behind A Smile:
MASTERY (1): 444623 MASTERY: 444623
MASTERY (2): 444624
MASTERY (3): 444625
MASTERY (4): 444626
MASTERY (5): 444627
MASTERY (6): 444628
STAIRCASE: 444629 STAIRCASE: 444629
Sixteen Colorful Squares:
MASTERY: 444624
Among Treetops:
MASTERY: 444625
Horizon's Edge:
MASTERY: 444626
Beneath The Lookout:
MASTERY: 444627
Rooftop Staircase:
MASTERY: 444628
Orange Tower Basement: Orange Tower Basement:
MASTERY: 444630 MASTERY: 444630
THE LIBRARY: 444631 THE LIBRARY: 444631
@ -341,16 +347,17 @@ panels:
ORANGE: 444663 ORANGE: 444663
UNCOVER: 444664 UNCOVER: 444664
OXEN: 444665 OXEN: 444665
BACKSIDE: 444666 PAST (1): 444668
The Optimistic: 444667 FUTURE (1): 444669
PAST: 444668
FUTURE: 444669
FUTURE (2): 444670 FUTURE (2): 444670
PAST (2): 444671 PAST (2): 444671
PRESENT: 444672 PRESENT: 444672
SMILE: 444673 SMILE: 444673
ANGERED: 444674 ANGERED: 444674
VOTE: 444675 VOTE: 444675
The Optimistic:
BACKSIDE: 444666
Achievement: 444667
The Initiated: The Initiated:
Achievement: 444676 Achievement: 444676
DAUGHTER: 444677 DAUGHTER: 444677
@ -400,7 +407,7 @@ panels:
ZEN: 444719 ZEN: 444719
SON: 444720 SON: 444720
STARGAZER: 444721 STARGAZER: 444721
MOUTH: 444722 SOUND: 444722
YEAST: 444723 YEAST: 444723
WET: 444724 WET: 444724
The Bold: The Bold:
@ -442,7 +449,7 @@ panels:
The Undeterred: The Undeterred:
Achievement: 444759 Achievement: 444759
BONE: 444760 BONE: 444760
EYE: 444761 EYE (1): 444761
MOUTH: 444762 MOUTH: 444762
IRIS: 444763 IRIS: 444763
EYE (2): 444764 EYE (2): 444764
@ -524,8 +531,8 @@ panels:
TENT: 444832 TENT: 444832
BOWL: 444833 BOWL: 444833
The Bearer (West): The Bearer (West):
SNOW: 444834 SMILE: 444834
SMILE: 444835 SNOW: 444835
Bearer Side Area: Bearer Side Area:
SHORTCUT: 444836 SHORTCUT: 444836
POTS: 444837 POTS: 444837
@ -720,7 +727,7 @@ panels:
TRUSTWORTHY: 444978 TRUSTWORTHY: 444978
FREE: 444979 FREE: 444979
OUR: 444980 OUR: 444980
ONE ROAD MANY TURNS: 444981 ORDER: 444981
Art Gallery (Second Floor): Art Gallery (Second Floor):
HOUSE: 444982 HOUSE: 444982
PATH: 444983 PATH: 444983
@ -778,7 +785,7 @@ panels:
WILD: 445028 WILD: 445028
KID: 445029 KID: 445029
PISTOL: 445030 PISTOL: 445030
QUARTZ: 445031 GEM: 445031
INNOVATIVE (Top): 445032 INNOVATIVE (Top): 445032
INNOVATIVE (Bottom): 445033 INNOVATIVE (Bottom): 445033
Room Room: Room Room:
@ -792,15 +799,15 @@ panels:
FLOOR (3): 445041 FLOOR (3): 445041
FLOOR (4): 445042 FLOOR (4): 445042
FLOOR (5): 445043 FLOOR (5): 445043
FLOOR (7): 445044 FLOOR (6): 445044
FLOOR (8): 445045 FLOOR (7): 445045
FLOOR (9): 445046 FLOOR (8): 445046
FLOOR (10): 445047
CEILING (1): 445048 CEILING (1): 445048
CEILING (2): 445049 CEILING (2): 445049
CEILING (3): 445050 CEILING (3): 445050
CEILING (4): 445051 CEILING (4): 445051
CEILING (5): 445052 CEILING (5): 445052
CEILING (6): 445047
WALL (1): 445053 WALL (1): 445053
WALL (2): 445054 WALL (2): 445054
WALL (3): 445055 WALL (3): 445055
@ -848,7 +855,7 @@ panels:
PANDEMIC (1): 445100 PANDEMIC (1): 445100
TRINITY: 445101 TRINITY: 445101
CHEMISTRY: 445102 CHEMISTRY: 445102
FLUMMOXED: 445103 FLUSTERED: 445103
PANDEMIC (2): 445104 PANDEMIC (2): 445104
COUNTERCLOCKWISE: 445105 COUNTERCLOCKWISE: 445105
FEARLESS: 445106 FEARLESS: 445106
@ -934,7 +941,7 @@ panels:
CORNER: 445182 CORNER: 445182
STRAWBERRIES: 445183 STRAWBERRIES: 445183
GRUB: 445184 GRUB: 445184
BREAD: 445185 CHEESE: 445185
COLOR: 445186 COLOR: 445186
WRITER: 445187 WRITER: 445187
'02759': 445188 '02759': 445188
@ -945,12 +952,12 @@ panels:
DUCK LOGO: 445193 DUCK LOGO: 445193
AVIAN GREEN: 445194 AVIAN GREEN: 445194
FEVER TEAR: 445195 FEVER TEAR: 445195
FACTS: 445196 FACTS (Chain): 445196
FACTS (1): 445197 FACTS (1): 445197
FACTS (3): 445198 FACTS (2): 445198
FACTS (4): 445199 FACTS (3): 445199
FACTS (5): 445200 FACTS (4): 445200
FACTS (6): 445201 FACTS (5): 445201
LAPEL SHEEP: 445202 LAPEL SHEEP: 445202
doors: doors:
Starting Room: Starting Room:
@ -980,9 +987,6 @@ doors:
Tenacious Entrance: Tenacious Entrance:
item: 444426 item: 444426
location: 444433 location: 444433
Symmetry Door:
item: 444428
location: 445204
Shortcut to Hedge Maze: Shortcut to Hedge Maze:
item: 444430 item: 444430
location: 444436 location: 444436
@ -1039,6 +1043,10 @@ doors:
location: 445210 location: 445210
White Palindromes: White Palindromes:
location: 445211 location: 445211
Near Far Area:
Door:
item: 444428
location: 445204
Warts Straw Area: Warts Straw Area:
Door: Door:
item: 444451 item: 444451
@ -1292,7 +1300,7 @@ doors:
item: 444539 item: 444539
location: 444806 location: 444806
The Bearer: The Bearer:
Shortcut to The Bold: Entrance:
item: 444540 item: 444540
location: 444820 location: 444820
Backside Door: Backside Door:

View File

@ -196,7 +196,7 @@ class LingoPlayerLogic:
["Orange Tower Fourth Floor", "Hot Crusts Door"], ["Outside The Initiated", "Shortcut to Hub Room"], ["Orange Tower Fourth Floor", "Hot Crusts Door"], ["Outside The Initiated", "Shortcut to Hub Room"],
["Orange Tower First Floor", "Shortcut to Hub Room"], ["Directional Gallery", "Shortcut to The Undeterred"], ["Orange Tower First Floor", "Shortcut to Hub Room"], ["Directional Gallery", "Shortcut to The Undeterred"],
["Orange Tower First Floor", "Salt Pepper Door"], ["Hub Room", "Crossroads Entrance"], ["Orange Tower First Floor", "Salt Pepper Door"], ["Hub Room", "Crossroads Entrance"],
["Color Hunt", "Shortcut to The Steady"], ["The Bearer", "Shortcut to The Bold"], ["Art Gallery", "Exit"], ["Color Hunt", "Shortcut to The Steady"], ["The Bearer", "Entrance"], ["Art Gallery", "Exit"],
["The Tenacious", "Shortcut to Hub Room"], ["Outside The Agreeable", "Tenacious Entrance"] ["The Tenacious", "Shortcut to Hub Room"], ["Outside The Agreeable", "Tenacious Entrance"]
] ]
pilgrimage_reqs = AccessRequirements() pilgrimage_reqs = AccessRequirements()

View File

@ -96,7 +96,7 @@ class TestProgressiveArtGallery(LingoTestBase):
self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player)) self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player))
self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player)) self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player))
self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player)) self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player))
self.assertFalse(self.can_reach_location("Art Gallery - ONE ROAD MANY TURNS")) self.assertFalse(self.can_reach_location("Art Gallery - ORDER"))
self.assertFalse(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player)) self.assertFalse(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player))
self.collect_by_name(["Second Room - Exit Door", "Crossroads - Tower Entrance", self.collect_by_name(["Second Room - Exit Door", "Crossroads - Tower Entrance",
@ -105,7 +105,7 @@ class TestProgressiveArtGallery(LingoTestBase):
self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player)) self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player))
self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player)) self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player))
self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player)) self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player))
self.assertFalse(self.can_reach_location("Art Gallery - ONE ROAD MANY TURNS")) self.assertFalse(self.can_reach_location("Art Gallery - ORDER"))
self.assertFalse(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player)) self.assertFalse(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player))
progressive_gallery_room = self.get_items_by_name("Progressive Art Gallery") progressive_gallery_room = self.get_items_by_name("Progressive Art Gallery")
@ -115,7 +115,7 @@ class TestProgressiveArtGallery(LingoTestBase):
self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player)) self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player))
self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player)) self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player))
self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player)) self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player))
self.assertFalse(self.can_reach_location("Art Gallery - ONE ROAD MANY TURNS")) self.assertFalse(self.can_reach_location("Art Gallery - ORDER"))
self.assertFalse(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player)) self.assertFalse(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player))
self.collect(progressive_gallery_room[1]) self.collect(progressive_gallery_room[1])
@ -123,7 +123,7 @@ class TestProgressiveArtGallery(LingoTestBase):
self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player)) self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player))
self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player)) self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player))
self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player)) self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player))
self.assertFalse(self.can_reach_location("Art Gallery - ONE ROAD MANY TURNS")) self.assertFalse(self.can_reach_location("Art Gallery - ORDER"))
self.assertFalse(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player)) self.assertFalse(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player))
self.collect(progressive_gallery_room[2]) self.collect(progressive_gallery_room[2])
@ -131,7 +131,7 @@ class TestProgressiveArtGallery(LingoTestBase):
self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player)) self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player))
self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player)) self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player))
self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player)) self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player))
self.assertFalse(self.can_reach_location("Art Gallery - ONE ROAD MANY TURNS")) self.assertFalse(self.can_reach_location("Art Gallery - ORDER"))
self.assertFalse(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player)) self.assertFalse(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player))
self.collect(progressive_gallery_room[3]) self.collect(progressive_gallery_room[3])
@ -139,7 +139,7 @@ class TestProgressiveArtGallery(LingoTestBase):
self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player)) self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player))
self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player)) self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player))
self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player)) self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player))
self.assertTrue(self.can_reach_location("Art Gallery - ONE ROAD MANY TURNS")) self.assertTrue(self.can_reach_location("Art Gallery - ORDER"))
self.assertFalse(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player)) self.assertFalse(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player))
self.collect_by_name("Orange Tower Fifth Floor - Quadruple Intersection") self.collect_by_name("Orange Tower Fifth Floor - Quadruple Intersection")
@ -147,7 +147,7 @@ class TestProgressiveArtGallery(LingoTestBase):
self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player)) self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player))
self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player)) self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player))
self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player)) self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player))
self.assertTrue(self.can_reach_location("Art Gallery - ONE ROAD MANY TURNS")) self.assertTrue(self.can_reach_location("Art Gallery - ORDER"))
self.assertTrue(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player)) self.assertTrue(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player))
@ -162,7 +162,7 @@ class TestNoDoorsArtGallery(LingoTestBase):
self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player)) self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player))
self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player)) self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player))
self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player)) self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player))
self.assertFalse(self.can_reach_location("Art Gallery - ONE ROAD MANY TURNS")) self.assertFalse(self.can_reach_location("Art Gallery - ORDER"))
self.assertFalse(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player)) self.assertFalse(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player))
self.collect_by_name("Yellow") self.collect_by_name("Yellow")
@ -170,7 +170,7 @@ class TestNoDoorsArtGallery(LingoTestBase):
self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player)) self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player))
self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player)) self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player))
self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player)) self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player))
self.assertFalse(self.can_reach_location("Art Gallery - ONE ROAD MANY TURNS")) self.assertFalse(self.can_reach_location("Art Gallery - ORDER"))
self.assertFalse(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player)) self.assertFalse(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player))
self.collect_by_name("Brown") self.collect_by_name("Brown")
@ -178,7 +178,7 @@ class TestNoDoorsArtGallery(LingoTestBase):
self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player)) self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player))
self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player)) self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player))
self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player)) self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player))
self.assertFalse(self.can_reach_location("Art Gallery - ONE ROAD MANY TURNS")) self.assertFalse(self.can_reach_location("Art Gallery - ORDER"))
self.assertFalse(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player)) self.assertFalse(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player))
self.collect_by_name("Blue") self.collect_by_name("Blue")
@ -186,7 +186,7 @@ class TestNoDoorsArtGallery(LingoTestBase):
self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player)) self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player))
self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player)) self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player))
self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player)) self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player))
self.assertFalse(self.can_reach_location("Art Gallery - ONE ROAD MANY TURNS")) self.assertFalse(self.can_reach_location("Art Gallery - ORDER"))
self.assertFalse(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player)) self.assertFalse(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player))
self.collect_by_name(["Orange", "Gray"]) self.collect_by_name(["Orange", "Gray"])
@ -194,5 +194,5 @@ class TestNoDoorsArtGallery(LingoTestBase):
self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player)) self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player))
self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player)) self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player))
self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player)) self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player))
self.assertTrue(self.can_reach_location("Art Gallery - ONE ROAD MANY TURNS")) self.assertTrue(self.can_reach_location("Art Gallery - ORDER"))
self.assertTrue(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player)) self.assertTrue(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player))

View File

@ -8,7 +8,8 @@ require 'set'
require 'yaml' require 'yaml'
configpath = ARGV[0] configpath = ARGV[0]
mappath = ARGV[1] idspath = ARGV[1]
mappath = ARGV[2]
panels = Set["Countdown Panels/Panel_1234567890_wanderlust"] panels = Set["Countdown Panels/Panel_1234567890_wanderlust"]
doors = Set["Naps Room Doors/Door_hider_new1", "Tower Room Area Doors/Door_wanderer_entrance"] doors = Set["Naps Room Doors/Door_hider_new1", "Tower Room Area Doors/Door_wanderer_entrance"]
@ -46,6 +47,8 @@ painting_directives = Set["id", "enter_only", "exit_only", "orientation", "requi
non_counting = 0 non_counting = 0
ids = YAML.load_file(idspath)
config = YAML.load_file(configpath) config = YAML.load_file(configpath)
config.each do |room_name, room| config.each do |room_name, room|
configured_rooms.add(room_name) configured_rooms.add(room_name)
@ -162,6 +165,10 @@ config.each do |room_name, room|
unless bad_subdirectives.empty? then unless bad_subdirectives.empty? then
puts "#{room_name} - #{panel_name} :::: Panel has the following invalid subdirectives: #{bad_subdirectives.join(", ")}" puts "#{room_name} - #{panel_name} :::: Panel has the following invalid subdirectives: #{bad_subdirectives.join(", ")}"
end end
unless ids.include?("panels") and ids["panels"].include?(room_name) and ids["panels"][room_name].include?(panel_name)
puts "#{room_name} - #{panel_name} :::: Panel is missing a location ID"
end
end end
(room["doors"] || {}).each do |door_name, door| (room["doors"] || {}).each do |door_name, door|
@ -229,6 +236,18 @@ config.each do |room_name, room|
unless bad_subdirectives.empty? then unless bad_subdirectives.empty? then
puts "#{room_name} - #{door_name} :::: Door has the following invalid subdirectives: #{bad_subdirectives.join(", ")}" puts "#{room_name} - #{door_name} :::: Door has the following invalid subdirectives: #{bad_subdirectives.join(", ")}"
end end
unless door["skip_item"] or door["event"]
unless ids.include?("doors") and ids["doors"].include?(room_name) and ids["doors"][room_name].include?(door_name) and ids["doors"][room_name][door_name].include?("item")
puts "#{room_name} - #{door_name} :::: Door is missing an item ID"
end
end
unless door["skip_location"] or door["event"]
unless ids.include?("doors") and ids["doors"].include?(room_name) and ids["doors"][room_name].include?(door_name) and ids["doors"][room_name][door_name].include?("location")
puts "#{room_name} - #{door_name} :::: Door is missing a location ID"
end
end
end end
(room["paintings"] || []).each do |painting| (room["paintings"] || []).each do |painting|
@ -281,6 +300,10 @@ config.each do |room_name, room|
mentioned_doors.add("#{room_name} - #{door}") mentioned_doors.add("#{room_name} - #{door}")
end end
end end
unless ids.include?("progression") and ids["progression"].include?(progression_name)
puts "#{room_name} - #{progression_name} :::: Progression is missing an item ID"
end
end end
end end
@ -303,6 +326,10 @@ door_groups.each do |group,num|
if num == 1 then if num == 1 then
puts "Door group \"#{group}\" only has one door in it" puts "Door group \"#{group}\" only has one door in it"
end end
unless ids.include?("door_groups") and ids["door_groups"].include?(group)
puts "#{group} :::: Door group is missing an item ID"
end
end end
slashed_rooms = configured_rooms.select do |room| slashed_rooms = configured_rooms.select do |room|