diff options
| author | Star Rauchenberger <fefferburbia@gmail.com> | 2024-03-21 10:46:53 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-03-21 16:46:53 +0100 |
| commit | cb83f8d340ee13746ce2c63c7cd1b247244eb65a (patch) | |
| tree | f8a25fead6c0089dc78c7335b18518651cc7fad8 | |
| parent | e016228d2b76fa367889c9d98d6eb9e783f98cb4 (diff) | |
| download | lingo-apworld-cb83f8d340ee13746ce2c63c7cd1b247244eb65a.tar.gz lingo-apworld-cb83f8d340ee13746ce2c63c7cd1b247244eb65a.tar.bz2 lingo-apworld-cb83f8d340ee13746ce2c63c7cd1b247244eb65a.zip | |
Lingo: Add item/location groups (#2789)
| -rw-r--r-- | __init__.py | 6 | ||||
| -rw-r--r-- | data/LL1.yaml | 194 | ||||
| -rw-r--r-- | data/generated.dat | bin | 129731 -> 130791 bytes | |||
| -rw-r--r-- | datatypes.py | 3 | ||||
| -rw-r--r-- | items.py | 18 | ||||
| -rw-r--r-- | locations.py | 6 | ||||
| -rw-r--r-- | player_logic.py | 4 | ||||
| -rw-r--r-- | utils/pickle_static_data.py | 13 | ||||
| -rw-r--r-- | utils/validate_config.rb | 2 |
9 files changed, 157 insertions, 89 deletions
| diff --git a/__init__.py b/__init__.py index e35a102..c92e530 100644 --- a/__init__.py +++ b/__init__.py | |||
| @@ -6,8 +6,8 @@ from logging import warning | |||
| 6 | from BaseClasses import Item, ItemClassification, Tutorial | 6 | from BaseClasses import Item, ItemClassification, Tutorial |
| 7 | from worlds.AutoWorld import WebWorld, World | 7 | from worlds.AutoWorld import WebWorld, World |
| 8 | from .datatypes import Room, RoomEntrance | 8 | from .datatypes import Room, RoomEntrance |
| 9 | from .items import ALL_ITEM_TABLE, LingoItem | 9 | from .items import ALL_ITEM_TABLE, ITEMS_BY_GROUP, LingoItem |
| 10 | from .locations import ALL_LOCATION_TABLE | 10 | from .locations import ALL_LOCATION_TABLE, LOCATIONS_BY_GROUP |
| 11 | from .options import LingoOptions | 11 | from .options import LingoOptions |
| 12 | from .player_logic import LingoPlayerLogic | 12 | from .player_logic import LingoPlayerLogic |
| 13 | from .regions import create_regions | 13 | from .regions import create_regions |
| @@ -46,6 +46,8 @@ class LingoWorld(World): | |||
| 46 | location_name_to_id = { | 46 | location_name_to_id = { |
| 47 | name: data.code for name, data in ALL_LOCATION_TABLE.items() | 47 | name: data.code for name, data in ALL_LOCATION_TABLE.items() |
| 48 | } | 48 | } |
| 49 | item_name_groups = ITEMS_BY_GROUP | ||
| 50 | location_name_groups = LOCATIONS_BY_GROUP | ||
| 49 | 51 | ||
| 50 | player_logic: LingoPlayerLogic | 52 | player_logic: LingoPlayerLogic |
| 51 | 53 | ||
| diff --git a/data/LL1.yaml b/data/LL1.yaml index f72e63c..75f6882 100644 --- a/data/LL1.yaml +++ b/data/LL1.yaml | |||
| @@ -63,12 +63,13 @@ | |||
| 63 | # - item_name: Overrides the name of the item generated for this door. | 63 | # - item_name: Overrides the name of the item generated for this door. |
| 64 | # If not specified, the item name will be generated from | 64 | # If not specified, the item name will be generated from |
| 65 | # the room name and the door name. | 65 | # the room name and the door name. |
| 66 | # - item_group: If set, this item will be in the specified item group. | ||
| 66 | # - location_name: Overrides the name of the location generated for this | 67 | # - location_name: Overrides the name of the location generated for this |
| 67 | # door. If not specified, the location name will be | 68 | # door. If not specified, the location name will be |
| 68 | # generated using the names of the panels. | 69 | # generated using the names of the panels. |
| 69 | # - skip_location: If true, no location is generated for this door. | 70 | # - skip_location: If true, no location is generated for this door. |
| 70 | # - skip_item: If true, no item is generated for this door. | 71 | # - skip_item: If true, no item is generated for this door. |
| 71 | # - group: When simple doors is used, all doors with the same group | 72 | # - door_group: When simple doors is used, all doors with the same group |
| 72 | # will be covered by a single item. | 73 | # will be covered by a single item. |
| 73 | # - include_reduce: Door checks are assumed to be EXCLUDED when reduce checks | 74 | # - include_reduce: Door checks are assumed to be EXCLUDED when reduce checks |
| 74 | # is on. This option includes the check anyway. | 75 | # is on. This option includes the check anyway. |
| @@ -144,7 +145,7 @@ | |||
| 144 | - Palindrome Room Area Doors/Door_racecar_racecar_2 | 145 | - Palindrome Room Area Doors/Door_racecar_racecar_2 |
| 145 | - Palindrome Room Area Doors/Door_solos_solos_2 | 146 | - Palindrome Room Area Doors/Door_solos_solos_2 |
| 146 | skip_location: True | 147 | skip_location: True |
| 147 | group: Rhyme Room Doors | 148 | door_group: Rhyme Room Doors |
| 148 | panels: | 149 | panels: |
| 149 | - room: The Tenacious | 150 | - room: The Tenacious |
| 150 | panel: LEVEL (Black) | 151 | panel: LEVEL (Black) |
| @@ -231,7 +232,7 @@ | |||
| 231 | Dead End Door: | 232 | Dead End Door: |
| 232 | id: Appendix Room Area Doors/Door_rat_tar_2 | 233 | id: Appendix Room Area Doors/Door_rat_tar_2 |
| 233 | skip_location: true | 234 | skip_location: true |
| 234 | group: Dead End Area Access | 235 | door_group: Dead End Area Access |
| 235 | panels: | 236 | panels: |
| 236 | - room: Hub Room | 237 | - room: Hub Room |
| 237 | panel: RAT | 238 | panel: RAT |
| @@ -244,6 +245,7 @@ | |||
| 244 | Seeker Entrance: | 245 | Seeker Entrance: |
| 245 | id: Entry Room Area Doors/Door_entrance_entrance | 246 | id: Entry Room Area Doors/Door_entrance_entrance |
| 246 | item_name: The Seeker - Entrance | 247 | item_name: The Seeker - Entrance |
| 248 | item_group: Achievement Room Entrances | ||
| 247 | panels: | 249 | panels: |
| 248 | - OPEN | 250 | - OPEN |
| 249 | Rhyme Room Entrance: | 251 | Rhyme Room Entrance: |
| @@ -251,7 +253,7 @@ | |||
| 251 | - Appendix Room Area Doors/Door_rat_tar_3 | 253 | - Appendix Room Area Doors/Door_rat_tar_3 |
| 252 | - Double Room Area Doors/Door_room_entry_stairs | 254 | - Double Room Area Doors/Door_room_entry_stairs |
| 253 | skip_location: True | 255 | skip_location: True |
| 254 | group: Rhyme Room Doors | 256 | door_group: Rhyme Room Doors |
| 255 | panels: | 257 | panels: |
| 256 | - room: The Tenacious | 258 | - room: The Tenacious |
| 257 | panel: LEVEL (Black) | 259 | panel: LEVEL (Black) |
| @@ -466,25 +468,27 @@ | |||
| 466 | - ORDER | 468 | - ORDER |
| 467 | Tenacious Entrance: | 469 | Tenacious Entrance: |
| 468 | id: Palindrome Room Area Doors/Door_slaughter_laughter | 470 | id: Palindrome Room Area Doors/Door_slaughter_laughter |
| 469 | group: Entrances to The Tenacious | 471 | door_group: Entrances to The Tenacious |
| 472 | item_group: Achievement Room Entrances | ||
| 470 | panels: | 473 | panels: |
| 471 | - SLAUGHTER | 474 | - SLAUGHTER |
| 472 | Shortcut to Hedge Maze: | 475 | Shortcut to Hedge Maze: |
| 473 | id: Maze Area Doors/Door_trace_trace | 476 | id: Maze Area Doors/Door_trace_trace |
| 474 | group: Hedge Maze Doors | 477 | door_group: Hedge Maze Doors |
| 475 | panels: | 478 | panels: |
| 476 | - TRACE | 479 | - TRACE |
| 477 | Near RAT Door: | 480 | Near RAT Door: |
| 478 | id: Appendix Room Area Doors/Door_deadend_deadened | 481 | id: Appendix Room Area Doors/Door_deadend_deadened |
| 479 | skip_location: True | 482 | skip_location: True |
| 480 | group: Dead End Area Access | 483 | door_group: Dead End Area Access |
| 481 | panels: | 484 | panels: |
| 482 | - room: Hidden Room | 485 | - room: Hidden Room |
| 483 | panel: DEAD END | 486 | panel: DEAD END |
| 484 | Traveled Entrance: | 487 | Traveled Entrance: |
| 485 | id: Appendix Room Area Doors/Door_open_open | 488 | id: Appendix Room Area Doors/Door_open_open |
| 486 | item_name: The Traveled - Entrance | 489 | item_name: The Traveled - Entrance |
| 487 | group: Entrance to The Traveled | 490 | door_group: Entrance to The Traveled |
| 491 | item_group: Achievement Room Entrances | ||
| 488 | panels: | 492 | panels: |
| 489 | - OPEN | 493 | - OPEN |
| 490 | Lost Door: | 494 | Lost Door: |
| @@ -546,6 +550,7 @@ | |||
| 546 | doors: | 550 | doors: |
| 547 | Sun Painting: | 551 | Sun Painting: |
| 548 | item_name: Pilgrim Room - Sun Painting | 552 | item_name: Pilgrim Room - Sun Painting |
| 553 | item_group: Paintings | ||
| 549 | location_name: Pilgrim Room - HOT CRUST | 554 | location_name: Pilgrim Room - HOT CRUST |
| 550 | painting_id: pilgrim_painting2 | 555 | painting_id: pilgrim_painting2 |
| 551 | panels: | 556 | panels: |
| @@ -715,12 +720,14 @@ | |||
| 715 | doors: | 720 | doors: |
| 716 | Tenacious Entrance: | 721 | Tenacious Entrance: |
| 717 | id: Palindrome Room Area Doors/Door_decay_day | 722 | id: Palindrome Room Area Doors/Door_decay_day |
| 718 | group: Entrances to The Tenacious | 723 | door_group: Entrances to The Tenacious |
| 724 | item_group: Achievement Room Entrances | ||
| 719 | panels: | 725 | panels: |
| 720 | - DECAY | 726 | - DECAY |
| 721 | Discerning Entrance: | 727 | Discerning Entrance: |
| 722 | id: Shuffle Room Area Doors/Door_nope_open | 728 | id: Shuffle Room Area Doors/Door_nope_open |
| 723 | item_name: The Discerning - Entrance | 729 | item_name: The Discerning - Entrance |
| 730 | item_group: Achievement Room Entrances | ||
| 724 | panels: | 731 | panels: |
| 725 | - NOPE | 732 | - NOPE |
| 726 | Tower Entrance: | 733 | Tower Entrance: |
| @@ -729,13 +736,13 @@ | |||
| 729 | - Shuffle Room Area Doors/Door_tower2 | 736 | - Shuffle Room Area Doors/Door_tower2 |
| 730 | - Shuffle Room Area Doors/Door_tower3 | 737 | - Shuffle Room Area Doors/Door_tower3 |
| 731 | - Shuffle Room Area Doors/Door_tower4 | 738 | - Shuffle Room Area Doors/Door_tower4 |
| 732 | group: Crossroads - Tower Entrances | 739 | door_group: Crossroads - Tower Entrances |
| 733 | panels: | 740 | panels: |
| 734 | - WE ROT | 741 | - WE ROT |
| 735 | Tower Back Entrance: | 742 | Tower Back Entrance: |
| 736 | id: Shuffle Room Area Doors/Door_runt | 743 | id: Shuffle Room Area Doors/Door_runt |
| 737 | location_name: Crossroads - TURN/RUNT | 744 | location_name: Crossroads - TURN/RUNT |
| 738 | group: Crossroads - Tower Entrances | 745 | door_group: Crossroads - Tower Entrances |
| 739 | panels: | 746 | panels: |
| 740 | - TURN | 747 | - TURN |
| 741 | - room: Orange Tower Fourth Floor | 748 | - room: Orange Tower Fourth Floor |
| @@ -744,20 +751,20 @@ | |||
| 744 | id: | 751 | id: |
| 745 | - Shuffle Room Area Doors/Door_words_shuffle_3 | 752 | - Shuffle Room Area Doors/Door_words_shuffle_3 |
| 746 | - Shuffle Room Area Doors/Door_words_shuffle_4 | 753 | - Shuffle Room Area Doors/Door_words_shuffle_4 |
| 747 | group: Crossroads Doors | 754 | door_group: Crossroads Doors |
| 748 | panels: | 755 | panels: |
| 749 | - WORDS | 756 | - WORDS |
| 750 | - SWORD | 757 | - SWORD |
| 751 | Eye Wall: | 758 | Eye Wall: |
| 752 | id: Shuffle Room Area Doors/Door_behind | 759 | id: Shuffle Room Area Doors/Door_behind |
| 753 | junk_item: True | 760 | junk_item: True |
| 754 | group: Crossroads Doors | 761 | door_group: Crossroads Doors |
| 755 | panels: | 762 | panels: |
| 756 | - BEND HI | 763 | - BEND HI |
| 757 | Hollow Hallway: | 764 | Hollow Hallway: |
| 758 | id: Shuffle Room Area Doors/Door_crossroads6 | 765 | id: Shuffle Room Area Doors/Door_crossroads6 |
| 759 | skip_location: True | 766 | skip_location: True |
| 760 | group: Crossroads Doors | 767 | door_group: Crossroads Doors |
| 761 | panels: | 768 | panels: |
| 762 | - BEND HI | 769 | - BEND HI |
| 763 | Roof Access: | 770 | Roof Access: |
| @@ -934,7 +941,7 @@ | |||
| 934 | - Palindrome Room Area Doors/Door_racecar_racecar_1 | 941 | - Palindrome Room Area Doors/Door_racecar_racecar_1 |
| 935 | - Palindrome Room Area Doors/Door_solos_solos_1 | 942 | - Palindrome Room Area Doors/Door_solos_solos_1 |
| 936 | location_name: The Tenacious - Palindromes | 943 | location_name: The Tenacious - Palindromes |
| 937 | group: Entrances to The Tenacious | 944 | door_group: Entrances to The Tenacious |
| 938 | panels: | 945 | panels: |
| 939 | - LEVEL (Black) | 946 | - LEVEL (Black) |
| 940 | - RACECAR (Black) | 947 | - RACECAR (Black) |
| @@ -965,7 +972,7 @@ | |||
| 965 | id: | 972 | id: |
| 966 | - Symmetry Room Area Doors/Door_near_far | 973 | - Symmetry Room Area Doors/Door_near_far |
| 967 | - Symmetry Room Area Doors/Door_far_near | 974 | - Symmetry Room Area Doors/Door_far_near |
| 968 | group: Symmetry Doors | 975 | door_group: Symmetry Doors |
| 969 | item_name: Symmetry Room - Near Far Door | 976 | item_name: Symmetry Room - Near Far Door |
| 970 | location_name: Symmetry Room - NEAR, FAR | 977 | location_name: Symmetry Room - NEAR, FAR |
| 971 | panels: | 978 | panels: |
| @@ -992,7 +999,7 @@ | |||
| 992 | id: | 999 | id: |
| 993 | - Symmetry Room Area Doors/Door_warts_straw | 1000 | - Symmetry Room Area Doors/Door_warts_straw |
| 994 | - Symmetry Room Area Doors/Door_straw_warts | 1001 | - Symmetry Room Area Doors/Door_straw_warts |
| 995 | group: Symmetry Doors | 1002 | door_group: Symmetry Doors |
| 996 | item_name: Symmetry Room - Warts Straw Door | 1003 | item_name: Symmetry Room - Warts Straw Door |
| 997 | location_name: Symmetry Room - WARTS, STRAW | 1004 | location_name: Symmetry Room - WARTS, STRAW |
| 998 | panels: | 1005 | panels: |
| @@ -1019,7 +1026,7 @@ | |||
| 1019 | id: | 1026 | id: |
| 1020 | - Symmetry Room Area Doors/Door_leaf_feel | 1027 | - Symmetry Room Area Doors/Door_leaf_feel |
| 1021 | - Symmetry Room Area Doors/Door_feel_leaf | 1028 | - Symmetry Room Area Doors/Door_feel_leaf |
| 1022 | group: Symmetry Doors | 1029 | door_group: Symmetry Doors |
| 1023 | item_name: Symmetry Room - Leaf Feel Door | 1030 | item_name: Symmetry Room - Leaf Feel Door |
| 1024 | location_name: Symmetry Room - LEAF, FEEL | 1031 | location_name: Symmetry Room - LEAF, FEEL |
| 1025 | panels: | 1032 | panels: |
| @@ -1156,34 +1163,37 @@ | |||
| 1156 | doors: | 1163 | doors: |
| 1157 | Tenacious Entrance: | 1164 | Tenacious Entrance: |
| 1158 | id: Palindrome Room Area Doors/Door_massacred_sacred | 1165 | id: Palindrome Room Area Doors/Door_massacred_sacred |
| 1159 | group: Entrances to The Tenacious | 1166 | door_group: Entrances to The Tenacious |
| 1167 | item_group: Achievement Room Entrances | ||
| 1160 | panels: | 1168 | panels: |
| 1161 | - MASSACRED | 1169 | - MASSACRED |
| 1162 | Black Door: | 1170 | Black Door: |
| 1163 | id: Symmetry Room Area Doors/Door_black_white | 1171 | id: Symmetry Room Area Doors/Door_black_white |
| 1164 | group: Entrances to The Tenacious | 1172 | door_group: Entrances to The Tenacious |
| 1165 | panels: | 1173 | panels: |
| 1166 | - BLACK | 1174 | - BLACK |
| 1167 | Agreeable Entrance: | 1175 | Agreeable Entrance: |
| 1168 | id: Symmetry Room Area Doors/Door_close_open | 1176 | id: Symmetry Room Area Doors/Door_close_open |
| 1169 | item_name: The Agreeable - Entrance | 1177 | item_name: The Agreeable - Entrance |
| 1178 | item_group: Achievement Room Entrances | ||
| 1170 | panels: | 1179 | panels: |
| 1171 | - CLOSE | 1180 | - CLOSE |
| 1172 | Painting Shortcut: | 1181 | Painting Shortcut: |
| 1173 | item_name: Starting Room - Street Painting | 1182 | item_name: Starting Room - Street Painting |
| 1183 | item_group: Paintings | ||
| 1174 | painting_id: eyes_yellow_painting2 | 1184 | painting_id: eyes_yellow_painting2 |
| 1175 | panels: | 1185 | panels: |
| 1176 | - RIGHT | 1186 | - RIGHT |
| 1177 | Purple Barrier: | 1187 | Purple Barrier: |
| 1178 | id: Color Arrow Room Doors/Door_purple_3 | 1188 | id: Color Arrow Room Doors/Door_purple_3 |
| 1179 | group: Color Hunt Barriers | 1189 | door_group: Color Hunt Barriers |
| 1180 | skip_location: True | 1190 | skip_location: True |
| 1181 | panels: | 1191 | panels: |
| 1182 | - room: Color Hunt | 1192 | - room: Color Hunt |
| 1183 | panel: PURPLE | 1193 | panel: PURPLE |
| 1184 | Hallway Door: | 1194 | Hallway Door: |
| 1185 | id: Red Blue Purple Room Area Doors/Door_room_2 | 1195 | id: Red Blue Purple Room Area Doors/Door_room_2 |
| 1186 | group: Hallway Room Doors | 1196 | door_group: Hallway Room Doors |
| 1187 | location_name: Hallway Room - First Room | 1197 | location_name: Hallway Room - First Room |
| 1188 | panels: | 1198 | panels: |
| 1189 | - WALL | 1199 | - WALL |
| @@ -1229,7 +1239,8 @@ | |||
| 1229 | doors: | 1239 | doors: |
| 1230 | Tenacious Entrance: | 1240 | Tenacious Entrance: |
| 1231 | id: Palindrome Room Area Doors/Door_dread_dead | 1241 | id: Palindrome Room Area Doors/Door_dread_dead |
| 1232 | group: Entrances to The Tenacious | 1242 | door_group: Entrances to The Tenacious |
| 1243 | item_group: Achievement Room Entrances | ||
| 1233 | panels: | 1244 | panels: |
| 1234 | - DREAD | 1245 | - DREAD |
| 1235 | The Agreeable: | 1246 | The Agreeable: |
| @@ -1298,7 +1309,8 @@ | |||
| 1298 | doors: | 1309 | doors: |
| 1299 | Shortcut to Hedge Maze: | 1310 | Shortcut to Hedge Maze: |
| 1300 | id: Symmetry Room Area Doors/Door_bye_hi | 1311 | id: Symmetry Room Area Doors/Door_bye_hi |
| 1301 | group: Hedge Maze Doors | 1312 | item_group: Achievement Room Entrances |
| 1313 | door_group: Hedge Maze Doors | ||
| 1302 | panels: | 1314 | panels: |
| 1303 | - BYE | 1315 | - BYE |
| 1304 | Hedge Maze: | 1316 | Hedge Maze: |
| @@ -1391,12 +1403,14 @@ | |||
| 1391 | Perceptive Entrance: | 1403 | Perceptive Entrance: |
| 1392 | id: Maze Area Doors/Door_maze_maze | 1404 | id: Maze Area Doors/Door_maze_maze |
| 1393 | item_name: The Perceptive - Entrance | 1405 | item_name: The Perceptive - Entrance |
| 1394 | group: Hedge Maze Doors | 1406 | door_group: Hedge Maze Doors |
| 1407 | item_group: Achievement Room Entrances | ||
| 1395 | panels: | 1408 | panels: |
| 1396 | - DOWN | 1409 | - DOWN |
| 1397 | Painting Shortcut: | 1410 | Painting Shortcut: |
| 1398 | painting_id: garden_painting_tower2 | 1411 | painting_id: garden_painting_tower2 |
| 1399 | item_name: Starting Room - Hedge Maze Painting | 1412 | item_name: Starting Room - Hedge Maze Painting |
| 1413 | item_group: Paintings | ||
| 1400 | skip_location: True | 1414 | skip_location: True |
| 1401 | panels: | 1415 | panels: |
| 1402 | - DOWN | 1416 | - DOWN |
| @@ -1407,7 +1421,8 @@ | |||
| 1407 | - Maze Area Doors/Door_look_room_3 | 1421 | - Maze Area Doors/Door_look_room_3 |
| 1408 | skip_location: True | 1422 | skip_location: True |
| 1409 | item_name: The Observant - Entrance | 1423 | item_name: The Observant - Entrance |
| 1410 | group: Observant Doors | 1424 | door_group: Observant Doors |
| 1425 | item_group: Achievement Room Entrances | ||
| 1411 | panels: | 1426 | panels: |
| 1412 | - room: The Perceptive | 1427 | - room: The Perceptive |
| 1413 | panel: GAZE | 1428 | panel: GAZE |
| @@ -1473,7 +1488,7 @@ | |||
| 1473 | Second Floor: | 1488 | Second Floor: |
| 1474 | id: Naps Room Doors/Door_hider_5 | 1489 | id: Naps Room Doors/Door_hider_5 |
| 1475 | location_name: The Fearless - First Floor Puzzles | 1490 | location_name: The Fearless - First Floor Puzzles |
| 1476 | group: Fearless Doors | 1491 | door_group: Fearless Doors |
| 1477 | panels: | 1492 | panels: |
| 1478 | - SPAN | 1493 | - SPAN |
| 1479 | - TEAM | 1494 | - TEAM |
| @@ -1525,7 +1540,7 @@ | |||
| 1525 | - Naps Room Doors/Door_hider_1b2 | 1540 | - Naps Room Doors/Door_hider_1b2 |
| 1526 | - Naps Room Doors/Door_hider_new1 | 1541 | - Naps Room Doors/Door_hider_new1 |
| 1527 | location_name: The Fearless - Second Floor Puzzles | 1542 | location_name: The Fearless - Second Floor Puzzles |
| 1528 | group: Fearless Doors | 1543 | door_group: Fearless Doors |
| 1529 | panels: | 1544 | panels: |
| 1530 | - NONE | 1545 | - NONE |
| 1531 | - SUM | 1546 | - SUM |
| @@ -1680,13 +1695,13 @@ | |||
| 1680 | doors: | 1695 | doors: |
| 1681 | Backside Door: | 1696 | Backside Door: |
| 1682 | id: Maze Area Doors/Door_backside | 1697 | id: Maze Area Doors/Door_backside |
| 1683 | group: Backside Doors | 1698 | door_group: Backside Doors |
| 1684 | panels: | 1699 | panels: |
| 1685 | - FOUR (1) | 1700 | - FOUR (1) |
| 1686 | - FOUR (2) | 1701 | - FOUR (2) |
| 1687 | Stairs: | 1702 | Stairs: |
| 1688 | id: Maze Area Doors/Door_stairs | 1703 | id: Maze Area Doors/Door_stairs |
| 1689 | group: Observant Doors | 1704 | door_group: Observant Doors |
| 1690 | panels: | 1705 | panels: |
| 1691 | - SIX | 1706 | - SIX |
| 1692 | The Incomparable: | 1707 | The Incomparable: |
| @@ -1764,7 +1779,7 @@ | |||
| 1764 | Eight Door: | 1779 | Eight Door: |
| 1765 | id: Red Blue Purple Room Area Doors/Door_a_strands | 1780 | id: Red Blue Purple Room Area Doors/Door_a_strands |
| 1766 | location_name: Giant Sevens | 1781 | location_name: Giant Sevens |
| 1767 | group: Observant Doors | 1782 | door_group: Observant Doors |
| 1768 | panels: | 1783 | panels: |
| 1769 | - I (Seven) | 1784 | - I (Seven) |
| 1770 | - room: Courtyard | 1785 | - room: Courtyard |
| @@ -1915,13 +1930,13 @@ | |||
| 1915 | doors: | 1930 | doors: |
| 1916 | Shortcut to Hub Room: | 1931 | Shortcut to Hub Room: |
| 1917 | id: Shuffle Room Area Doors/Door_secret_secret | 1932 | id: Shuffle Room Area Doors/Door_secret_secret |
| 1918 | group: Orange Tower First Floor - Shortcuts | 1933 | door_group: Orange Tower First Floor - Shortcuts |
| 1919 | panels: | 1934 | panels: |
| 1920 | - SECRET | 1935 | - SECRET |
| 1921 | Salt Pepper Door: | 1936 | Salt Pepper Door: |
| 1922 | id: Count Up Room Area Doors/Door_salt_pepper | 1937 | id: Count Up Room Area Doors/Door_salt_pepper |
| 1923 | location_name: Orange Tower First Floor - Salt Pepper Door | 1938 | location_name: Orange Tower First Floor - Salt Pepper Door |
| 1924 | group: Orange Tower First Floor - Shortcuts | 1939 | door_group: Orange Tower First Floor - Shortcuts |
| 1925 | panels: | 1940 | panels: |
| 1926 | - SALT | 1941 | - SALT |
| 1927 | - room: Directional Gallery | 1942 | - room: Directional Gallery |
| @@ -1967,7 +1982,7 @@ | |||
| 1967 | doors: | 1982 | doors: |
| 1968 | Red Barrier: | 1983 | Red Barrier: |
| 1969 | id: Color Arrow Room Doors/Door_red_6 | 1984 | id: Color Arrow Room Doors/Door_red_6 |
| 1970 | group: Color Hunt Barriers | 1985 | door_group: Color Hunt Barriers |
| 1971 | skip_location: True | 1986 | skip_location: True |
| 1972 | panels: | 1987 | panels: |
| 1973 | - room: Color Hunt | 1988 | - room: Color Hunt |
| @@ -1975,7 +1990,7 @@ | |||
| 1975 | Rhyme Room Entrance: | 1990 | Rhyme Room Entrance: |
| 1976 | id: Double Room Area Doors/Door_room_entry_stairs2 | 1991 | id: Double Room Area Doors/Door_room_entry_stairs2 |
| 1977 | skip_location: True | 1992 | skip_location: True |
| 1978 | group: Rhyme Room Doors | 1993 | door_group: Rhyme Room Doors |
| 1979 | panels: | 1994 | panels: |
| 1980 | - room: The Tenacious | 1995 | - room: The Tenacious |
| 1981 | panel: LEVEL (Black) | 1996 | panel: LEVEL (Black) |
| @@ -1989,7 +2004,7 @@ | |||
| 1989 | - Color Arrow Room Doors/Door_orange_hider_2 | 2004 | - Color Arrow Room Doors/Door_orange_hider_2 |
| 1990 | - Color Arrow Room Doors/Door_orange_hider_3 | 2005 | - Color Arrow Room Doors/Door_orange_hider_3 |
| 1991 | location_name: Color Barriers - RED and YELLOW | 2006 | location_name: Color Barriers - RED and YELLOW |
| 1992 | group: Color Hunt Barriers | 2007 | door_group: Color Hunt Barriers |
| 1993 | item_name: Color Hunt - Orange Barrier | 2008 | item_name: Color Hunt - Orange Barrier |
| 1994 | panels: | 2009 | panels: |
| 1995 | - RED | 2010 | - RED |
| @@ -2150,7 +2165,7 @@ | |||
| 2150 | doors: | 2165 | doors: |
| 2151 | Welcome Back: | 2166 | Welcome Back: |
| 2152 | id: Entry Room Area Doors/Door_sizes | 2167 | id: Entry Room Area Doors/Door_sizes |
| 2153 | group: Welcome Back Doors | 2168 | door_group: Welcome Back Doors |
| 2154 | panels: | 2169 | panels: |
| 2155 | - SIZE (Small) | 2170 | - SIZE (Small) |
| 2156 | - SIZE (Big) | 2171 | - SIZE (Big) |
| @@ -2404,6 +2419,7 @@ | |||
| 2404 | Painting Shortcut: | 2419 | Painting Shortcut: |
| 2405 | painting_id: flower_painting_8 | 2420 | painting_id: flower_painting_8 |
| 2406 | item_name: Starting Room - Flower Painting | 2421 | item_name: Starting Room - Flower Painting |
| 2422 | item_group: Paintings | ||
| 2407 | skip_location: True | 2423 | skip_location: True |
| 2408 | panels: | 2424 | panels: |
| 2409 | - room: First Second Third Fourth | 2425 | - room: First Second Third Fourth |
| @@ -2416,7 +2432,7 @@ | |||
| 2416 | panel: FOURTH | 2432 | panel: FOURTH |
| 2417 | Green Barrier: | 2433 | Green Barrier: |
| 2418 | id: Color Arrow Room Doors/Door_green_5 | 2434 | id: Color Arrow Room Doors/Door_green_5 |
| 2419 | group: Color Hunt Barriers | 2435 | door_group: Color Hunt Barriers |
| 2420 | skip_location: True | 2436 | skip_location: True |
| 2421 | panels: | 2437 | panels: |
| 2422 | - room: Color Hunt | 2438 | - room: Color Hunt |
| @@ -2470,7 +2486,7 @@ | |||
| 2470 | doors: | 2486 | doors: |
| 2471 | Backside Door: | 2487 | Backside Door: |
| 2472 | id: Count Up Room Area Doors/Door_yellow_backside | 2488 | id: Count Up Room Area Doors/Door_yellow_backside |
| 2473 | group: Backside Doors | 2489 | door_group: Backside Doors |
| 2474 | location_name: Courtyard - FIRST, SECOND, THIRD, FOURTH | 2490 | location_name: Courtyard - FIRST, SECOND, THIRD, FOURTH |
| 2475 | item_name: Courtyard - Backside Door | 2491 | item_name: Courtyard - Backside Door |
| 2476 | panels: | 2492 | panels: |
| @@ -2491,7 +2507,7 @@ | |||
| 2491 | Progress Door: | 2507 | Progress Door: |
| 2492 | id: Doorway Room Doors/Door_white | 2508 | id: Doorway Room Doors/Door_white |
| 2493 | item_name: The Colorful - White Door | 2509 | item_name: The Colorful - White Door |
| 2494 | group: Colorful Doors | 2510 | door_group: Colorful Doors |
| 2495 | location_name: The Colorful - White | 2511 | location_name: The Colorful - White |
| 2496 | panels: | 2512 | panels: |
| 2497 | - BEGIN | 2513 | - BEGIN |
| @@ -2512,7 +2528,7 @@ | |||
| 2512 | id: Doorway Room Doors/Door_black | 2528 | id: Doorway Room Doors/Door_black |
| 2513 | item_name: The Colorful - Black Door | 2529 | item_name: The Colorful - Black Door |
| 2514 | location_name: The Colorful - Black | 2530 | location_name: The Colorful - Black |
| 2515 | group: Colorful Doors | 2531 | door_group: Colorful Doors |
| 2516 | panels: | 2532 | panels: |
| 2517 | - FOUND | 2533 | - FOUND |
| 2518 | The Colorful (Red): | 2534 | The Colorful (Red): |
| @@ -2532,7 +2548,7 @@ | |||
| 2532 | id: Doorway Room Doors/Door_red | 2548 | id: Doorway Room Doors/Door_red |
| 2533 | item_name: The Colorful - Red Door | 2549 | item_name: The Colorful - Red Door |
| 2534 | location_name: The Colorful - Red | 2550 | location_name: The Colorful - Red |
| 2535 | group: Colorful Doors | 2551 | door_group: Colorful Doors |
| 2536 | panels: | 2552 | panels: |
| 2537 | - LOAF | 2553 | - LOAF |
| 2538 | The Colorful (Yellow): | 2554 | The Colorful (Yellow): |
| @@ -2552,7 +2568,7 @@ | |||
| 2552 | id: Doorway Room Doors/Door_yellow | 2568 | id: Doorway Room Doors/Door_yellow |
| 2553 | item_name: The Colorful - Yellow Door | 2569 | item_name: The Colorful - Yellow Door |
| 2554 | location_name: The Colorful - Yellow | 2570 | location_name: The Colorful - Yellow |
| 2555 | group: Colorful Doors | 2571 | door_group: Colorful Doors |
| 2556 | panels: | 2572 | panels: |
| 2557 | - CREAM | 2573 | - CREAM |
| 2558 | The Colorful (Blue): | 2574 | The Colorful (Blue): |
| @@ -2572,7 +2588,7 @@ | |||
| 2572 | id: Doorway Room Doors/Door_blue | 2588 | id: Doorway Room Doors/Door_blue |
| 2573 | item_name: The Colorful - Blue Door | 2589 | item_name: The Colorful - Blue Door |
| 2574 | location_name: The Colorful - Blue | 2590 | location_name: The Colorful - Blue |
| 2575 | group: Colorful Doors | 2591 | door_group: Colorful Doors |
| 2576 | panels: | 2592 | panels: |
| 2577 | - SUN | 2593 | - SUN |
| 2578 | The Colorful (Purple): | 2594 | The Colorful (Purple): |
| @@ -2592,7 +2608,7 @@ | |||
| 2592 | id: Doorway Room Doors/Door_purple | 2608 | id: Doorway Room Doors/Door_purple |
| 2593 | item_name: The Colorful - Purple Door | 2609 | item_name: The Colorful - Purple Door |
| 2594 | location_name: The Colorful - Purple | 2610 | location_name: The Colorful - Purple |
| 2595 | group: Colorful Doors | 2611 | door_group: Colorful Doors |
| 2596 | panels: | 2612 | panels: |
| 2597 | - SPOON | 2613 | - SPOON |
| 2598 | The Colorful (Orange): | 2614 | The Colorful (Orange): |
| @@ -2612,7 +2628,7 @@ | |||
| 2612 | id: Doorway Room Doors/Door_orange | 2628 | id: Doorway Room Doors/Door_orange |
| 2613 | item_name: The Colorful - Orange Door | 2629 | item_name: The Colorful - Orange Door |
| 2614 | location_name: The Colorful - Orange | 2630 | location_name: The Colorful - Orange |
| 2615 | group: Colorful Doors | 2631 | door_group: Colorful Doors |
| 2616 | panels: | 2632 | panels: |
| 2617 | - LETTERS | 2633 | - LETTERS |
| 2618 | The Colorful (Green): | 2634 | The Colorful (Green): |
| @@ -2632,7 +2648,7 @@ | |||
| 2632 | id: Doorway Room Doors/Door_green | 2648 | id: Doorway Room Doors/Door_green |
| 2633 | item_name: The Colorful - Green Door | 2649 | item_name: The Colorful - Green Door |
| 2634 | location_name: The Colorful - Green | 2650 | location_name: The Colorful - Green |
| 2635 | group: Colorful Doors | 2651 | door_group: Colorful Doors |
| 2636 | panels: | 2652 | panels: |
| 2637 | - WALLS | 2653 | - WALLS |
| 2638 | The Colorful (Brown): | 2654 | The Colorful (Brown): |
| @@ -2652,7 +2668,7 @@ | |||
| 2652 | id: Doorway Room Doors/Door_brown | 2668 | id: Doorway Room Doors/Door_brown |
| 2653 | item_name: The Colorful - Brown Door | 2669 | item_name: The Colorful - Brown Door |
| 2654 | location_name: The Colorful - Brown | 2670 | location_name: The Colorful - Brown |
| 2655 | group: Colorful Doors | 2671 | door_group: Colorful Doors |
| 2656 | panels: | 2672 | panels: |
| 2657 | - IRON | 2673 | - IRON |
| 2658 | The Colorful (Gray): | 2674 | The Colorful (Gray): |
| @@ -2672,7 +2688,7 @@ | |||
| 2672 | id: Doorway Room Doors/Door_gray | 2688 | id: Doorway Room Doors/Door_gray |
| 2673 | item_name: The Colorful - Gray Door | 2689 | item_name: The Colorful - Gray Door |
| 2674 | location_name: The Colorful - Gray | 2690 | location_name: The Colorful - Gray |
| 2675 | group: Colorful Doors | 2691 | door_group: Colorful Doors |
| 2676 | panels: | 2692 | panels: |
| 2677 | - OBSTACLE | 2693 | - OBSTACLE |
| 2678 | The Colorful: | 2694 | The Colorful: |
| @@ -2768,7 +2784,7 @@ | |||
| 2768 | doors: | 2784 | doors: |
| 2769 | Shortcut to Starting Room: | 2785 | Shortcut to Starting Room: |
| 2770 | id: Entry Room Area Doors/Door_return_return | 2786 | id: Entry Room Area Doors/Door_return_return |
| 2771 | group: Welcome Back Doors | 2787 | door_group: Welcome Back Doors |
| 2772 | include_reduce: True | 2788 | include_reduce: True |
| 2773 | panels: | 2789 | panels: |
| 2774 | - WELCOME BACK | 2790 | - WELCOME BACK |
| @@ -2793,7 +2809,7 @@ | |||
| 2793 | doors: | 2809 | doors: |
| 2794 | Shortcut to Hedge Maze: | 2810 | Shortcut to Hedge Maze: |
| 2795 | id: Maze Area Doors/Door_strays_maze | 2811 | id: Maze Area Doors/Door_strays_maze |
| 2796 | group: Hedge Maze Doors | 2812 | door_group: Hedge Maze Doors |
| 2797 | panels: | 2813 | panels: |
| 2798 | - STRAYS | 2814 | - STRAYS |
| 2799 | paintings: | 2815 | paintings: |
| @@ -2916,14 +2932,14 @@ | |||
| 2916 | - UNCOVER | 2932 | - UNCOVER |
| 2917 | Blue Barrier: | 2933 | Blue Barrier: |
| 2918 | id: Color Arrow Room Doors/Door_blue_3 | 2934 | id: Color Arrow Room Doors/Door_blue_3 |
| 2919 | group: Color Hunt Barriers | 2935 | door_group: Color Hunt Barriers |
| 2920 | skip_location: True | 2936 | skip_location: True |
| 2921 | panels: | 2937 | panels: |
| 2922 | - room: Color Hunt | 2938 | - room: Color Hunt |
| 2923 | panel: BLUE | 2939 | panel: BLUE |
| 2924 | Orange Barrier: | 2940 | Orange Barrier: |
| 2925 | id: Color Arrow Room Doors/Door_orange_3 | 2941 | id: Color Arrow Room Doors/Door_orange_3 |
| 2926 | group: Color Hunt Barriers | 2942 | door_group: Color Hunt Barriers |
| 2927 | skip_location: True | 2943 | skip_location: True |
| 2928 | panels: | 2944 | panels: |
| 2929 | - room: Color Hunt | 2945 | - room: Color Hunt |
| @@ -2931,6 +2947,7 @@ | |||
| 2931 | Initiated Entrance: | 2947 | Initiated Entrance: |
| 2932 | id: Red Blue Purple Room Area Doors/Door_locked_knocked | 2948 | id: Red Blue Purple Room Area Doors/Door_locked_knocked |
| 2933 | item_name: The Initiated - Entrance | 2949 | item_name: The Initiated - Entrance |
| 2950 | item_group: Achievement Room Entrances | ||
| 2934 | panels: | 2951 | panels: |
| 2935 | - OXEN | 2952 | - OXEN |
| 2936 | # These would be more appropriate in Champion's Rest, but as currently | 2953 | # These would be more appropriate in Champion's Rest, but as currently |
| @@ -2940,7 +2957,7 @@ | |||
| 2940 | id: Color Arrow Room Doors/Door_green_hider_1 | 2957 | id: Color Arrow Room Doors/Door_green_hider_1 |
| 2941 | location_name: Color Barriers - BLUE and YELLOW | 2958 | location_name: Color Barriers - BLUE and YELLOW |
| 2942 | item_name: Color Hunt - Green Barrier | 2959 | item_name: Color Hunt - Green Barrier |
| 2943 | group: Color Hunt Barriers | 2960 | door_group: Color Hunt Barriers |
| 2944 | panels: | 2961 | panels: |
| 2945 | - BLUE | 2962 | - BLUE |
| 2946 | - room: Directional Gallery | 2963 | - room: Directional Gallery |
| @@ -2952,7 +2969,7 @@ | |||
| 2952 | - Color Arrow Room Doors/Door_purple_hider_3 | 2969 | - Color Arrow Room Doors/Door_purple_hider_3 |
| 2953 | location_name: Color Barriers - RED and BLUE | 2970 | location_name: Color Barriers - RED and BLUE |
| 2954 | item_name: Color Hunt - Purple Barrier | 2971 | item_name: Color Hunt - Purple Barrier |
| 2955 | group: Color Hunt Barriers | 2972 | door_group: Color Hunt Barriers |
| 2956 | panels: | 2973 | panels: |
| 2957 | - BLUE | 2974 | - BLUE |
| 2958 | - room: Orange Tower Third Floor | 2975 | - room: Orange Tower Third Floor |
| @@ -2972,6 +2989,7 @@ | |||
| 2972 | panel: PURPLE | 2989 | panel: PURPLE |
| 2973 | Eight Door: | 2990 | Eight Door: |
| 2974 | id: Red Blue Purple Room Area Doors/Door_a_strands2 | 2991 | id: Red Blue Purple Room Area Doors/Door_a_strands2 |
| 2992 | item_group: Achievement Room Entrances | ||
| 2975 | skip_location: True | 2993 | skip_location: True |
| 2976 | panels: | 2994 | panels: |
| 2977 | - room: The Incomparable | 2995 | - room: The Incomparable |
| @@ -3189,7 +3207,8 @@ | |||
| 3189 | doors: | 3207 | doors: |
| 3190 | Color Hallways Entrance: | 3208 | Color Hallways Entrance: |
| 3191 | id: Appendix Room Area Doors/Door_hello_hi | 3209 | id: Appendix Room Area Doors/Door_hello_hi |
| 3192 | group: Entrance to The Traveled | 3210 | door_group: Entrance to The Traveled |
| 3211 | item_group: Achievement Room Entrances | ||
| 3193 | panels: | 3212 | panels: |
| 3194 | - HELLO | 3213 | - HELLO |
| 3195 | Color Hallways: | 3214 | Color Hallways: |
| @@ -3305,17 +3324,20 @@ | |||
| 3305 | Bold Entrance: | 3324 | Bold Entrance: |
| 3306 | id: Red Blue Purple Room Area Doors/Door_unopened_open | 3325 | id: Red Blue Purple Room Area Doors/Door_unopened_open |
| 3307 | item_name: The Bold - Entrance | 3326 | item_name: The Bold - Entrance |
| 3327 | item_group: Achievement Room Entrances | ||
| 3308 | panels: | 3328 | panels: |
| 3309 | - UNOPEN | 3329 | - UNOPEN |
| 3310 | Painting Shortcut: | 3330 | Painting Shortcut: |
| 3311 | painting_id: pencil_painting6 | 3331 | painting_id: pencil_painting6 |
| 3312 | skip_location: True | 3332 | skip_location: True |
| 3313 | item_name: Starting Room - Pencil Painting | 3333 | item_name: Starting Room - Pencil Painting |
| 3334 | item_group: Paintings | ||
| 3314 | panels: | 3335 | panels: |
| 3315 | - UNOPEN | 3336 | - UNOPEN |
| 3316 | Steady Entrance: | 3337 | Steady Entrance: |
| 3317 | id: Rock Room Doors/Door_2 | 3338 | id: Rock Room Doors/Door_2 |
| 3318 | item_name: The Steady - Entrance | 3339 | item_name: The Steady - Entrance |
| 3340 | item_group: Achievement Room Entrances | ||
| 3319 | panels: | 3341 | panels: |
| 3320 | - BEGIN | 3342 | - BEGIN |
| 3321 | Lilac Entrance: | 3343 | Lilac Entrance: |
| @@ -3536,6 +3558,7 @@ | |||
| 3536 | Undeterred Entrance: | 3558 | Undeterred Entrance: |
| 3537 | id: Red Blue Purple Room Area Doors/Door_pen_open | 3559 | id: Red Blue Purple Room Area Doors/Door_pen_open |
| 3538 | item_name: The Undeterred - Entrance | 3560 | item_name: The Undeterred - Entrance |
| 3561 | item_group: Achievement Room Entrances | ||
| 3539 | panels: | 3562 | panels: |
| 3540 | - PEN | 3563 | - PEN |
| 3541 | Painting Shortcut: | 3564 | Painting Shortcut: |
| @@ -3544,11 +3567,13 @@ | |||
| 3544 | - arrows_painting3 | 3567 | - arrows_painting3 |
| 3545 | skip_location: True | 3568 | skip_location: True |
| 3546 | item_name: Starting Room - Blue Painting | 3569 | item_name: Starting Room - Blue Painting |
| 3570 | item_group: Paintings | ||
| 3547 | panels: | 3571 | panels: |
| 3548 | - PEN | 3572 | - PEN |
| 3549 | Green Painting: | 3573 | Green Painting: |
| 3550 | painting_id: maze_painting_3 | 3574 | painting_id: maze_painting_3 |
| 3551 | skip_location: True | 3575 | skip_location: True |
| 3576 | item_group: Paintings | ||
| 3552 | panels: | 3577 | panels: |
| 3553 | - FOUR | 3578 | - FOUR |
| 3554 | Twos: | 3579 | Twos: |
| @@ -3556,6 +3581,7 @@ | |||
| 3556 | - Count Up Room Area Doors/Door_two_hider | 3581 | - Count Up Room Area Doors/Door_two_hider |
| 3557 | - Count Up Room Area Doors/Door_two_hider_2 | 3582 | - Count Up Room Area Doors/Door_two_hider_2 |
| 3558 | include_reduce: True | 3583 | include_reduce: True |
| 3584 | item_group: Numbers | ||
| 3559 | panels: | 3585 | panels: |
| 3560 | - ONE | 3586 | - ONE |
| 3561 | Threes: | 3587 | Threes: |
| @@ -3565,6 +3591,7 @@ | |||
| 3565 | - Count Up Room Area Doors/Door_three_hider_3 | 3591 | - Count Up Room Area Doors/Door_three_hider_3 |
| 3566 | location_name: Twos | 3592 | location_name: Twos |
| 3567 | include_reduce: True | 3593 | include_reduce: True |
| 3594 | item_group: Numbers | ||
| 3568 | panels: | 3595 | panels: |
| 3569 | - TWO (1) | 3596 | - TWO (1) |
| 3570 | - TWO (2) | 3597 | - TWO (2) |
| @@ -3583,6 +3610,7 @@ | |||
| 3583 | - Count Up Room Area Doors/Door_four_hider_3 | 3610 | - Count Up Room Area Doors/Door_four_hider_3 |
| 3584 | - Count Up Room Area Doors/Door_four_hider_4 | 3611 | - Count Up Room Area Doors/Door_four_hider_4 |
| 3585 | skip_location: True | 3612 | skip_location: True |
| 3613 | item_group: Numbers | ||
| 3586 | panels: | 3614 | panels: |
| 3587 | - THREE (1) | 3615 | - THREE (1) |
| 3588 | - THREE (2) | 3616 | - THREE (2) |
| @@ -3594,6 +3622,7 @@ | |||
| 3594 | - Count Up Room Area Doors/Door_five_hider_5 | 3622 | - Count Up Room Area Doors/Door_five_hider_5 |
| 3595 | location_name: Fours | 3623 | location_name: Fours |
| 3596 | item_name: Number Hunt - Fives | 3624 | item_name: Number Hunt - Fives |
| 3625 | item_group: Numbers | ||
| 3597 | include_reduce: True | 3626 | include_reduce: True |
| 3598 | panels: | 3627 | panels: |
| 3599 | - FOUR | 3628 | - FOUR |
| @@ -3606,6 +3635,7 @@ | |||
| 3606 | Challenge Entrance: | 3635 | Challenge Entrance: |
| 3607 | id: Count Up Room Area Doors/Door_zero_unlocked | 3636 | id: Count Up Room Area Doors/Door_zero_unlocked |
| 3608 | item_name: Number Hunt - Challenge Entrance | 3637 | item_name: Number Hunt - Challenge Entrance |
| 3638 | item_group: Achievement Room Entrances | ||
| 3609 | panels: | 3639 | panels: |
| 3610 | - ZERO | 3640 | - ZERO |
| 3611 | paintings: | 3641 | paintings: |
| @@ -3752,7 +3782,7 @@ | |||
| 3752 | doors: | 3782 | doors: |
| 3753 | Door to Directional Gallery: | 3783 | Door to Directional Gallery: |
| 3754 | id: Count Up Room Area Doors/Door_five_unlocked | 3784 | id: Count Up Room Area Doors/Door_five_unlocked |
| 3755 | group: Directional Gallery Doors | 3785 | door_group: Directional Gallery Doors |
| 3756 | skip_location: True | 3786 | skip_location: True |
| 3757 | panels: | 3787 | panels: |
| 3758 | - FIVE | 3788 | - FIVE |
| @@ -3766,6 +3796,7 @@ | |||
| 3766 | - Count Up Room Area Doors/Door_six_hider_6 | 3796 | - Count Up Room Area Doors/Door_six_hider_6 |
| 3767 | painting_id: pencil_painting3 # See note in Outside The Bold | 3797 | painting_id: pencil_painting3 # See note in Outside The Bold |
| 3768 | location_name: Fives | 3798 | location_name: Fives |
| 3799 | item_group: Numbers | ||
| 3769 | include_reduce: True | 3800 | include_reduce: True |
| 3770 | panels: | 3801 | panels: |
| 3771 | - FIVE | 3802 | - FIVE |
| @@ -3788,6 +3819,7 @@ | |||
| 3788 | - Count Up Room Area Doors/Door_seven_hider_6 | 3819 | - Count Up Room Area Doors/Door_seven_hider_6 |
| 3789 | - Count Up Room Area Doors/Door_seven_hider_7 | 3820 | - Count Up Room Area Doors/Door_seven_hider_7 |
| 3790 | location_name: Sixes | 3821 | location_name: Sixes |
| 3822 | item_group: Numbers | ||
| 3791 | include_reduce: True | 3823 | include_reduce: True |
| 3792 | panels: | 3824 | panels: |
| 3793 | - SIX | 3825 | - SIX |
| @@ -3813,6 +3845,7 @@ | |||
| 3813 | - Count Up Room Area Doors/Door_eight_hider_7 | 3845 | - Count Up Room Area Doors/Door_eight_hider_7 |
| 3814 | - Count Up Room Area Doors/Door_eight_hider_8 | 3846 | - Count Up Room Area Doors/Door_eight_hider_8 |
| 3815 | location_name: Sevens | 3847 | location_name: Sevens |
| 3848 | item_group: Numbers | ||
| 3816 | include_reduce: True | 3849 | include_reduce: True |
| 3817 | panels: | 3850 | panels: |
| 3818 | - SEVEN | 3851 | - SEVEN |
| @@ -3840,6 +3873,7 @@ | |||
| 3840 | - Count Up Room Area Doors/Door_nine_hider_8 | 3873 | - Count Up Room Area Doors/Door_nine_hider_8 |
| 3841 | - Count Up Room Area Doors/Door_nine_hider_9 | 3874 | - Count Up Room Area Doors/Door_nine_hider_9 |
| 3842 | location_name: Eights | 3875 | location_name: Eights |
| 3876 | item_group: Numbers | ||
| 3843 | include_reduce: True | 3877 | include_reduce: True |
| 3844 | panels: | 3878 | panels: |
| 3845 | - EIGHT | 3879 | - EIGHT |
| @@ -3862,6 +3896,7 @@ | |||
| 3862 | id: Count Up Room Area Doors/Door_zero_hider_2 | 3896 | id: Count Up Room Area Doors/Door_zero_hider_2 |
| 3863 | location_name: Nines | 3897 | location_name: Nines |
| 3864 | item_name: Outside The Undeterred - Zero Door | 3898 | item_name: Outside The Undeterred - Zero Door |
| 3899 | item_group: Numbers | ||
| 3865 | include_reduce: True | 3900 | include_reduce: True |
| 3866 | panels: | 3901 | panels: |
| 3867 | - NINE | 3902 | - NINE |
| @@ -4030,13 +4065,13 @@ | |||
| 4030 | doors: | 4065 | doors: |
| 4031 | Shortcut to The Undeterred: | 4066 | Shortcut to The Undeterred: |
| 4032 | id: Count Up Room Area Doors/Door_return_double | 4067 | id: Count Up Room Area Doors/Door_return_double |
| 4033 | group: Directional Gallery Doors | 4068 | door_group: Directional Gallery Doors |
| 4034 | panels: | 4069 | panels: |
| 4035 | - TURN | 4070 | - TURN |
| 4036 | - LEARN | 4071 | - LEARN |
| 4037 | Yellow Barrier: | 4072 | Yellow Barrier: |
| 4038 | id: Color Arrow Room Doors/Door_yellow_4 | 4073 | id: Color Arrow Room Doors/Door_yellow_4 |
| 4039 | group: Color Hunt Barriers | 4074 | door_group: Color Hunt Barriers |
| 4040 | skip_location: True | 4075 | skip_location: True |
| 4041 | panels: | 4076 | panels: |
| 4042 | - room: Color Hunt | 4077 | - room: Color Hunt |
| @@ -4231,11 +4266,12 @@ | |||
| 4231 | doors: | 4266 | doors: |
| 4232 | Entrance: | 4267 | Entrance: |
| 4233 | id: Red Blue Purple Room Area Doors/Door_middle_middle | 4268 | id: Red Blue Purple Room Area Doors/Door_middle_middle |
| 4269 | item_group: Achievement Room Entrances | ||
| 4234 | panels: | 4270 | panels: |
| 4235 | - MIDDLE | 4271 | - MIDDLE |
| 4236 | Backside Door: | 4272 | Backside Door: |
| 4237 | id: Red Blue Purple Room Area Doors/Door_locked_knocked2 # yeah... | 4273 | id: Red Blue Purple Room Area Doors/Door_locked_knocked2 # yeah... |
| 4238 | group: Backside Doors | 4274 | door_group: Backside Doors |
| 4239 | panels: | 4275 | panels: |
| 4240 | - FARTHER | 4276 | - FARTHER |
| 4241 | East Entrance: | 4277 | East Entrance: |
| @@ -5223,7 +5259,7 @@ | |||
| 5223 | - Ceiling Room Doors/Door_blue | 5259 | - Ceiling Room Doors/Door_blue |
| 5224 | - Ceiling Room Doors/Door_blue2 | 5260 | - Ceiling Room Doors/Door_blue2 |
| 5225 | location_name: The Artistic - Smiley and Panda | 5261 | location_name: The Artistic - Smiley and Panda |
| 5226 | group: Artistic Doors | 5262 | door_group: Artistic Doors |
| 5227 | panels: | 5263 | panels: |
| 5228 | - FINE | 5264 | - FINE |
| 5229 | - BLADE | 5265 | - BLADE |
| @@ -5333,7 +5369,7 @@ | |||
| 5333 | - Ceiling Room Doors/Door_red | 5369 | - Ceiling Room Doors/Door_red |
| 5334 | - Ceiling Room Doors/Door_red2 | 5370 | - Ceiling Room Doors/Door_red2 |
| 5335 | location_name: The Artistic - Panda and Lattice | 5371 | location_name: The Artistic - Panda and Lattice |
| 5336 | group: Artistic Doors | 5372 | door_group: Artistic Doors |
| 5337 | panels: | 5373 | panels: |
| 5338 | - EYE (Top) | 5374 | - EYE (Top) |
| 5339 | - EYE (Bottom) | 5375 | - EYE (Bottom) |
| @@ -5444,7 +5480,7 @@ | |||
| 5444 | - Ceiling Room Doors/Door_black | 5480 | - Ceiling Room Doors/Door_black |
| 5445 | - Ceiling Room Doors/Door_black2 | 5481 | - Ceiling Room Doors/Door_black2 |
| 5446 | location_name: The Artistic - Lattice and Apple | 5482 | location_name: The Artistic - Lattice and Apple |
| 5447 | group: Artistic Doors | 5483 | door_group: Artistic Doors |
| 5448 | panels: | 5484 | panels: |
| 5449 | - POSH | 5485 | - POSH |
| 5450 | - MALL | 5486 | - MALL |
| @@ -5557,7 +5593,7 @@ | |||
| 5557 | - Ceiling Room Doors/Door_yellow | 5593 | - Ceiling Room Doors/Door_yellow |
| 5558 | - Ceiling Room Doors/Door_yellow2 | 5594 | - Ceiling Room Doors/Door_yellow2 |
| 5559 | location_name: The Artistic - Apple and Smiley | 5595 | location_name: The Artistic - Apple and Smiley |
| 5560 | group: Artistic Doors | 5596 | door_group: Artistic Doors |
| 5561 | panels: | 5597 | panels: |
| 5562 | - SPRIG | 5598 | - SPRIG |
| 5563 | - RELEASES | 5599 | - RELEASES |
| @@ -5721,7 +5757,7 @@ | |||
| 5721 | doors: | 5757 | doors: |
| 5722 | Exit: | 5758 | Exit: |
| 5723 | id: Count Up Room Area Doors/Door_near_near | 5759 | id: Count Up Room Area Doors/Door_near_near |
| 5724 | group: Crossroads Doors | 5760 | door_group: Crossroads Doors |
| 5725 | panels: | 5761 | panels: |
| 5726 | - NEAR | 5762 | - NEAR |
| 5727 | paintings: | 5763 | paintings: |
| @@ -5762,6 +5798,7 @@ | |||
| 5762 | Wondrous Entrance: | 5798 | Wondrous Entrance: |
| 5763 | id: Red Blue Purple Room Area Doors/Door_wonderland | 5799 | id: Red Blue Purple Room Area Doors/Door_wonderland |
| 5764 | item_name: The Wondrous - Entrance | 5800 | item_name: The Wondrous - Entrance |
| 5801 | item_group: Achievement Room Entrances | ||
| 5765 | panels: | 5802 | panels: |
| 5766 | - SHRINK | 5803 | - SHRINK |
| 5767 | The Wondrous (Doorknob): | 5804 | The Wondrous (Doorknob): |
| @@ -5782,6 +5819,7 @@ | |||
| 5782 | - arrows_painting2 | 5819 | - arrows_painting2 |
| 5783 | skip_location: True | 5820 | skip_location: True |
| 5784 | item_name: Starting Room - Symmetry Painting | 5821 | item_name: Starting Room - Symmetry Painting |
| 5822 | item_group: Paintings | ||
| 5785 | panels: | 5823 | panels: |
| 5786 | - room: Outside The Wondrous | 5824 | - room: Outside The Wondrous |
| 5787 | panel: SHRINK | 5825 | panel: SHRINK |
| @@ -5886,6 +5924,7 @@ | |||
| 5886 | doors: | 5924 | doors: |
| 5887 | Exit: | 5925 | Exit: |
| 5888 | id: Red Blue Purple Room Area Doors/Door_wonderland_exit | 5926 | id: Red Blue Purple Room Area Doors/Door_wonderland_exit |
| 5927 | item_group: Paintings | ||
| 5889 | painting_id: arrows_painting_9 | 5928 | painting_id: arrows_painting_9 |
| 5890 | include_reduce: True | 5929 | include_reduce: True |
| 5891 | panels: | 5930 | panels: |
| @@ -5955,7 +5994,7 @@ | |||
| 5955 | Exit: | 5994 | Exit: |
| 5956 | id: Red Blue Purple Room Area Doors/Door_room_3 | 5995 | id: Red Blue Purple Room Area Doors/Door_room_3 |
| 5957 | location_name: Hallway Room - Second Room | 5996 | location_name: Hallway Room - Second Room |
| 5958 | group: Hallway Room Doors | 5997 | door_group: Hallway Room Doors |
| 5959 | panels: | 5998 | panels: |
| 5960 | - WISE | 5999 | - WISE |
| 5961 | - CLOCK | 6000 | - CLOCK |
| @@ -5992,7 +6031,7 @@ | |||
| 5992 | Exit: | 6031 | Exit: |
| 5993 | id: Red Blue Purple Room Area Doors/Door_room_4 | 6032 | id: Red Blue Purple Room Area Doors/Door_room_4 |
| 5994 | location_name: Hallway Room - Third Room | 6033 | location_name: Hallway Room - Third Room |
| 5995 | group: Hallway Room Doors | 6034 | door_group: Hallway Room Doors |
| 5996 | panels: | 6035 | panels: |
| 5997 | - TRANCE | 6036 | - TRANCE |
| 5998 | - FORM | 6037 | - FORM |
| @@ -6014,7 +6053,7 @@ | |||
| 6014 | id: | 6053 | id: |
| 6015 | - Red Blue Purple Room Area Doors/Door_room_5 | 6054 | - Red Blue Purple Room Area Doors/Door_room_5 |
| 6016 | - Red Blue Purple Room Area Doors/Door_room_6 # this is the connection to The Artistic | 6055 | - Red Blue Purple Room Area Doors/Door_room_6 # this is the connection to The Artistic |
| 6017 | group: Hallway Room Doors | 6056 | door_group: Hallway Room Doors |
| 6018 | location_name: Hallway Room - Fourth Room | 6057 | location_name: Hallway Room - Fourth Room |
| 6019 | panels: | 6058 | panels: |
| 6020 | - WHEEL | 6059 | - WHEEL |
| @@ -6082,6 +6121,7 @@ | |||
| 6082 | Wanderer Entrance: | 6121 | Wanderer Entrance: |
| 6083 | id: Tower Room Area Doors/Door_wanderer_entrance | 6122 | id: Tower Room Area Doors/Door_wanderer_entrance |
| 6084 | item_name: The Wanderer - Entrance | 6123 | item_name: The Wanderer - Entrance |
| 6124 | item_group: Achievement Room Entrances | ||
| 6085 | panels: | 6125 | panels: |
| 6086 | - WANDERLUST | 6126 | - WANDERLUST |
| 6087 | Tower Entrance: | 6127 | Tower Entrance: |
| @@ -6222,6 +6262,7 @@ | |||
| 6222 | id: Tower Room Area Doors/Door_painting_exit | 6262 | id: Tower Room Area Doors/Door_painting_exit |
| 6223 | include_reduce: True | 6263 | include_reduce: True |
| 6224 | item_name: Orange Tower Fifth Floor - Quadruple Intersection | 6264 | item_name: Orange Tower Fifth Floor - Quadruple Intersection |
| 6265 | item_group: Achievement Room Entrances | ||
| 6225 | panels: | 6266 | panels: |
| 6226 | - ORDER | 6267 | - ORDER |
| 6227 | paintings: | 6268 | paintings: |
| @@ -6417,7 +6458,7 @@ | |||
| 6417 | - Double Room Area Doors/Door_room_3a | 6458 | - Double Room Area Doors/Door_room_3a |
| 6418 | - Double Room Area Doors/Door_room_3bc | 6459 | - Double Room Area Doors/Door_room_3bc |
| 6419 | skip_location: True | 6460 | skip_location: True |
| 6420 | group: Rhyme Room Doors | 6461 | door_group: Rhyme Room Doors |
| 6421 | panels: | 6462 | panels: |
| 6422 | - SCHEME | 6463 | - SCHEME |
| 6423 | - FANTASY | 6464 | - FANTASY |
| @@ -6518,7 +6559,7 @@ | |||
| 6518 | Exit: | 6559 | Exit: |
| 6519 | id: Double Room Area Doors/Door_room_exit | 6560 | id: Double Room Area Doors/Door_room_exit |
| 6520 | location_name: Rhyme Room (Cross) - Exit Puzzles | 6561 | location_name: Rhyme Room (Cross) - Exit Puzzles |
| 6521 | group: Rhyme Room Doors | 6562 | door_group: Rhyme Room Doors |
| 6522 | panels: | 6563 | panels: |
| 6523 | - PLUMP | 6564 | - PLUMP |
| 6524 | - BOUNCE | 6565 | - BOUNCE |
| @@ -6581,7 +6622,7 @@ | |||
| 6581 | - Double Room Area Doors/Door_room_2b | 6622 | - Double Room Area Doors/Door_room_2b |
| 6582 | - Double Room Area Doors/Door_room_3b | 6623 | - Double Room Area Doors/Door_room_3b |
| 6583 | location_name: Rhyme Room - Circle/Smiley Wall | 6624 | location_name: Rhyme Room - Circle/Smiley Wall |
| 6584 | group: Rhyme Room Doors | 6625 | door_group: Rhyme Room Doors |
| 6585 | panels: | 6626 | panels: |
| 6586 | - BIRD | 6627 | - BIRD |
| 6587 | - LETTER | 6628 | - LETTER |
| @@ -6664,7 +6705,7 @@ | |||
| 6664 | - Double Room Area Doors/Door_room_2a | 6705 | - Double Room Area Doors/Door_room_2a |
| 6665 | - Double Room Area Doors/Door_room_1c | 6706 | - Double Room Area Doors/Door_room_1c |
| 6666 | location_name: Rhyme Room - Circle/Looped Square Wall | 6707 | location_name: Rhyme Room - Circle/Looped Square Wall |
| 6667 | group: Rhyme Room Doors | 6708 | door_group: Rhyme Room Doors |
| 6668 | panels: | 6709 | panels: |
| 6669 | - WALKED | 6710 | - WALKED |
| 6670 | - OBSTRUCTED | 6711 | - OBSTRUCTED |
| @@ -6683,7 +6724,7 @@ | |||
| 6683 | - Double Room Area Doors/Door_room_1a | 6724 | - Double Room Area Doors/Door_room_1a |
| 6684 | - Double Room Area Doors/Door_room_5a | 6725 | - Double Room Area Doors/Door_room_5a |
| 6685 | location_name: Rhyme Room - Cross/Looped Square Wall | 6726 | location_name: Rhyme Room - Cross/Looped Square Wall |
| 6686 | group: Rhyme Room Doors | 6727 | door_group: Rhyme Room Doors |
| 6687 | panels: | 6728 | panels: |
| 6688 | - SKIES | 6729 | - SKIES |
| 6689 | - SWELL | 6730 | - SWELL |
| @@ -6702,7 +6743,7 @@ | |||
| 6702 | - Double Room Area Doors/Door_room_1b | 6743 | - Double Room Area Doors/Door_room_1b |
| 6703 | - Double Room Area Doors/Door_room_4b | 6744 | - Double Room Area Doors/Door_room_4b |
| 6704 | location_name: Rhyme Room - Target/Looped Square Wall | 6745 | location_name: Rhyme Room - Target/Looped Square Wall |
| 6705 | group: Rhyme Room Doors | 6746 | door_group: Rhyme Room Doors |
| 6706 | panels: | 6747 | panels: |
| 6707 | - PENNED | 6748 | - PENNED |
| 6708 | - CLIMB | 6749 | - CLIMB |
| @@ -6765,7 +6806,7 @@ | |||
| 6765 | Door to Cross: | 6806 | Door to Cross: |
| 6766 | id: Double Room Area Doors/Door_room_4a | 6807 | id: Double Room Area Doors/Door_room_4a |
| 6767 | location_name: Rhyme Room (Target) - Puzzles Toward Cross | 6808 | location_name: Rhyme Room (Target) - Puzzles Toward Cross |
| 6768 | group: Rhyme Room Doors | 6809 | door_group: Rhyme Room Doors |
| 6769 | panels: | 6810 | panels: |
| 6770 | - PISTOL | 6811 | - PISTOL |
| 6771 | - GEM | 6812 | - GEM |
| @@ -7016,6 +7057,7 @@ | |||
| 7016 | Wise Entrance: | 7057 | Wise Entrance: |
| 7017 | id: Clock Room Area Doors/Door_time_start | 7058 | id: Clock Room Area Doors/Door_time_start |
| 7018 | item_name: The Wise - Entrance | 7059 | item_name: The Wise - Entrance |
| 7060 | item_group: Achievement Room Entrances | ||
| 7019 | panels: | 7061 | panels: |
| 7020 | - KITTEN | 7062 | - KITTEN |
| 7021 | - CAT | 7063 | - CAT |
| @@ -7269,6 +7311,7 @@ | |||
| 7269 | Scientific Entrance: | 7311 | Scientific Entrance: |
| 7270 | id: Red Blue Purple Room Area Doors/Door_chemistry_lab | 7312 | id: Red Blue Purple Room Area Doors/Door_chemistry_lab |
| 7271 | item_name: The Scientific - Entrance | 7313 | item_name: The Scientific - Entrance |
| 7314 | item_group: Achievement Room Entrances | ||
| 7272 | panels: | 7315 | panels: |
| 7273 | - OPEN | 7316 | - OPEN |
| 7274 | The Scientific: | 7317 | The Scientific: |
| @@ -7704,5 +7747,6 @@ | |||
| 7704 | doors: | 7747 | doors: |
| 7705 | Welcome Door: | 7748 | Welcome Door: |
| 7706 | id: Entry Room Area Doors/Door_challenge_challenge | 7749 | id: Entry Room Area Doors/Door_challenge_challenge |
| 7750 | item_group: Achievement Room Entrances | ||
| 7707 | panels: | 7751 | panels: |
| 7708 | - WELCOME | 7752 | - WELCOME |
| diff --git a/data/generated.dat b/data/generated.dat index 49ea60d..3bd8ff5 100644 --- a/data/generated.dat +++ b/data/generated.dat | |||
| Binary files differ | |||
| diff --git a/datatypes.py b/datatypes.py index eb5c879..e9bf0a3 100644 --- a/datatypes.py +++ b/datatypes.py | |||
| @@ -32,9 +32,10 @@ class Door(NamedTuple): | |||
| 32 | has_doors: bool | 32 | has_doors: bool |
| 33 | painting_ids: List[str] | 33 | painting_ids: List[str] |
| 34 | event: bool | 34 | event: bool |
| 35 | group: Optional[str] | 35 | door_group: Optional[str] |
| 36 | include_reduce: bool | 36 | include_reduce: bool |
| 37 | junk_item: bool | 37 | junk_item: bool |
| 38 | item_group: Optional[str] | ||
| 38 | 39 | ||
| 39 | 40 | ||
| 40 | class Panel(NamedTuple): | 41 | class Panel(NamedTuple): |
| diff --git a/items.py b/items.py index 623cd79..b9c4eb7 100644 --- a/items.py +++ b/items.py | |||
| @@ -42,14 +42,16 @@ class LingoItem(Item): | |||
| 42 | 42 | ||
| 43 | 43 | ||
| 44 | ALL_ITEM_TABLE: Dict[str, ItemData] = {} | 44 | ALL_ITEM_TABLE: Dict[str, ItemData] = {} |
| 45 | ITEMS_BY_GROUP: Dict[str, List[str]] = {} | ||
| 45 | 46 | ||
| 46 | 47 | ||
| 47 | def load_item_data(): | 48 | def load_item_data(): |
| 48 | global ALL_ITEM_TABLE | 49 | global ALL_ITEM_TABLE, ITEMS_BY_GROUP |
| 49 | 50 | ||
| 50 | for color in ["Black", "Red", "Blue", "Yellow", "Green", "Orange", "Gray", "Brown", "Purple"]: | 51 | for color in ["Black", "Red", "Blue", "Yellow", "Green", "Orange", "Gray", "Brown", "Purple"]: |
| 51 | ALL_ITEM_TABLE[color] = ItemData(get_special_item_id(color), ItemClassification.progression, | 52 | ALL_ITEM_TABLE[color] = ItemData(get_special_item_id(color), ItemClassification.progression, |
| 52 | "colors", [], []) | 53 | "colors", [], []) |
| 54 | ITEMS_BY_GROUP.setdefault("Colors", []).append(color) | ||
| 53 | 55 | ||
| 54 | door_groups: Dict[str, List[str]] = {} | 56 | door_groups: Dict[str, List[str]] = {} |
| 55 | for room_name, doors in DOORS_BY_ROOM.items(): | 57 | for room_name, doors in DOORS_BY_ROOM.items(): |
| @@ -57,11 +59,11 @@ def load_item_data(): | |||
| 57 | if door.skip_item is True or door.event is True: | 59 | if door.skip_item is True or door.event is True: |
| 58 | continue | 60 | continue |
| 59 | 61 | ||
| 60 | if door.group is None: | 62 | if door.door_group is None: |
| 61 | door_mode = "doors" | 63 | door_mode = "doors" |
| 62 | else: | 64 | else: |
| 63 | door_mode = "complex door" | 65 | door_mode = "complex door" |
| 64 | door_groups.setdefault(door.group, []) | 66 | door_groups.setdefault(door.door_group, []) |
| 65 | 67 | ||
| 66 | if room_name in PROGRESSION_BY_ROOM and door_name in PROGRESSION_BY_ROOM[room_name]: | 68 | if room_name in PROGRESSION_BY_ROOM and door_name in PROGRESSION_BY_ROOM[room_name]: |
| 67 | door_mode = "special" | 69 | door_mode = "special" |
| @@ -70,10 +72,15 @@ def load_item_data(): | |||
| 70 | ItemData(get_door_item_id(room_name, door_name), | 72 | ItemData(get_door_item_id(room_name, door_name), |
| 71 | ItemClassification.filler if door.junk_item else ItemClassification.progression, door_mode, | 73 | ItemClassification.filler if door.junk_item else ItemClassification.progression, door_mode, |
| 72 | door.has_doors, door.painting_ids) | 74 | door.has_doors, door.painting_ids) |
| 75 | ITEMS_BY_GROUP.setdefault("Doors", []).append(door.item_name) | ||
| 76 | |||
| 77 | if door.item_group is not None: | ||
| 78 | ITEMS_BY_GROUP.setdefault(door.item_group, []).append(door.item_name) | ||
| 73 | 79 | ||
| 74 | for group, group_door_ids in door_groups.items(): | 80 | for group, group_door_ids in door_groups.items(): |
| 75 | ALL_ITEM_TABLE[group] = ItemData(get_door_group_item_id(group), | 81 | ALL_ITEM_TABLE[group] = ItemData(get_door_group_item_id(group), |
| 76 | ItemClassification.progression, "door group", True, []) | 82 | ItemClassification.progression, "door group", True, []) |
| 83 | ITEMS_BY_GROUP.setdefault("Doors", []).append(group) | ||
| 77 | 84 | ||
| 78 | special_items: Dict[str, ItemClassification] = { | 85 | special_items: Dict[str, ItemClassification] = { |
| 79 | ":)": ItemClassification.filler, | 86 | ":)": ItemClassification.filler, |
| @@ -90,6 +97,11 @@ def load_item_data(): | |||
| 90 | ALL_ITEM_TABLE[item_name] = ItemData(get_special_item_id(item_name), classification, | 97 | ALL_ITEM_TABLE[item_name] = ItemData(get_special_item_id(item_name), classification, |
| 91 | "special", False, []) | 98 | "special", False, []) |
| 92 | 99 | ||
| 100 | if classification == ItemClassification.filler: | ||
| 101 | ITEMS_BY_GROUP.setdefault("Junk", []).append(item_name) | ||
| 102 | elif classification == ItemClassification.trap: | ||
| 103 | ITEMS_BY_GROUP.setdefault("Traps", []).append(item_name) | ||
| 104 | |||
| 93 | for item_name in PROGRESSIVE_ITEMS: | 105 | for item_name in PROGRESSIVE_ITEMS: |
| 94 | ALL_ITEM_TABLE[item_name] = ItemData(get_progressive_item_id(item_name), | 106 | ALL_ITEM_TABLE[item_name] = ItemData(get_progressive_item_id(item_name), |
| 95 | ItemClassification.progression, "special", False, []) | 107 | ItemClassification.progression, "special", False, []) |
| diff --git a/locations.py b/locations.py index e66ebac..92ee309 100644 --- a/locations.py +++ b/locations.py | |||
| @@ -30,10 +30,11 @@ class LingoLocation(Location): | |||
| 30 | 30 | ||
| 31 | 31 | ||
| 32 | ALL_LOCATION_TABLE: Dict[str, LocationData] = {} | 32 | ALL_LOCATION_TABLE: Dict[str, LocationData] = {} |
| 33 | LOCATIONS_BY_GROUP: Dict[str, List[str]] = {} | ||
| 33 | 34 | ||
| 34 | 35 | ||
| 35 | def load_location_data(): | 36 | def load_location_data(): |
| 36 | global ALL_LOCATION_TABLE | 37 | global ALL_LOCATION_TABLE, LOCATIONS_BY_GROUP |
| 37 | 38 | ||
| 38 | for room_name, panels in PANELS_BY_ROOM.items(): | 39 | for room_name, panels in PANELS_BY_ROOM.items(): |
| 39 | for panel_name, panel in panels.items(): | 40 | for panel_name, panel in panels.items(): |
| @@ -50,6 +51,9 @@ def load_location_data(): | |||
| 50 | LocationData(get_panel_location_id(room_name, panel_name), room_name, | 51 | LocationData(get_panel_location_id(room_name, panel_name), room_name, |
| 51 | [RoomAndPanel(None, panel_name)], classification) | 52 | [RoomAndPanel(None, panel_name)], classification) |
| 52 | 53 | ||
| 54 | if panel.achievement: | ||
| 55 | LOCATIONS_BY_GROUP.setdefault("Achievements", []).append(location_name) | ||
| 56 | |||
| 53 | for room_name, doors in DOORS_BY_ROOM.items(): | 57 | for room_name, doors in DOORS_BY_ROOM.items(): |
| 54 | for door_name, door in doors.items(): | 58 | for door_name, door in doors.items(): |
| 55 | if door.skip_location or door.event or door.panels is None: | 59 | if door.skip_location or door.event or door.panels is None: |
| diff --git a/player_logic.py b/player_logic.py index f5eb986..b3cefa5 100644 --- a/player_logic.py +++ b/player_logic.py | |||
| @@ -150,9 +150,9 @@ class LingoPlayerLogic: | |||
| 150 | for room_name, room_data in DOORS_BY_ROOM.items(): | 150 | for room_name, room_data in DOORS_BY_ROOM.items(): |
| 151 | for door_name, door_data in room_data.items(): | 151 | for door_name, door_data in room_data.items(): |
| 152 | if door_data.skip_item is False and door_data.event is False: | 152 | if door_data.skip_item is False and door_data.event is False: |
| 153 | if door_data.group is not None and door_shuffle == ShuffleDoors.option_simple: | 153 | if door_data.door_group is not None and door_shuffle == ShuffleDoors.option_simple: |
| 154 | # Grouped doors are handled differently if shuffle doors is on simple. | 154 | # Grouped doors are handled differently if shuffle doors is on simple. |
| 155 | self.set_door_item(room_name, door_name, door_data.group) | 155 | self.set_door_item(room_name, door_name, door_data.door_group) |
| 156 | else: | 156 | else: |
| 157 | self.handle_non_grouped_door(room_name, door_data, world) | 157 | self.handle_non_grouped_door(room_name, door_data, world) |
| 158 | 158 | ||
| diff --git a/utils/pickle_static_data.py b/utils/pickle_static_data.py index c7a2711..5d6fa1e 100644 --- a/utils/pickle_static_data.py +++ b/utils/pickle_static_data.py | |||
| @@ -255,10 +255,15 @@ def process_door(room_name, door_name, door_data): | |||
| 255 | else: | 255 | else: |
| 256 | junk_item = False | 256 | junk_item = False |
| 257 | 257 | ||
| 258 | if "group" in door_data: | 258 | if "door_group" in door_data: |
| 259 | group = door_data["group"] | 259 | door_group = door_data["door_group"] |
| 260 | else: | 260 | else: |
| 261 | group = None | 261 | door_group = None |
| 262 | |||
| 263 | if "item_group" in door_data: | ||
| 264 | item_group = door_data["item_group"] | ||
| 265 | else: | ||
| 266 | item_group = None | ||
| 262 | 267 | ||
| 263 | # panels is a list of panels. Each panel can either be a simple string (the name of a panel in the current room) or | 268 | # panels is a list of panels. Each panel can either be a simple string (the name of a panel in the current room) or |
| 264 | # a dictionary specifying a panel in a different room. | 269 | # a dictionary specifying a panel in a different room. |
| @@ -308,7 +313,7 @@ def process_door(room_name, door_name, door_data): | |||
| 308 | painting_ids = [] | 313 | painting_ids = [] |
| 309 | 314 | ||
| 310 | door_obj = Door(door_name, item_name, location_name, panels, skip_location, skip_item, has_doors, | 315 | door_obj = Door(door_name, item_name, location_name, panels, skip_location, skip_item, has_doors, |
| 311 | painting_ids, event, group, include_reduce, junk_item) | 316 | painting_ids, event, door_group, include_reduce, junk_item, item_group) |
| 312 | 317 | ||
| 313 | DOORS_BY_ROOM[room_name][door_name] = door_obj | 318 | DOORS_BY_ROOM[room_name][door_name] = door_obj |
| 314 | 319 | ||
| diff --git a/utils/validate_config.rb b/utils/validate_config.rb index 96ed9fc..ae0ac61 100644 --- a/utils/validate_config.rb +++ b/utils/validate_config.rb | |||
| @@ -42,7 +42,7 @@ door_groups = {} | |||
| 42 | 42 | ||
| 43 | directives = Set["entrances", "panels", "doors", "paintings", "progression"] | 43 | directives = Set["entrances", "panels", "doors", "paintings", "progression"] |
| 44 | panel_directives = Set["id", "required_room", "required_door", "required_panel", "colors", "check", "exclude_reduce", "tag", "link", "subtag", "achievement", "copy_to_sign", "non_counting", "hunt"] | 44 | panel_directives = Set["id", "required_room", "required_door", "required_panel", "colors", "check", "exclude_reduce", "tag", "link", "subtag", "achievement", "copy_to_sign", "non_counting", "hunt"] |
| 45 | door_directives = Set["id", "painting_id", "panels", "item_name", "location_name", "skip_location", "skip_item", "group", "include_reduce", "junk_item", "event"] | 45 | door_directives = Set["id", "painting_id", "panels", "item_name", "item_group", "location_name", "skip_location", "skip_item", "door_group", "include_reduce", "junk_item", "event"] |
| 46 | painting_directives = Set["id", "enter_only", "exit_only", "orientation", "required_door", "required", "required_when_no_doors", "move", "req_blocked", "req_blocked_when_no_doors"] | 46 | painting_directives = Set["id", "enter_only", "exit_only", "orientation", "required_door", "required", "required_when_no_doors", "move", "req_blocked", "req_blocked_when_no_doors"] |
| 47 | 47 | ||
| 48 | non_counting = 0 | 48 | non_counting = 0 |
