diff options
author | Star Rauchenberger <fefferburbia@gmail.com> | 2024-02-15 15:03:10 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-15 21:03:10 +0100 |
commit | e21b6acc910fb4993395204c8c0fe4ec2cbea16c (patch) | |
tree | 08605b8839ffbf98e421bbfe1cba62eb443c6349 | |
parent | 97ccf274f86d242b2e12aebafd06fc744c1c06dc (diff) | |
download | lingo-apworld-e21b6acc910fb4993395204c8c0fe4ec2cbea16c.tar.gz lingo-apworld-e21b6acc910fb4993395204c8c0fe4ec2cbea16c.tar.bz2 lingo-apworld-e21b6acc910fb4993395204c8c0fe4ec2cbea16c.zip |
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.
-rw-r--r-- | data/LL1.yaml | 296 | ||||
-rw-r--r-- | data/ids.yaml | 124 | ||||
-rw-r--r-- | player_logic.py | 2 | ||||
-rw-r--r-- | test/TestProgressive.py | 24 | ||||
-rw-r--r-- | utils/validate_config.rb | 29 |
5 files changed, 273 insertions, 202 deletions
diff --git a/data/LL1.yaml b/data/LL1.yaml index 2e18766..23afb2b 100644 --- a/data/LL1.yaml +++ b/data/LL1.yaml | |||
@@ -278,10 +278,10 @@ | |||
278 | tag: forbid | 278 | tag: forbid |
279 | check: True | 279 | check: True |
280 | achievement: The Seeker | 280 | achievement: The Seeker |
281 | BEAR: | 281 | BEAR (1): |
282 | id: Heteronym Room/Panel_bear_bear | 282 | id: Heteronym Room/Panel_bear_bear |
283 | tag: midwhite | 283 | tag: midwhite |
284 | MINE: | 284 | MINE (1): |
285 | id: Heteronym Room/Panel_mine_mine | 285 | id: Heteronym Room/Panel_mine_mine |
286 | tag: double midwhite | 286 | tag: double midwhite |
287 | subtag: left | 287 | subtag: left |
@@ -297,7 +297,7 @@ | |||
297 | DOES: | 297 | DOES: |
298 | id: Heteronym Room/Panel_does_does | 298 | id: Heteronym Room/Panel_does_does |
299 | tag: midwhite | 299 | tag: midwhite |
300 | MOBILE: | 300 | MOBILE (1): |
301 | id: Heteronym Room/Panel_mobile_mobile | 301 | id: Heteronym Room/Panel_mobile_mobile |
302 | tag: double midwhite | 302 | tag: double midwhite |
303 | subtag: left | 303 | subtag: left |
@@ -399,8 +399,7 @@ | |||
399 | door: Crossroads Entrance | 399 | door: Crossroads Entrance |
400 | The Tenacious: | 400 | The Tenacious: |
401 | door: Tenacious Entrance | 401 | door: Tenacious Entrance |
402 | Warts Straw Area: | 402 | Near Far Area: True |
403 | door: Symmetry Door | ||
404 | Hedge Maze: | 403 | Hedge Maze: |
405 | door: Shortcut to Hedge Maze | 404 | door: Shortcut to Hedge Maze |
406 | Orange Tower First Floor: | 405 | Orange Tower First Floor: |
@@ -427,14 +426,6 @@ | |||
427 | id: Palindrome Room/Panel_slaughter_laughter | 426 | id: Palindrome Room/Panel_slaughter_laughter |
428 | colors: red | 427 | colors: red |
429 | tag: midred | 428 | tag: midred |
430 | NEAR: | ||
431 | id: Symmetry Room/Panel_near_far | ||
432 | colors: black | ||
433 | tag: botblack | ||
434 | FAR: | ||
435 | id: Symmetry Room/Panel_far_near | ||
436 | colors: black | ||
437 | tag: botblack | ||
438 | TRACE: | 429 | TRACE: |
439 | id: Maze Room/Panel_trace_trace | 430 | id: Maze Room/Panel_trace_trace |
440 | tag: midwhite | 431 | tag: midwhite |
@@ -477,14 +468,6 @@ | |||
477 | group: Entrances to The Tenacious | 468 | group: Entrances to The Tenacious |
478 | panels: | 469 | panels: |
479 | - SLAUGHTER | 470 | - SLAUGHTER |
480 | Symmetry Door: | ||
481 | id: | ||
482 | - Symmetry Room Area Doors/Door_near_far | ||
483 | - Symmetry Room Area Doors/Door_far_near | ||
484 | group: Symmetry Doors | ||
485 | panels: | ||
486 | - NEAR | ||
487 | - FAR | ||
488 | Shortcut to Hedge Maze: | 471 | Shortcut to Hedge Maze: |
489 | id: Maze Area Doors/Door_trace_trace | 472 | id: Maze Area Doors/Door_trace_trace |
490 | group: Hedge Maze Doors | 473 | group: Hedge Maze Doors |
@@ -548,7 +531,7 @@ | |||
548 | id: Lingo Room/Panel_shortcut | 531 | id: Lingo Room/Panel_shortcut |
549 | colors: yellow | 532 | colors: yellow |
550 | tag: midyellow | 533 | tag: midyellow |
551 | PILGRIMAGE: | 534 | PILGRIM: |
552 | id: Lingo Room/Panel_pilgrim | 535 | id: Lingo Room/Panel_pilgrim |
553 | colors: blue | 536 | colors: blue |
554 | tag: midblue | 537 | tag: midblue |
@@ -569,7 +552,7 @@ | |||
569 | Exit: | 552 | Exit: |
570 | event: True | 553 | event: True |
571 | panels: | 554 | panels: |
572 | - PILGRIMAGE | 555 | - PILGRIM |
573 | Pilgrim Room: | 556 | Pilgrim Room: |
574 | entrances: | 557 | entrances: |
575 | The Seeker: | 558 | The Seeker: |
@@ -755,7 +738,7 @@ | |||
755 | panels: | 738 | panels: |
756 | - TURN | 739 | - TURN |
757 | - room: Orange Tower Fourth Floor | 740 | - room: Orange Tower Fourth Floor |
758 | panel: RUNT | 741 | panel: RUNT (1) |
759 | Words Sword Door: | 742 | Words Sword Door: |
760 | id: | 743 | id: |
761 | - Shuffle Room Area Doors/Door_words_shuffle_3 | 744 | - Shuffle Room Area Doors/Door_words_shuffle_3 |
@@ -962,11 +945,36 @@ | |||
962 | - LEVEL (White) | 945 | - LEVEL (White) |
963 | - RACECAR (White) | 946 | - RACECAR (White) |
964 | - SOLOS (White) | 947 | - SOLOS (White) |
948 | Near Far Area: | ||
949 | entrances: | ||
950 | Hub Room: True | ||
951 | Warts Straw Area: | ||
952 | door: Door | ||
953 | panels: | ||
954 | NEAR: | ||
955 | id: Symmetry Room/Panel_near_far | ||
956 | colors: black | ||
957 | tag: botblack | ||
958 | FAR: | ||
959 | id: Symmetry Room/Panel_far_near | ||
960 | colors: black | ||
961 | tag: botblack | ||
962 | doors: | ||
963 | Door: | ||
964 | id: | ||
965 | - Symmetry Room Area Doors/Door_near_far | ||
966 | - Symmetry Room Area Doors/Door_far_near | ||
967 | group: Symmetry Doors | ||
968 | item_name: Symmetry Room - Near Far Door | ||
969 | location_name: Symmetry Room - NEAR, FAR | ||
970 | panels: | ||
971 | - NEAR | ||
972 | - FAR | ||
965 | Warts Straw Area: | 973 | Warts Straw Area: |
966 | entrances: | 974 | entrances: |
967 | Hub Room: | 975 | Near Far Area: |
968 | room: Hub Room | 976 | room: Near Far Area |
969 | door: Symmetry Door | 977 | door: Door |
970 | Leaf Feel Area: | 978 | Leaf Feel Area: |
971 | door: Door | 979 | door: Door |
972 | panels: | 980 | panels: |
@@ -984,6 +992,8 @@ | |||
984 | - Symmetry Room Area Doors/Door_warts_straw | 992 | - Symmetry Room Area Doors/Door_warts_straw |
985 | - Symmetry Room Area Doors/Door_straw_warts | 993 | - Symmetry Room Area Doors/Door_straw_warts |
986 | group: Symmetry Doors | 994 | group: Symmetry Doors |
995 | item_name: Symmetry Room - Warts Straw Door | ||
996 | location_name: Symmetry Room - WARTS, STRAW | ||
987 | panels: | 997 | panels: |
988 | - WARTS | 998 | - WARTS |
989 | - STRAW | 999 | - STRAW |
@@ -1009,6 +1019,8 @@ | |||
1009 | - Symmetry Room Area Doors/Door_leaf_feel | 1019 | - Symmetry Room Area Doors/Door_leaf_feel |
1010 | - Symmetry Room Area Doors/Door_feel_leaf | 1020 | - Symmetry Room Area Doors/Door_feel_leaf |
1011 | group: Symmetry Doors | 1021 | group: Symmetry Doors |
1022 | item_name: Symmetry Room - Leaf Feel Door | ||
1023 | location_name: Symmetry Room - LEAF, FEEL | ||
1012 | panels: | 1024 | panels: |
1013 | - LEAF | 1025 | - LEAF |
1014 | - FEEL | 1026 | - FEEL |
@@ -1120,7 +1132,7 @@ | |||
1120 | tag: forbid | 1132 | tag: forbid |
1121 | required_panel: | 1133 | required_panel: |
1122 | - room: Outside The Bold | 1134 | - room: Outside The Bold |
1123 | panel: MOUTH | 1135 | panel: SOUND |
1124 | - room: Outside The Bold | 1136 | - room: Outside The Bold |
1125 | panel: YEAST | 1137 | panel: YEAST |
1126 | - room: Outside The Bold | 1138 | - room: Outside The Bold |
@@ -1436,7 +1448,7 @@ | |||
1436 | entrances: | 1448 | entrances: |
1437 | The Perceptive: True | 1449 | The Perceptive: True |
1438 | panels: | 1450 | panels: |
1439 | NAPS: | 1451 | SPAN: |
1440 | id: Naps Room/Panel_naps_span | 1452 | id: Naps Room/Panel_naps_span |
1441 | colors: black | 1453 | colors: black |
1442 | tag: midblack | 1454 | tag: midblack |
@@ -1462,7 +1474,7 @@ | |||
1462 | location_name: The Fearless - First Floor Puzzles | 1474 | location_name: The Fearless - First Floor Puzzles |
1463 | group: Fearless Doors | 1475 | group: Fearless Doors |
1464 | panels: | 1476 | panels: |
1465 | - NAPS | 1477 | - SPAN |
1466 | - TEAM | 1478 | - TEAM |
1467 | - TEEM | 1479 | - TEEM |
1468 | - IMPATIENT | 1480 | - IMPATIENT |
@@ -1564,11 +1576,11 @@ | |||
1564 | required_door: | 1576 | required_door: |
1565 | door: Stairs | 1577 | door: Stairs |
1566 | achievement: The Observant | 1578 | achievement: The Observant |
1567 | BACK: | 1579 | FOUR (1): |
1568 | id: Look Room/Panel_four_back | 1580 | id: Look Room/Panel_four_back |
1569 | colors: green | 1581 | colors: green |
1570 | tag: forbid | 1582 | tag: forbid |
1571 | SIDE: | 1583 | FOUR (2): |
1572 | id: Look Room/Panel_four_side | 1584 | id: Look Room/Panel_four_side |
1573 | colors: green | 1585 | colors: green |
1574 | tag: forbid | 1586 | tag: forbid |
@@ -1578,87 +1590,87 @@ | |||
1578 | hunt: True | 1590 | hunt: True |
1579 | required_door: | 1591 | required_door: |
1580 | door: Backside Door | 1592 | door: Backside Door |
1581 | STAIRS: | 1593 | SIX: |
1582 | id: Look Room/Panel_six_stairs | 1594 | id: Look Room/Panel_six_stairs |
1583 | colors: green | 1595 | colors: green |
1584 | tag: forbid | 1596 | tag: forbid |
1585 | WAYS: | 1597 | FOUR (3): |
1586 | id: Look Room/Panel_four_ways | 1598 | id: Look Room/Panel_four_ways |
1587 | colors: green | 1599 | colors: green |
1588 | tag: forbid | 1600 | tag: forbid |
1589 | "ON": | 1601 | TWO (1): |
1590 | id: Look Room/Panel_two_on | 1602 | id: Look Room/Panel_two_on |
1591 | colors: green | 1603 | colors: green |
1592 | tag: forbid | 1604 | tag: forbid |
1593 | UP: | 1605 | TWO (2): |
1594 | id: Look Room/Panel_two_up | 1606 | id: Look Room/Panel_two_up |
1595 | colors: green | 1607 | colors: green |
1596 | tag: forbid | 1608 | tag: forbid |
1597 | SWIMS: | 1609 | FIVE: |
1598 | id: Look Room/Panel_five_swims | 1610 | id: Look Room/Panel_five_swims |
1599 | colors: green | 1611 | colors: green |
1600 | tag: forbid | 1612 | tag: forbid |
1601 | UPSTAIRS: | 1613 | BELOW (1): |
1602 | id: Look Room/Panel_eight_upstairs | 1614 | id: Look Room/Panel_eight_upstairs |
1603 | colors: green | 1615 | colors: green |
1604 | tag: forbid | 1616 | tag: forbid |
1605 | required_door: | 1617 | required_door: |
1606 | door: Stairs | 1618 | door: Stairs |
1607 | TOIL: | 1619 | BLUE: |
1608 | id: Look Room/Panel_blue_toil | 1620 | id: Look Room/Panel_blue_toil |
1609 | colors: green | 1621 | colors: green |
1610 | tag: forbid | 1622 | tag: forbid |
1611 | required_door: | 1623 | required_door: |
1612 | door: Stairs | 1624 | door: Stairs |
1613 | STOP: | 1625 | BELOW (2): |
1614 | id: Look Room/Panel_four_stop | 1626 | id: Look Room/Panel_four_stop |
1615 | colors: green | 1627 | colors: green |
1616 | tag: forbid | 1628 | tag: forbid |
1617 | required_door: | 1629 | required_door: |
1618 | door: Stairs | 1630 | door: Stairs |
1619 | TOP: | 1631 | MINT (1): |
1620 | id: Look Room/Panel_aqua_top | 1632 | id: Look Room/Panel_aqua_top |
1621 | colors: green | 1633 | colors: green |
1622 | tag: forbid | 1634 | tag: forbid |
1623 | required_door: | 1635 | required_door: |
1624 | door: Stairs | 1636 | door: Stairs |
1625 | HI: | 1637 | ESACREWOL: |
1626 | id: Look Room/Panel_blue_hi | 1638 | id: Look Room/Panel_blue_hi |
1627 | colors: green | 1639 | colors: green |
1628 | tag: forbid | 1640 | tag: forbid |
1629 | required_door: | 1641 | required_door: |
1630 | door: Stairs | 1642 | door: Stairs |
1631 | HI (2): | 1643 | EULB: |
1632 | id: Look Room/Panel_blue_hi2 | 1644 | id: Look Room/Panel_blue_hi2 |
1633 | colors: green | 1645 | colors: green |
1634 | tag: forbid | 1646 | tag: forbid |
1635 | required_door: | 1647 | required_door: |
1636 | door: Stairs | 1648 | door: Stairs |
1637 | "31": | 1649 | NUMBERS (1): |
1638 | id: Look Room/Panel_numbers_31 | 1650 | id: Look Room/Panel_numbers_31 |
1639 | colors: green | 1651 | colors: green |
1640 | tag: forbid | 1652 | tag: forbid |
1641 | required_door: | 1653 | required_door: |
1642 | door: Stairs | 1654 | door: Stairs |
1643 | "52": | 1655 | NUMBERS (2): |
1644 | id: Look Room/Panel_numbers_52 | 1656 | id: Look Room/Panel_numbers_52 |
1645 | colors: green | 1657 | colors: green |
1646 | tag: forbid | 1658 | tag: forbid |
1647 | required_door: | 1659 | required_door: |
1648 | door: Stairs | 1660 | door: Stairs |
1649 | OIL: | 1661 | MINT (2): |
1650 | id: Look Room/Panel_aqua_oil | 1662 | id: Look Room/Panel_aqua_oil |
1651 | colors: green | 1663 | colors: green |
1652 | tag: forbid | 1664 | tag: forbid |
1653 | required_door: | 1665 | required_door: |
1654 | door: Stairs | 1666 | door: Stairs |
1655 | BACKSIDE (GREEN): | 1667 | GREEN (1): |
1656 | id: Look Room/Panel_eight_backside | 1668 | id: Look Room/Panel_eight_backside |
1657 | colors: green | 1669 | colors: green |
1658 | tag: forbid | 1670 | tag: forbid |
1659 | required_door: | 1671 | required_door: |
1660 | door: Stairs | 1672 | door: Stairs |
1661 | SIDEWAYS: | 1673 | GREEN (2): |
1662 | id: Look Room/Panel_eight_sideways | 1674 | id: Look Room/Panel_eight_sideways |
1663 | colors: green | 1675 | colors: green |
1664 | tag: forbid | 1676 | tag: forbid |
@@ -1669,13 +1681,13 @@ | |||
1669 | id: Maze Area Doors/Door_backside | 1681 | id: Maze Area Doors/Door_backside |
1670 | group: Backside Doors | 1682 | group: Backside Doors |
1671 | panels: | 1683 | panels: |
1672 | - BACK | 1684 | - FOUR (1) |
1673 | - SIDE | 1685 | - FOUR (2) |
1674 | Stairs: | 1686 | Stairs: |
1675 | id: Maze Area Doors/Door_stairs | 1687 | id: Maze Area Doors/Door_stairs |
1676 | group: Observant Doors | 1688 | group: Observant Doors |
1677 | panels: | 1689 | panels: |
1678 | - STAIRS | 1690 | - SIX |
1679 | The Incomparable: | 1691 | The Incomparable: |
1680 | entrances: | 1692 | entrances: |
1681 | The Observant: True # Assuming that access to The Observant includes access to the right entrance | 1693 | The Observant: True # Assuming that access to The Observant includes access to the right entrance |
@@ -2005,7 +2017,7 @@ | |||
2005 | Courtyard: True | 2017 | Courtyard: True |
2006 | Roof: True # through the sunwarp | 2018 | Roof: True # through the sunwarp |
2007 | panels: | 2019 | panels: |
2008 | RUNT: | 2020 | RUNT (1): |
2009 | id: Shuffle Room/Panel_turn_runt2 | 2021 | id: Shuffle Room/Panel_turn_runt2 |
2010 | colors: yellow | 2022 | colors: yellow |
2011 | tag: midyellow | 2023 | tag: midyellow |
@@ -2219,6 +2231,7 @@ | |||
2219 | - Master Room Doors/Door_master_down | 2231 | - Master Room Doors/Door_master_down |
2220 | - Master Room Doors/Door_master_down2 | 2232 | - Master Room Doors/Door_master_down2 |
2221 | skip_location: True | 2233 | skip_location: True |
2234 | item_name: Mastery | ||
2222 | panels: | 2235 | panels: |
2223 | - THE MASTER | 2236 | - THE MASTER |
2224 | Mastery Panels: | 2237 | Mastery Panels: |
@@ -2235,25 +2248,25 @@ | |||
2235 | panel: MASTERY | 2248 | panel: MASTERY |
2236 | - room: Hedge Maze | 2249 | - room: Hedge Maze |
2237 | panel: MASTERY (1) | 2250 | panel: MASTERY (1) |
2238 | - room: Roof | 2251 | - room: Behind A Smile |
2239 | panel: MASTERY (1) | 2252 | panel: MASTERY |
2240 | - room: Roof | 2253 | - room: Sixteen Colorful Squares |
2241 | panel: MASTERY (2) | 2254 | panel: MASTERY |
2242 | - MASTERY | 2255 | - MASTERY |
2243 | - room: Hedge Maze | 2256 | - room: Hedge Maze |
2244 | panel: MASTERY (2) | 2257 | panel: MASTERY (2) |
2245 | - room: Roof | 2258 | - room: Among Treetops |
2246 | panel: MASTERY (3) | 2259 | panel: MASTERY |
2247 | - room: Roof | 2260 | - room: Horizon's Edge |
2248 | panel: MASTERY (4) | 2261 | panel: MASTERY |
2249 | - room: Roof | 2262 | - room: Beneath The Lookout |
2250 | panel: MASTERY (5) | 2263 | panel: MASTERY |
2251 | - room: Elements Area | 2264 | - room: Elements Area |
2252 | panel: MASTERY | 2265 | panel: MASTERY |
2253 | - room: Pilgrim Antechamber | 2266 | - room: Pilgrim Antechamber |
2254 | panel: MASTERY | 2267 | panel: MASTERY |
2255 | - room: Roof | 2268 | - room: Rooftop Staircase |
2256 | panel: MASTERY (6) | 2269 | panel: MASTERY |
2257 | paintings: | 2270 | paintings: |
2258 | - id: map_painting2 | 2271 | - id: map_painting2 |
2259 | orientation: north | 2272 | orientation: north |
@@ -2265,52 +2278,75 @@ | |||
2265 | Crossroads: | 2278 | Crossroads: |
2266 | room: Crossroads | 2279 | room: Crossroads |
2267 | door: Roof Access | 2280 | door: Roof Access |
2281 | Behind A Smile: | ||
2282 | entrances: | ||
2283 | Roof: True | ||
2268 | panels: | 2284 | panels: |
2269 | MASTERY (1): | 2285 | MASTERY: |
2270 | id: Master Room/Panel_mastery_mastery6 | 2286 | id: Master Room/Panel_mastery_mastery6 |
2271 | tag: midwhite | 2287 | tag: midwhite |
2272 | hunt: True | 2288 | hunt: True |
2273 | required_door: | 2289 | required_door: |
2274 | room: Orange Tower Seventh Floor | 2290 | room: Orange Tower Seventh Floor |
2275 | door: Mastery | 2291 | door: Mastery |
2276 | MASTERY (2): | 2292 | STAIRCASE: |
2293 | id: Open Areas/Panel_staircase | ||
2294 | tag: midwhite | ||
2295 | Sixteen Colorful Squares: | ||
2296 | entrances: | ||
2297 | Roof: True | ||
2298 | panels: | ||
2299 | MASTERY: | ||
2277 | id: Master Room/Panel_mastery_mastery7 | 2300 | id: Master Room/Panel_mastery_mastery7 |
2278 | tag: midwhite | 2301 | tag: midwhite |
2279 | hunt: True | 2302 | hunt: True |
2280 | required_door: | 2303 | required_door: |
2281 | room: Orange Tower Seventh Floor | 2304 | room: Orange Tower Seventh Floor |
2282 | door: Mastery | 2305 | door: Mastery |
2283 | MASTERY (3): | 2306 | Among Treetops: |
2307 | entrances: | ||
2308 | Roof: True | ||
2309 | panels: | ||
2310 | MASTERY: | ||
2284 | id: Master Room/Panel_mastery_mastery10 | 2311 | id: Master Room/Panel_mastery_mastery10 |
2285 | tag: midwhite | 2312 | tag: midwhite |
2286 | hunt: True | 2313 | hunt: True |
2287 | required_door: | 2314 | required_door: |
2288 | room: Orange Tower Seventh Floor | 2315 | room: Orange Tower Seventh Floor |
2289 | door: Mastery | 2316 | door: Mastery |
2290 | MASTERY (4): | 2317 | Horizon's Edge: |
2318 | entrances: | ||
2319 | Roof: True | ||
2320 | panels: | ||
2321 | MASTERY: | ||
2291 | id: Master Room/Panel_mastery_mastery11 | 2322 | id: Master Room/Panel_mastery_mastery11 |
2292 | tag: midwhite | 2323 | tag: midwhite |
2293 | hunt: True | 2324 | hunt: True |
2294 | required_door: | 2325 | required_door: |
2295 | room: Orange Tower Seventh Floor | 2326 | room: Orange Tower Seventh Floor |
2296 | door: Mastery | 2327 | door: Mastery |
2297 | MASTERY (5): | 2328 | Beneath The Lookout: |
2329 | entrances: | ||
2330 | Roof: True | ||
2331 | panels: | ||
2332 | MASTERY: | ||
2298 | id: Master Room/Panel_mastery_mastery12 | 2333 | id: Master Room/Panel_mastery_mastery12 |
2299 | tag: midwhite | 2334 | tag: midwhite |
2300 | hunt: True | 2335 | hunt: True |
2301 | required_door: | 2336 | required_door: |
2302 | room: Orange Tower Seventh Floor | 2337 | room: Orange Tower Seventh Floor |
2303 | door: Mastery | 2338 | door: Mastery |
2304 | MASTERY (6): | 2339 | Rooftop Staircase: |
2340 | entrances: | ||
2341 | Roof: True | ||
2342 | panels: | ||
2343 | MASTERY: | ||
2305 | id: Master Room/Panel_mastery_mastery15 | 2344 | id: Master Room/Panel_mastery_mastery15 |
2306 | tag: midwhite | 2345 | tag: midwhite |
2307 | hunt: True | 2346 | hunt: True |
2308 | required_door: | 2347 | required_door: |
2309 | room: Orange Tower Seventh Floor | 2348 | room: Orange Tower Seventh Floor |
2310 | door: Mastery | 2349 | door: Mastery |
2311 | STAIRCASE: | ||
2312 | id: Open Areas/Panel_staircase | ||
2313 | tag: midwhite | ||
2314 | Orange Tower Basement: | 2350 | Orange Tower Basement: |
2315 | entrances: | 2351 | entrances: |
2316 | Orange Tower Sixth Floor: | 2352 | Orange Tower Sixth Floor: |
@@ -2632,9 +2668,7 @@ | |||
2632 | tag: forbid | 2668 | tag: forbid |
2633 | doors: | 2669 | doors: |
2634 | Progress Door: | 2670 | Progress Door: |
2635 | id: | 2671 | id: Doorway Room Doors/Door_gray |
2636 | - Doorway Room Doors/Door_gray | ||
2637 | - Doorway Room Doors/Door_gray2 # See comment below | ||
2638 | item_name: The Colorful - Gray Door | 2672 | item_name: The Colorful - Gray Door |
2639 | location_name: The Colorful - Gray | 2673 | location_name: The Colorful - Gray |
2640 | group: Colorful Doors | 2674 | group: Colorful Doors |
@@ -2784,6 +2818,7 @@ | |||
2784 | door: Exit | 2818 | door: Exit |
2785 | Eight Alcove: | 2819 | Eight Alcove: |
2786 | door: Eight Door | 2820 | door: Eight Door |
2821 | The Optimistic: True | ||
2787 | panels: | 2822 | panels: |
2788 | SEVEN (1): | 2823 | SEVEN (1): |
2789 | id: Backside Room/Panel_seven_seven_5 | 2824 | id: Backside Room/Panel_seven_seven_5 |
@@ -2833,21 +2868,11 @@ | |||
2833 | id: Rhyme Room/Panel_locked_knocked | 2868 | id: Rhyme Room/Panel_locked_knocked |
2834 | colors: purple | 2869 | colors: purple |
2835 | tag: midpurp | 2870 | tag: midpurp |
2836 | BACKSIDE: | 2871 | PAST (1): |
2837 | id: Backside Room/Panel_backside_1 | ||
2838 | tag: midwhite | ||
2839 | The Optimistic: | ||
2840 | id: Countdown Panels/Panel_optimistic_optimistic | ||
2841 | check: True | ||
2842 | tag: forbid | ||
2843 | required_door: | ||
2844 | door: Backsides | ||
2845 | achievement: The Optimistic | ||
2846 | PAST: | ||
2847 | id: Shuffle Room/Panel_past_present | 2872 | id: Shuffle Room/Panel_past_present |
2848 | colors: brown | 2873 | colors: brown |
2849 | tag: botbrown | 2874 | tag: botbrown |
2850 | FUTURE: | 2875 | FUTURE (1): |
2851 | id: Shuffle Room/Panel_future_present | 2876 | id: Shuffle Room/Panel_future_present |
2852 | colors: | 2877 | colors: |
2853 | - brown | 2878 | - brown |
@@ -2944,17 +2969,6 @@ | |||
2944 | panel: GREEN | 2969 | panel: GREEN |
2945 | - room: Outside The Agreeable | 2970 | - room: Outside The Agreeable |
2946 | panel: PURPLE | 2971 | panel: PURPLE |
2947 | Backsides: | ||
2948 | event: True | ||
2949 | panels: | ||
2950 | - room: The Observant | ||
2951 | panel: BACKSIDE | ||
2952 | - room: Yellow Backside Area | ||
2953 | panel: BACKSIDE | ||
2954 | - room: Directional Gallery | ||
2955 | panel: BACKSIDE | ||
2956 | - room: The Bearer | ||
2957 | panel: BACKSIDE | ||
2958 | Eight Door: | 2972 | Eight Door: |
2959 | id: Red Blue Purple Room Area Doors/Door_a_strands2 | 2973 | id: Red Blue Purple Room Area Doors/Door_a_strands2 |
2960 | skip_location: True | 2974 | skip_location: True |
@@ -3064,6 +3078,28 @@ | |||
3064 | id: Rhyme Room/Panel_bed_dead | 3078 | id: Rhyme Room/Panel_bed_dead |
3065 | colors: purple | 3079 | colors: purple |
3066 | tag: toppurp | 3080 | tag: toppurp |
3081 | The Optimistic: | ||
3082 | entrances: | ||
3083 | Outside The Initiated: True | ||
3084 | panels: | ||
3085 | BACKSIDE: | ||
3086 | id: Backside Room/Panel_backside_1 | ||
3087 | tag: midwhite | ||
3088 | Achievement: | ||
3089 | id: Countdown Panels/Panel_optimistic_optimistic | ||
3090 | check: True | ||
3091 | tag: forbid | ||
3092 | required_panel: | ||
3093 | - panel: BACKSIDE | ||
3094 | - room: The Observant | ||
3095 | panel: BACKSIDE | ||
3096 | - room: Yellow Backside Area | ||
3097 | panel: BACKSIDE | ||
3098 | - room: Directional Gallery | ||
3099 | panel: BACKSIDE | ||
3100 | - room: The Bearer | ||
3101 | panel: BACKSIDE | ||
3102 | achievement: The Optimistic | ||
3067 | The Traveled: | 3103 | The Traveled: |
3068 | entrances: | 3104 | entrances: |
3069 | Hub Room: | 3105 | Hub Room: |
@@ -3164,7 +3200,7 @@ | |||
3164 | Outside The Undeterred: True | 3200 | Outside The Undeterred: True |
3165 | Crossroads: True | 3201 | Crossroads: True |
3166 | Hedge Maze: True | 3202 | Hedge Maze: True |
3167 | Outside The Initiated: True # backside | 3203 | The Optimistic: True # backside |
3168 | Directional Gallery: True # backside | 3204 | Directional Gallery: True # backside |
3169 | Yellow Backside Area: True | 3205 | Yellow Backside Area: True |
3170 | The Bearer: | 3206 | The Bearer: |
@@ -3181,7 +3217,7 @@ | |||
3181 | door: Shortcut to The Steady | 3217 | door: Shortcut to The Steady |
3182 | The Bearer: | 3218 | The Bearer: |
3183 | room: The Bearer | 3219 | room: The Bearer |
3184 | door: Shortcut to The Bold | 3220 | door: Entrance |
3185 | Directional Gallery: | 3221 | Directional Gallery: |
3186 | # There is a painting warp here from the Directional Gallery, but it | 3222 | # There is a painting warp here from the Directional Gallery, but it |
3187 | # only appears when the sixes are revealed. It could be its own item if | 3223 | # only appears when the sixes are revealed. It could be its own item if |
@@ -3252,7 +3288,7 @@ | |||
3252 | tag: midwhite | 3288 | tag: midwhite |
3253 | required_door: | 3289 | required_door: |
3254 | door: Stargazer Door | 3290 | door: Stargazer Door |
3255 | MOUTH: | 3291 | SOUND: |
3256 | id: Cross Room/Panel_mouth_south | 3292 | id: Cross Room/Panel_mouth_south |
3257 | colors: purple | 3293 | colors: purple |
3258 | tag: midpurp | 3294 | tag: midpurp |
@@ -3596,7 +3632,7 @@ | |||
3596 | id: Blue Room/Panel_bone_skeleton | 3632 | id: Blue Room/Panel_bone_skeleton |
3597 | colors: blue | 3633 | colors: blue |
3598 | tag: botblue | 3634 | tag: botblue |
3599 | EYE: | 3635 | EYE (1): |
3600 | id: Blue Room/Panel_mouth_face | 3636 | id: Blue Room/Panel_mouth_face |
3601 | colors: blue | 3637 | colors: blue |
3602 | tag: double botblue | 3638 | tag: double botblue |
@@ -4115,7 +4151,7 @@ | |||
4115 | The Bearer: | 4151 | The Bearer: |
4116 | entrances: | 4152 | entrances: |
4117 | Outside The Bold: | 4153 | Outside The Bold: |
4118 | door: Shortcut to The Bold | 4154 | door: Entrance |
4119 | Orange Tower Fifth Floor: | 4155 | Orange Tower Fifth Floor: |
4120 | room: Art Gallery | 4156 | room: Art Gallery |
4121 | door: Exit | 4157 | door: Exit |
@@ -4192,7 +4228,7 @@ | |||
4192 | - yellow | 4228 | - yellow |
4193 | tag: mid red yellow | 4229 | tag: mid red yellow |
4194 | doors: | 4230 | doors: |
4195 | Shortcut to The Bold: | 4231 | Entrance: |
4196 | id: Red Blue Purple Room Area Doors/Door_middle_middle | 4232 | id: Red Blue Purple Room Area Doors/Door_middle_middle |
4197 | panels: | 4233 | panels: |
4198 | - MIDDLE | 4234 | - MIDDLE |
@@ -4321,21 +4357,21 @@ | |||
4321 | door: Side Area Shortcut | 4357 | door: Side Area Shortcut |
4322 | Roof: True | 4358 | Roof: True |
4323 | panels: | 4359 | panels: |
4324 | SNOW: | 4360 | SMILE: |
4325 | id: Cross Room/Panel_smile_lime | 4361 | id: Cross Room/Panel_smile_lime |
4326 | colors: | 4362 | colors: |
4327 | - red | 4363 | - red |
4328 | - yellow | 4364 | - yellow |
4329 | tag: mid yellow red | 4365 | tag: mid yellow red |
4330 | SMILE: | 4366 | required_panel: |
4367 | room: The Bearer (North) | ||
4368 | panel: WARTS | ||
4369 | SNOW: | ||
4331 | id: Cross Room/Panel_snow_won | 4370 | id: Cross Room/Panel_snow_won |
4332 | colors: | 4371 | colors: |
4333 | - red | 4372 | - red |
4334 | - yellow | 4373 | - yellow |
4335 | tag: mid red yellow | 4374 | tag: mid red yellow |
4336 | required_panel: | ||
4337 | room: The Bearer (North) | ||
4338 | panel: WARTS | ||
4339 | doors: | 4375 | doors: |
4340 | Side Area Shortcut: | 4376 | Side Area Shortcut: |
4341 | event: True | 4377 | event: True |
@@ -4414,7 +4450,7 @@ | |||
4414 | - room: The Bearer (West) | 4450 | - room: The Bearer (West) |
4415 | panel: SMILE | 4451 | panel: SMILE |
4416 | - room: Outside The Bold | 4452 | - room: Outside The Bold |
4417 | panel: MOUTH | 4453 | panel: SOUND |
4418 | - room: Outside The Bold | 4454 | - room: Outside The Bold |
4419 | panel: YEAST | 4455 | panel: YEAST |
4420 | - room: Outside The Bold | 4456 | - room: Outside The Bold |
@@ -6129,7 +6165,7 @@ | |||
6129 | id: Painting Room/Panel_our_four | 6165 | id: Painting Room/Panel_our_four |
6130 | colors: blue | 6166 | colors: blue |
6131 | tag: midblue | 6167 | tag: midblue |
6132 | ONE ROAD MANY TURNS: | 6168 | ORDER: |
6133 | id: Painting Room/Panel_order_onepathmanyturns | 6169 | id: Painting Room/Panel_order_onepathmanyturns |
6134 | tag: forbid | 6170 | tag: forbid |
6135 | colors: | 6171 | colors: |
@@ -6186,7 +6222,7 @@ | |||
6186 | include_reduce: True | 6222 | include_reduce: True |
6187 | item_name: Orange Tower Fifth Floor - Quadruple Intersection | 6223 | item_name: Orange Tower Fifth Floor - Quadruple Intersection |
6188 | panels: | 6224 | panels: |
6189 | - ONE ROAD MANY TURNS | 6225 | - ORDER |
6190 | paintings: | 6226 | paintings: |
6191 | - id: smile_painting_3 | 6227 | - id: smile_painting_3 |
6192 | orientation: west | 6228 | orientation: west |
@@ -6678,7 +6714,7 @@ | |||
6678 | - room: Rhyme Room (Target) | 6714 | - room: Rhyme Room (Target) |
6679 | panel: PISTOL | 6715 | panel: PISTOL |
6680 | - room: Rhyme Room (Target) | 6716 | - room: Rhyme Room (Target) |
6681 | panel: QUARTZ | 6717 | panel: GEM |
6682 | Rhyme Room (Target): | 6718 | Rhyme Room (Target): |
6683 | entrances: | 6719 | entrances: |
6684 | Rhyme Room (Smiley): # one-way | 6720 | Rhyme Room (Smiley): # one-way |
@@ -6706,7 +6742,7 @@ | |||
6706 | tag: syn rhyme | 6742 | tag: syn rhyme |
6707 | subtag: top | 6743 | subtag: top |
6708 | link: rhyme CRYSTAL | 6744 | link: rhyme CRYSTAL |
6709 | QUARTZ: | 6745 | GEM: |
6710 | id: Double Room/Panel_crystal_syn | 6746 | id: Double Room/Panel_crystal_syn |
6711 | colors: purple | 6747 | colors: purple |
6712 | tag: syn rhyme | 6748 | tag: syn rhyme |
@@ -6731,7 +6767,7 @@ | |||
6731 | group: Rhyme Room Doors | 6767 | group: Rhyme Room Doors |
6732 | panels: | 6768 | panels: |
6733 | - PISTOL | 6769 | - PISTOL |
6734 | - QUARTZ | 6770 | - GEM |
6735 | - INNOVATIVE (Top) | 6771 | - INNOVATIVE (Top) |
6736 | - INNOVATIVE (Bottom) | 6772 | - INNOVATIVE (Bottom) |
6737 | paintings: | 6773 | paintings: |
@@ -6789,22 +6825,18 @@ | |||
6789 | id: Panel Room/Panel_room_floor_5 | 6825 | id: Panel Room/Panel_room_floor_5 |
6790 | colors: gray | 6826 | colors: gray |
6791 | tag: forbid | 6827 | tag: forbid |
6792 | FLOOR (7): | 6828 | FLOOR (6): |
6793 | id: Panel Room/Panel_room_floor_7 | 6829 | id: Panel Room/Panel_room_floor_7 |
6794 | colors: gray | 6830 | colors: gray |
6795 | tag: forbid | 6831 | tag: forbid |
6796 | FLOOR (8): | 6832 | FLOOR (7): |
6797 | id: Panel Room/Panel_room_floor_8 | 6833 | id: Panel Room/Panel_room_floor_8 |
6798 | colors: gray | 6834 | colors: gray |
6799 | tag: forbid | 6835 | tag: forbid |
6800 | FLOOR (9): | 6836 | FLOOR (8): |
6801 | id: Panel Room/Panel_room_floor_9 | 6837 | id: Panel Room/Panel_room_floor_9 |
6802 | colors: gray | 6838 | colors: gray |
6803 | tag: forbid | 6839 | tag: forbid |
6804 | FLOOR (10): | ||
6805 | id: Panel Room/Panel_room_floor_10 | ||
6806 | colors: gray | ||
6807 | tag: forbid | ||
6808 | CEILING (1): | 6840 | CEILING (1): |
6809 | id: Panel Room/Panel_room_ceiling_1 | 6841 | id: Panel Room/Panel_room_ceiling_1 |
6810 | colors: gray | 6842 | colors: gray |
@@ -6825,6 +6857,10 @@ | |||
6825 | id: Panel Room/Panel_room_ceiling_5 | 6857 | id: Panel Room/Panel_room_ceiling_5 |
6826 | colors: gray | 6858 | colors: gray |
6827 | tag: forbid | 6859 | tag: forbid |
6860 | CEILING (6): | ||
6861 | id: Panel Room/Panel_room_floor_10 | ||
6862 | colors: gray | ||
6863 | tag: forbid | ||
6828 | WALL (1): | 6864 | WALL (1): |
6829 | id: Panel Room/Panel_room_wall_1 | 6865 | id: Panel Room/Panel_room_wall_1 |
6830 | colors: gray | 6866 | colors: gray |
@@ -7083,7 +7119,7 @@ | |||
7083 | id: Hangry Room/Panel_red_top_3 | 7119 | id: Hangry Room/Panel_red_top_3 |
7084 | colors: red | 7120 | colors: red |
7085 | tag: topred | 7121 | tag: topred |
7086 | FLUMMOXED: | 7122 | FLUSTERED: |
7087 | id: Hangry Room/Panel_red_top_4 | 7123 | id: Hangry Room/Panel_red_top_4 |
7088 | colors: red | 7124 | colors: red |
7089 | tag: topred | 7125 | tag: topred |
@@ -7586,7 +7622,7 @@ | |||
7586 | - black | 7622 | - black |
7587 | - blue | 7623 | - blue |
7588 | tag: chain mid black blue | 7624 | tag: chain mid black blue |
7589 | BREAD: | 7625 | CHEESE: |
7590 | id: Challenge Room/Panel_bread_mold | 7626 | id: Challenge Room/Panel_bread_mold |
7591 | colors: brown | 7627 | colors: brown |
7592 | tag: double botbrown | 7628 | tag: double botbrown |
@@ -7633,7 +7669,7 @@ | |||
7633 | id: Challenge Room/Panel_double_anagram_5 | 7669 | id: Challenge Room/Panel_double_anagram_5 |
7634 | colors: yellow | 7670 | colors: yellow |
7635 | tag: midyellow | 7671 | tag: midyellow |
7636 | FACTS: | 7672 | FACTS (Chain): |
7637 | id: Challenge Room/Panel_facts | 7673 | id: Challenge Room/Panel_facts |
7638 | colors: | 7674 | colors: |
7639 | - red | 7675 | - red |
@@ -7643,18 +7679,18 @@ | |||
7643 | id: Challenge Room/Panel_facts2 | 7679 | id: Challenge Room/Panel_facts2 |
7644 | colors: red | 7680 | colors: red |
7645 | tag: forbid | 7681 | tag: forbid |
7646 | FACTS (3): | 7682 | FACTS (2): |
7647 | id: Challenge Room/Panel_facts3 | 7683 | id: Challenge Room/Panel_facts3 |
7648 | tag: forbid | 7684 | tag: forbid |
7649 | FACTS (4): | 7685 | FACTS (3): |
7650 | id: Challenge Room/Panel_facts4 | 7686 | id: Challenge Room/Panel_facts4 |
7651 | colors: blue | 7687 | colors: blue |
7652 | tag: forbid | 7688 | tag: forbid |
7653 | FACTS (5): | 7689 | FACTS (4): |
7654 | id: Challenge Room/Panel_facts5 | 7690 | id: Challenge Room/Panel_facts5 |
7655 | colors: blue | 7691 | colors: blue |
7656 | tag: forbid | 7692 | tag: forbid |
7657 | FACTS (6): | 7693 | FACTS (5): |
7658 | id: Challenge Room/Panel_facts6 | 7694 | id: Challenge Room/Panel_facts6 |
7659 | colors: blue | 7695 | colors: blue |
7660 | tag: forbid | 7696 | tag: forbid |
diff --git a/data/ids.yaml b/data/ids.yaml index 56c22ad..4cad948 100644 --- a/data/ids.yaml +++ b/data/ids.yaml | |||
@@ -31,12 +31,12 @@ panels: | |||
31 | LIES: 444408 | 31 | LIES: 444408 |
32 | The Seeker: | 32 | The Seeker: |
33 | Achievement: 444409 | 33 | Achievement: 444409 |
34 | BEAR: 444410 | 34 | BEAR (1): 444410 |
35 | MINE: 444411 | 35 | MINE (1): 444411 |
36 | MINE (2): 444412 | 36 | MINE (2): 444412 |
37 | BOW: 444413 | 37 | BOW: 444413 |
38 | DOES: 444414 | 38 | DOES: 444414 |
39 | MOBILE: 444415 | 39 | MOBILE (1): 444415 |
40 | MOBILE (2): 444416 | 40 | MOBILE (2): 444416 |
41 | DESERT: 444417 | 41 | DESERT: 444417 |
42 | DESSERT: 444418 | 42 | DESSERT: 444418 |
@@ -57,8 +57,6 @@ panels: | |||
57 | Hub Room: | 57 | Hub Room: |
58 | ORDER: 444432 | 58 | ORDER: 444432 |
59 | SLAUGHTER: 444433 | 59 | SLAUGHTER: 444433 |
60 | NEAR: 444434 | ||
61 | FAR: 444435 | ||
62 | TRACE: 444436 | 60 | TRACE: 444436 |
63 | RAT: 444437 | 61 | RAT: 444437 |
64 | OPEN: 444438 | 62 | OPEN: 444438 |
@@ -72,7 +70,7 @@ panels: | |||
72 | EIGHT: 444445 | 70 | EIGHT: 444445 |
73 | Pilgrim Antechamber: | 71 | Pilgrim Antechamber: |
74 | HOT CRUST: 444446 | 72 | HOT CRUST: 444446 |
75 | PILGRIMAGE: 444447 | 73 | PILGRIM: 444447 |
76 | MASTERY: 444448 | 74 | MASTERY: 444448 |
77 | Pilgrim Room: | 75 | Pilgrim Room: |
78 | THIS: 444449 | 76 | THIS: 444449 |
@@ -123,6 +121,9 @@ panels: | |||
123 | RACECAR (White): 444489 | 121 | RACECAR (White): 444489 |
124 | SOLOS (White): 444490 | 122 | SOLOS (White): 444490 |
125 | Achievement: 444491 | 123 | Achievement: 444491 |
124 | Near Far Area: | ||
125 | NEAR: 444434 | ||
126 | FAR: 444435 | ||
126 | Warts Straw Area: | 127 | Warts Straw Area: |
127 | WARTS: 444492 | 128 | WARTS: 444492 |
128 | STRAW: 444493 | 129 | STRAW: 444493 |
@@ -187,7 +188,7 @@ panels: | |||
187 | Achievement: 444546 | 188 | Achievement: 444546 |
188 | GAZE: 444547 | 189 | GAZE: 444547 |
189 | The Fearless (First Floor): | 190 | The Fearless (First Floor): |
190 | NAPS: 444548 | 191 | SPAN: 444548 |
191 | TEAM: 444549 | 192 | TEAM: 444549 |
192 | TEEM: 444550 | 193 | TEEM: 444550 |
193 | IMPATIENT: 444551 | 194 | IMPATIENT: 444551 |
@@ -208,25 +209,25 @@ panels: | |||
208 | EVEN: 444564 | 209 | EVEN: 444564 |
209 | The Observant: | 210 | The Observant: |
210 | Achievement: 444565 | 211 | Achievement: 444565 |
211 | BACK: 444566 | 212 | FOUR (1): 444566 |
212 | SIDE: 444567 | 213 | FOUR (2): 444567 |
213 | BACKSIDE: 444568 | 214 | BACKSIDE: 444568 |
214 | STAIRS: 444569 | 215 | SIX: 444569 |
215 | WAYS: 444570 | 216 | FOUR (3): 444570 |
216 | 'ON': 444571 | 217 | TWO (1): 444571 |
217 | UP: 444572 | 218 | TWO (2): 444572 |
218 | SWIMS: 444573 | 219 | FIVE: 444573 |
219 | UPSTAIRS: 444574 | 220 | BELOW (1): 444574 |
220 | TOIL: 444575 | 221 | BLUE: 444575 |
221 | STOP: 444576 | 222 | BELOW (2): 444576 |
222 | TOP: 444577 | 223 | MINT (1): 444577 |
223 | HI: 444578 | 224 | ESACREWOL: 444578 |
224 | HI (2): 444579 | 225 | EULB: 444579 |
225 | '31': 444580 | 226 | NUMBERS (1): 444580 |
226 | '52': 444581 | 227 | NUMBERS (2): 444581 |
227 | OIL: 444582 | 228 | MINT (2): 444582 |
228 | BACKSIDE (GREEN): 444583 | 229 | GREEN (1): 444583 |
229 | SIDEWAYS: 444584 | 230 | GREEN (2): 444584 |
230 | The Incomparable: | 231 | The Incomparable: |
231 | Achievement: 444585 | 232 | Achievement: 444585 |
232 | A (One): 444586 | 233 | A (One): 444586 |
@@ -254,7 +255,7 @@ panels: | |||
254 | RED: 444605 | 255 | RED: 444605 |
255 | DEER + WREN: 444606 | 256 | DEER + WREN: 444606 |
256 | Orange Tower Fourth Floor: | 257 | Orange Tower Fourth Floor: |
257 | RUNT: 444607 | 258 | RUNT (1): 444607 |
258 | RUNT (2): 444608 | 259 | RUNT (2): 444608 |
259 | LEARNS + UNSEW: 444609 | 260 | LEARNS + UNSEW: 444609 |
260 | HOT CRUSTS: 444610 | 261 | HOT CRUSTS: 444610 |
@@ -279,14 +280,19 @@ panels: | |||
279 | THE END: 444620 | 280 | THE END: 444620 |
280 | THE MASTER: 444621 | 281 | THE MASTER: 444621 |
281 | MASTERY: 444622 | 282 | MASTERY: 444622 |
282 | Roof: | 283 | Behind A Smile: |
283 | MASTERY (1): 444623 | 284 | MASTERY: 444623 |
284 | MASTERY (2): 444624 | ||
285 | MASTERY (3): 444625 | ||
286 | MASTERY (4): 444626 | ||
287 | MASTERY (5): 444627 | ||
288 | MASTERY (6): 444628 | ||
289 | STAIRCASE: 444629 | 285 | STAIRCASE: 444629 |
286 | Sixteen Colorful Squares: | ||
287 | MASTERY: 444624 | ||
288 | Among Treetops: | ||
289 | MASTERY: 444625 | ||
290 | Horizon's Edge: | ||
291 | MASTERY: 444626 | ||
292 | Beneath The Lookout: | ||
293 | MASTERY: 444627 | ||
294 | Rooftop Staircase: | ||
295 | MASTERY: 444628 | ||
290 | Orange Tower Basement: | 296 | Orange Tower Basement: |
291 | MASTERY: 444630 | 297 | MASTERY: 444630 |
292 | THE LIBRARY: 444631 | 298 | THE LIBRARY: 444631 |
@@ -341,16 +347,17 @@ panels: | |||
341 | ORANGE: 444663 | 347 | ORANGE: 444663 |
342 | UNCOVER: 444664 | 348 | UNCOVER: 444664 |
343 | OXEN: 444665 | 349 | OXEN: 444665 |
344 | BACKSIDE: 444666 | 350 | PAST (1): 444668 |
345 | The Optimistic: 444667 | 351 | FUTURE (1): 444669 |
346 | PAST: 444668 | ||
347 | FUTURE: 444669 | ||
348 | FUTURE (2): 444670 | 352 | FUTURE (2): 444670 |
349 | PAST (2): 444671 | 353 | PAST (2): 444671 |
350 | PRESENT: 444672 | 354 | PRESENT: 444672 |
351 | SMILE: 444673 | 355 | SMILE: 444673 |
352 | ANGERED: 444674 | 356 | ANGERED: 444674 |
353 | VOTE: 444675 | 357 | VOTE: 444675 |
358 | The Optimistic: | ||
359 | BACKSIDE: 444666 | ||
360 | Achievement: 444667 | ||
354 | The Initiated: | 361 | The Initiated: |
355 | Achievement: 444676 | 362 | Achievement: 444676 |
356 | DAUGHTER: 444677 | 363 | DAUGHTER: 444677 |
@@ -400,7 +407,7 @@ panels: | |||
400 | ZEN: 444719 | 407 | ZEN: 444719 |
401 | SON: 444720 | 408 | SON: 444720 |
402 | STARGAZER: 444721 | 409 | STARGAZER: 444721 |
403 | MOUTH: 444722 | 410 | SOUND: 444722 |
404 | YEAST: 444723 | 411 | YEAST: 444723 |
405 | WET: 444724 | 412 | WET: 444724 |
406 | The Bold: | 413 | The Bold: |
@@ -442,7 +449,7 @@ panels: | |||
442 | The Undeterred: | 449 | The Undeterred: |
443 | Achievement: 444759 | 450 | Achievement: 444759 |
444 | BONE: 444760 | 451 | BONE: 444760 |
445 | EYE: 444761 | 452 | EYE (1): 444761 |
446 | MOUTH: 444762 | 453 | MOUTH: 444762 |
447 | IRIS: 444763 | 454 | IRIS: 444763 |
448 | EYE (2): 444764 | 455 | EYE (2): 444764 |
@@ -524,8 +531,8 @@ panels: | |||
524 | TENT: 444832 | 531 | TENT: 444832 |
525 | BOWL: 444833 | 532 | BOWL: 444833 |
526 | The Bearer (West): | 533 | The Bearer (West): |
527 | SNOW: 444834 | 534 | SMILE: 444834 |
528 | SMILE: 444835 | 535 | SNOW: 444835 |
529 | Bearer Side Area: | 536 | Bearer Side Area: |
530 | SHORTCUT: 444836 | 537 | SHORTCUT: 444836 |
531 | POTS: 444837 | 538 | POTS: 444837 |
@@ -720,7 +727,7 @@ panels: | |||
720 | TRUSTWORTHY: 444978 | 727 | TRUSTWORTHY: 444978 |
721 | FREE: 444979 | 728 | FREE: 444979 |
722 | OUR: 444980 | 729 | OUR: 444980 |
723 | ONE ROAD MANY TURNS: 444981 | 730 | ORDER: 444981 |
724 | Art Gallery (Second Floor): | 731 | Art Gallery (Second Floor): |
725 | HOUSE: 444982 | 732 | HOUSE: 444982 |
726 | PATH: 444983 | 733 | PATH: 444983 |
@@ -778,7 +785,7 @@ panels: | |||
778 | WILD: 445028 | 785 | WILD: 445028 |
779 | KID: 445029 | 786 | KID: 445029 |
780 | PISTOL: 445030 | 787 | PISTOL: 445030 |
781 | QUARTZ: 445031 | 788 | GEM: 445031 |
782 | INNOVATIVE (Top): 445032 | 789 | INNOVATIVE (Top): 445032 |
783 | INNOVATIVE (Bottom): 445033 | 790 | INNOVATIVE (Bottom): 445033 |
784 | Room Room: | 791 | Room Room: |
@@ -792,15 +799,15 @@ panels: | |||
792 | FLOOR (3): 445041 | 799 | FLOOR (3): 445041 |
793 | FLOOR (4): 445042 | 800 | FLOOR (4): 445042 |
794 | FLOOR (5): 445043 | 801 | FLOOR (5): 445043 |
795 | FLOOR (7): 445044 | 802 | FLOOR (6): 445044 |
796 | FLOOR (8): 445045 | 803 | FLOOR (7): 445045 |
797 | FLOOR (9): 445046 | 804 | FLOOR (8): 445046 |
798 | FLOOR (10): 445047 | ||
799 | CEILING (1): 445048 | 805 | CEILING (1): 445048 |
800 | CEILING (2): 445049 | 806 | CEILING (2): 445049 |
801 | CEILING (3): 445050 | 807 | CEILING (3): 445050 |
802 | CEILING (4): 445051 | 808 | CEILING (4): 445051 |
803 | CEILING (5): 445052 | 809 | CEILING (5): 445052 |
810 | CEILING (6): 445047 | ||
804 | WALL (1): 445053 | 811 | WALL (1): 445053 |
805 | WALL (2): 445054 | 812 | WALL (2): 445054 |
806 | WALL (3): 445055 | 813 | WALL (3): 445055 |
@@ -848,7 +855,7 @@ panels: | |||
848 | PANDEMIC (1): 445100 | 855 | PANDEMIC (1): 445100 |
849 | TRINITY: 445101 | 856 | TRINITY: 445101 |
850 | CHEMISTRY: 445102 | 857 | CHEMISTRY: 445102 |
851 | FLUMMOXED: 445103 | 858 | FLUSTERED: 445103 |
852 | PANDEMIC (2): 445104 | 859 | PANDEMIC (2): 445104 |
853 | COUNTERCLOCKWISE: 445105 | 860 | COUNTERCLOCKWISE: 445105 |
854 | FEARLESS: 445106 | 861 | FEARLESS: 445106 |
@@ -934,7 +941,7 @@ panels: | |||
934 | CORNER: 445182 | 941 | CORNER: 445182 |
935 | STRAWBERRIES: 445183 | 942 | STRAWBERRIES: 445183 |
936 | GRUB: 445184 | 943 | GRUB: 445184 |
937 | BREAD: 445185 | 944 | CHEESE: 445185 |
938 | COLOR: 445186 | 945 | COLOR: 445186 |
939 | WRITER: 445187 | 946 | WRITER: 445187 |
940 | '02759': 445188 | 947 | '02759': 445188 |
@@ -945,12 +952,12 @@ panels: | |||
945 | DUCK LOGO: 445193 | 952 | DUCK LOGO: 445193 |
946 | AVIAN GREEN: 445194 | 953 | AVIAN GREEN: 445194 |
947 | FEVER TEAR: 445195 | 954 | FEVER TEAR: 445195 |
948 | FACTS: 445196 | 955 | FACTS (Chain): 445196 |
949 | FACTS (1): 445197 | 956 | FACTS (1): 445197 |
950 | FACTS (3): 445198 | 957 | FACTS (2): 445198 |
951 | FACTS (4): 445199 | 958 | FACTS (3): 445199 |
952 | FACTS (5): 445200 | 959 | FACTS (4): 445200 |
953 | FACTS (6): 445201 | 960 | FACTS (5): 445201 |
954 | LAPEL SHEEP: 445202 | 961 | LAPEL SHEEP: 445202 |
955 | doors: | 962 | doors: |
956 | Starting Room: | 963 | Starting Room: |
@@ -980,9 +987,6 @@ doors: | |||
980 | Tenacious Entrance: | 987 | Tenacious Entrance: |
981 | item: 444426 | 988 | item: 444426 |
982 | location: 444433 | 989 | location: 444433 |
983 | Symmetry Door: | ||
984 | item: 444428 | ||
985 | location: 445204 | ||
986 | Shortcut to Hedge Maze: | 990 | Shortcut to Hedge Maze: |
987 | item: 444430 | 991 | item: 444430 |
988 | location: 444436 | 992 | location: 444436 |
@@ -1039,6 +1043,10 @@ doors: | |||
1039 | location: 445210 | 1043 | location: 445210 |
1040 | White Palindromes: | 1044 | White Palindromes: |
1041 | location: 445211 | 1045 | location: 445211 |
1046 | Near Far Area: | ||
1047 | Door: | ||
1048 | item: 444428 | ||
1049 | location: 445204 | ||
1042 | Warts Straw Area: | 1050 | Warts Straw Area: |
1043 | Door: | 1051 | Door: |
1044 | item: 444451 | 1052 | item: 444451 |
@@ -1292,7 +1300,7 @@ doors: | |||
1292 | item: 444539 | 1300 | item: 444539 |
1293 | location: 444806 | 1301 | location: 444806 |
1294 | The Bearer: | 1302 | The Bearer: |
1295 | Shortcut to The Bold: | 1303 | Entrance: |
1296 | item: 444540 | 1304 | item: 444540 |
1297 | location: 444820 | 1305 | location: 444820 |
1298 | Backside Door: | 1306 | Backside Door: |
diff --git a/player_logic.py b/player_logic.py index d87aa56..b2e5f77 100644 --- a/player_logic.py +++ b/player_logic.py | |||
@@ -196,7 +196,7 @@ class LingoPlayerLogic: | |||
196 | ["Orange Tower Fourth Floor", "Hot Crusts Door"], ["Outside The Initiated", "Shortcut to Hub Room"], | 196 | ["Orange Tower Fourth Floor", "Hot Crusts Door"], ["Outside The Initiated", "Shortcut to Hub Room"], |
197 | ["Orange Tower First Floor", "Shortcut to Hub Room"], ["Directional Gallery", "Shortcut to The Undeterred"], | 197 | ["Orange Tower First Floor", "Shortcut to Hub Room"], ["Directional Gallery", "Shortcut to The Undeterred"], |
198 | ["Orange Tower First Floor", "Salt Pepper Door"], ["Hub Room", "Crossroads Entrance"], | 198 | ["Orange Tower First Floor", "Salt Pepper Door"], ["Hub Room", "Crossroads Entrance"], |
199 | ["Color Hunt", "Shortcut to The Steady"], ["The Bearer", "Shortcut to The Bold"], ["Art Gallery", "Exit"], | 199 | ["Color Hunt", "Shortcut to The Steady"], ["The Bearer", "Entrance"], ["Art Gallery", "Exit"], |
200 | ["The Tenacious", "Shortcut to Hub Room"], ["Outside The Agreeable", "Tenacious Entrance"] | 200 | ["The Tenacious", "Shortcut to Hub Room"], ["Outside The Agreeable", "Tenacious Entrance"] |
201 | ] | 201 | ] |
202 | pilgrimage_reqs = AccessRequirements() | 202 | pilgrimage_reqs = AccessRequirements() |
diff --git a/test/TestProgressive.py b/test/TestProgressive.py index 0aaebe9..081d674 100644 --- a/test/TestProgressive.py +++ b/test/TestProgressive.py | |||
@@ -96,7 +96,7 @@ class TestProgressiveArtGallery(LingoTestBase): | |||
96 | self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player)) | 96 | self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player)) |
97 | self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player)) | 97 | self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player)) |
98 | self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player)) | 98 | self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player)) |
99 | self.assertFalse(self.can_reach_location("Art Gallery - ONE ROAD MANY TURNS")) | 99 | self.assertFalse(self.can_reach_location("Art Gallery - ORDER")) |
100 | self.assertFalse(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player)) | 100 | self.assertFalse(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player)) |
101 | 101 | ||
102 | self.collect_by_name(["Second Room - Exit Door", "Crossroads - Tower Entrance", | 102 | self.collect_by_name(["Second Room - Exit Door", "Crossroads - Tower Entrance", |
@@ -105,7 +105,7 @@ class TestProgressiveArtGallery(LingoTestBase): | |||
105 | self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player)) | 105 | self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player)) |
106 | self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player)) | 106 | self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player)) |
107 | self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player)) | 107 | self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player)) |
108 | self.assertFalse(self.can_reach_location("Art Gallery - ONE ROAD MANY TURNS")) | 108 | self.assertFalse(self.can_reach_location("Art Gallery - ORDER")) |
109 | self.assertFalse(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player)) | 109 | self.assertFalse(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player)) |
110 | 110 | ||
111 | progressive_gallery_room = self.get_items_by_name("Progressive Art Gallery") | 111 | progressive_gallery_room = self.get_items_by_name("Progressive Art Gallery") |
@@ -115,7 +115,7 @@ class TestProgressiveArtGallery(LingoTestBase): | |||
115 | self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player)) | 115 | self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player)) |
116 | self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player)) | 116 | self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player)) |
117 | self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player)) | 117 | self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player)) |
118 | self.assertFalse(self.can_reach_location("Art Gallery - ONE ROAD MANY TURNS")) | 118 | self.assertFalse(self.can_reach_location("Art Gallery - ORDER")) |
119 | self.assertFalse(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player)) | 119 | self.assertFalse(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player)) |
120 | 120 | ||
121 | self.collect(progressive_gallery_room[1]) | 121 | self.collect(progressive_gallery_room[1]) |
@@ -123,7 +123,7 @@ class TestProgressiveArtGallery(LingoTestBase): | |||
123 | self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player)) | 123 | self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player)) |
124 | self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player)) | 124 | self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player)) |
125 | self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player)) | 125 | self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player)) |
126 | self.assertFalse(self.can_reach_location("Art Gallery - ONE ROAD MANY TURNS")) | 126 | self.assertFalse(self.can_reach_location("Art Gallery - ORDER")) |
127 | self.assertFalse(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player)) | 127 | self.assertFalse(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player)) |
128 | 128 | ||
129 | self.collect(progressive_gallery_room[2]) | 129 | self.collect(progressive_gallery_room[2]) |
@@ -131,7 +131,7 @@ class TestProgressiveArtGallery(LingoTestBase): | |||
131 | self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player)) | 131 | self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player)) |
132 | self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player)) | 132 | self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player)) |
133 | self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player)) | 133 | self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player)) |
134 | self.assertFalse(self.can_reach_location("Art Gallery - ONE ROAD MANY TURNS")) | 134 | self.assertFalse(self.can_reach_location("Art Gallery - ORDER")) |
135 | self.assertFalse(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player)) | 135 | self.assertFalse(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player)) |
136 | 136 | ||
137 | self.collect(progressive_gallery_room[3]) | 137 | self.collect(progressive_gallery_room[3]) |
@@ -139,7 +139,7 @@ class TestProgressiveArtGallery(LingoTestBase): | |||
139 | self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player)) | 139 | self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player)) |
140 | self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player)) | 140 | self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player)) |
141 | self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player)) | 141 | self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player)) |
142 | self.assertTrue(self.can_reach_location("Art Gallery - ONE ROAD MANY TURNS")) | 142 | self.assertTrue(self.can_reach_location("Art Gallery - ORDER")) |
143 | self.assertFalse(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player)) | 143 | self.assertFalse(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player)) |
144 | 144 | ||
145 | self.collect_by_name("Orange Tower Fifth Floor - Quadruple Intersection") | 145 | self.collect_by_name("Orange Tower Fifth Floor - Quadruple Intersection") |
@@ -147,7 +147,7 @@ class TestProgressiveArtGallery(LingoTestBase): | |||
147 | self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player)) | 147 | self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player)) |
148 | self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player)) | 148 | self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player)) |
149 | self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player)) | 149 | self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player)) |
150 | self.assertTrue(self.can_reach_location("Art Gallery - ONE ROAD MANY TURNS")) | 150 | self.assertTrue(self.can_reach_location("Art Gallery - ORDER")) |
151 | self.assertTrue(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player)) | 151 | self.assertTrue(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player)) |
152 | 152 | ||
153 | 153 | ||
@@ -162,7 +162,7 @@ class TestNoDoorsArtGallery(LingoTestBase): | |||
162 | self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player)) | 162 | self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player)) |
163 | self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player)) | 163 | self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player)) |
164 | self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player)) | 164 | self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player)) |
165 | self.assertFalse(self.can_reach_location("Art Gallery - ONE ROAD MANY TURNS")) | 165 | self.assertFalse(self.can_reach_location("Art Gallery - ORDER")) |
166 | self.assertFalse(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player)) | 166 | self.assertFalse(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player)) |
167 | 167 | ||
168 | self.collect_by_name("Yellow") | 168 | self.collect_by_name("Yellow") |
@@ -170,7 +170,7 @@ class TestNoDoorsArtGallery(LingoTestBase): | |||
170 | self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player)) | 170 | self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player)) |
171 | self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player)) | 171 | self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player)) |
172 | self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player)) | 172 | self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player)) |
173 | self.assertFalse(self.can_reach_location("Art Gallery - ONE ROAD MANY TURNS")) | 173 | self.assertFalse(self.can_reach_location("Art Gallery - ORDER")) |
174 | self.assertFalse(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player)) | 174 | self.assertFalse(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player)) |
175 | 175 | ||
176 | self.collect_by_name("Brown") | 176 | self.collect_by_name("Brown") |
@@ -178,7 +178,7 @@ class TestNoDoorsArtGallery(LingoTestBase): | |||
178 | self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player)) | 178 | self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player)) |
179 | self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player)) | 179 | self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player)) |
180 | self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player)) | 180 | self.assertFalse(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player)) |
181 | self.assertFalse(self.can_reach_location("Art Gallery - ONE ROAD MANY TURNS")) | 181 | self.assertFalse(self.can_reach_location("Art Gallery - ORDER")) |
182 | self.assertFalse(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player)) | 182 | self.assertFalse(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player)) |
183 | 183 | ||
184 | self.collect_by_name("Blue") | 184 | self.collect_by_name("Blue") |
@@ -186,7 +186,7 @@ class TestNoDoorsArtGallery(LingoTestBase): | |||
186 | self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player)) | 186 | self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player)) |
187 | self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player)) | 187 | self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player)) |
188 | self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player)) | 188 | self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player)) |
189 | self.assertFalse(self.can_reach_location("Art Gallery - ONE ROAD MANY TURNS")) | 189 | self.assertFalse(self.can_reach_location("Art Gallery - ORDER")) |
190 | self.assertFalse(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player)) | 190 | self.assertFalse(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player)) |
191 | 191 | ||
192 | self.collect_by_name(["Orange", "Gray"]) | 192 | self.collect_by_name(["Orange", "Gray"]) |
@@ -194,5 +194,5 @@ class TestNoDoorsArtGallery(LingoTestBase): | |||
194 | self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player)) | 194 | self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Second Floor)", "Region", self.player)) |
195 | self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player)) | 195 | self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Third Floor)", "Region", self.player)) |
196 | self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player)) | 196 | self.assertTrue(self.multiworld.state.can_reach("Art Gallery (Fourth Floor)", "Region", self.player)) |
197 | self.assertTrue(self.can_reach_location("Art Gallery - ONE ROAD MANY TURNS")) | 197 | self.assertTrue(self.can_reach_location("Art Gallery - ORDER")) |
198 | self.assertTrue(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player)) | 198 | self.assertTrue(self.multiworld.state.can_reach("Orange Tower Fifth Floor", "Region", self.player)) |
diff --git a/utils/validate_config.rb b/utils/validate_config.rb index 3ac49dc..96ed9fc 100644 --- a/utils/validate_config.rb +++ b/utils/validate_config.rb | |||
@@ -8,7 +8,8 @@ require 'set' | |||
8 | require 'yaml' | 8 | require 'yaml' |
9 | 9 | ||
10 | configpath = ARGV[0] | 10 | configpath = ARGV[0] |
11 | mappath = ARGV[1] | 11 | idspath = ARGV[1] |
12 | mappath = ARGV[2] | ||
12 | 13 | ||
13 | panels = Set["Countdown Panels/Panel_1234567890_wanderlust"] | 14 | panels = Set["Countdown Panels/Panel_1234567890_wanderlust"] |
14 | doors = Set["Naps Room Doors/Door_hider_new1", "Tower Room Area Doors/Door_wanderer_entrance"] | 15 | 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 | |||
46 | 47 | ||
47 | non_counting = 0 | 48 | non_counting = 0 |
48 | 49 | ||
50 | ids = YAML.load_file(idspath) | ||
51 | |||
49 | config = YAML.load_file(configpath) | 52 | config = YAML.load_file(configpath) |
50 | config.each do |room_name, room| | 53 | config.each do |room_name, room| |
51 | configured_rooms.add(room_name) | 54 | configured_rooms.add(room_name) |
@@ -162,6 +165,10 @@ config.each do |room_name, room| | |||
162 | unless bad_subdirectives.empty? then | 165 | unless bad_subdirectives.empty? then |
163 | puts "#{room_name} - #{panel_name} :::: Panel has the following invalid subdirectives: #{bad_subdirectives.join(", ")}" | 166 | puts "#{room_name} - #{panel_name} :::: Panel has the following invalid subdirectives: #{bad_subdirectives.join(", ")}" |
164 | end | 167 | end |
168 | |||
169 | unless ids.include?("panels") and ids["panels"].include?(room_name) and ids["panels"][room_name].include?(panel_name) | ||
170 | puts "#{room_name} - #{panel_name} :::: Panel is missing a location ID" | ||
171 | end | ||
165 | end | 172 | end |
166 | 173 | ||
167 | (room["doors"] || {}).each do |door_name, door| | 174 | (room["doors"] || {}).each do |door_name, door| |
@@ -229,6 +236,18 @@ config.each do |room_name, room| | |||
229 | unless bad_subdirectives.empty? then | 236 | unless bad_subdirectives.empty? then |
230 | puts "#{room_name} - #{door_name} :::: Door has the following invalid subdirectives: #{bad_subdirectives.join(", ")}" | 237 | puts "#{room_name} - #{door_name} :::: Door has the following invalid subdirectives: #{bad_subdirectives.join(", ")}" |
231 | end | 238 | end |
239 | |||
240 | unless door["skip_item"] or door["event"] | ||
241 | 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") | ||
242 | puts "#{room_name} - #{door_name} :::: Door is missing an item ID" | ||
243 | end | ||
244 | end | ||
245 | |||
246 | unless door["skip_location"] or door["event"] | ||
247 | 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") | ||
248 | puts "#{room_name} - #{door_name} :::: Door is missing a location ID" | ||
249 | end | ||
250 | end | ||
232 | end | 251 | end |
233 | 252 | ||
234 | (room["paintings"] || []).each do |painting| | 253 | (room["paintings"] || []).each do |painting| |
@@ -281,6 +300,10 @@ config.each do |room_name, room| | |||
281 | mentioned_doors.add("#{room_name} - #{door}") | 300 | mentioned_doors.add("#{room_name} - #{door}") |
282 | end | 301 | end |
283 | end | 302 | end |
303 | |||
304 | unless ids.include?("progression") and ids["progression"].include?(progression_name) | ||
305 | puts "#{room_name} - #{progression_name} :::: Progression is missing an item ID" | ||
306 | end | ||
284 | end | 307 | end |
285 | end | 308 | end |
286 | 309 | ||
@@ -303,6 +326,10 @@ door_groups.each do |group,num| | |||
303 | if num == 1 then | 326 | if num == 1 then |
304 | puts "Door group \"#{group}\" only has one door in it" | 327 | puts "Door group \"#{group}\" only has one door in it" |
305 | end | 328 | end |
329 | |||
330 | unless ids.include?("door_groups") and ids["door_groups"].include?(group) | ||
331 | puts "#{group} :::: Door group is missing an item ID" | ||
332 | end | ||
306 | end | 333 | end |
307 | 334 | ||
308 | slashed_rooms = configured_rooms.select do |room| | 335 | slashed_rooms = configured_rooms.select do |room| |