about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--apworld/__init__.py6
-rw-r--r--apworld/client/worldportListener.gd2
-rw-r--r--data/ids.yaml26
-rw-r--r--data/maps/the_great/connections.txtpb4
-rw-r--r--data/maps/the_great/doors.txtpb40
-rw-r--r--data/maps/the_great/rooms/Back Area.txtpb86
-rw-r--r--data/maps/the_great/rooms/The Landscapes.txtpb88
-rw-r--r--data/maps/the_great/rooms/Whole Room.txtpb2
8 files changed, 137 insertions, 117 deletions
diff --git a/apworld/__init__.py b/apworld/__init__.py index 9e445c7..57e3d9b 100644 --- a/apworld/__init__.py +++ b/apworld/__init__.py
@@ -4,6 +4,7 @@ Archipelago init file for Lingo 2
4from typing import ClassVar 4from typing import ClassVar
5 5
6from BaseClasses import ItemClassification, Item, Tutorial 6from BaseClasses import ItemClassification, Item, Tutorial
7from Options import OptionError
7from settings import Group, UserFilePath 8from settings import Group, UserFilePath
8from worlds.AutoWorld import WebWorld, World 9from worlds.AutoWorld import WebWorld, World
9from .items import Lingo2Item, ANTI_COLLECTABLE_TRAPS 10from .items import Lingo2Item, ANTI_COLLECTABLE_TRAPS
@@ -109,6 +110,11 @@ class Lingo2World(World):
109 for i in range(0, item_difference): 110 for i in range(0, item_difference):
110 pool.append(self.create_item(self.get_filler_item_name())) 111 pool.append(self.create_item(self.get_filler_item_name()))
111 112
113 if not any(ItemClassification.progression in item.classification for item in pool):
114 raise OptionError(f"Lingo 2 player {self.player} has no progression items. Please enable at least one "
115 f"option that would add progression gating to your world, such as Shuffle Doors or "
116 f"Shuffle Letters.")
117
112 self.multiworld.itempool += pool 118 self.multiworld.itempool += pool
113 119
114 def create_item(self, name: str) -> Item: 120 def create_item(self, name: str) -> Item:
diff --git a/apworld/client/worldportListener.gd b/apworld/client/worldportListener.gd index 5c2faff..4cff8e9 100644 --- a/apworld/client/worldportListener.gd +++ b/apworld/client/worldportListener.gd
@@ -2,7 +2,7 @@ extends "res://scripts/nodes/listeners/worldportListener.gd"
2 2
3 3
4func handleTriggered(): 4func handleTriggered():
5 if exit == "menus/credits": 5 if exit.begins_with("menus/credits"):
6 return 6 return
7 7
8 super.handleTriggered() 8 super.handleTriggered()
diff --git a/data/ids.yaml b/data/ids.yaml index be5c0f8..45c9ea0 100644 --- a/data/ids.yaml +++ b/data/ids.yaml
@@ -1851,22 +1851,10 @@ maps:
1851 rooms: 1851 rooms:
1852 Back Area: 1852 Back Area:
1853 panels: 1853 panels:
1854 Left Landscape Bottom: 482
1855 Left Landscape Left: 483
1856 Left Landscape Right: 481
1857 Left Landscape Top: 480
1858 PAINTING: 474 1854 PAINTING: 474
1859 PLANT: 472 1855 PLANT: 472
1860 Right Landscape Bottom: 486
1861 Right Landscape Left: 487
1862 Right Landscape Right: 485
1863 Right Landscape Top: 484
1864 TOWEL: 475 1856 TOWEL: 475
1865 TREE: 473 1857 TREE: 473
1866 Top Landscape Bottom: 478
1867 Top Landscape Left: 479
1868 Top Landscape Right: 477
1869 Top Landscape Top: 476
1870 Behind Question Area: 1858 Behind Question Area:
1871 panels: 1859 panels:
1872 DEW: 488 1860 DEW: 488
@@ -2024,6 +2012,20 @@ maps:
2024 Question Room Who: 2012 Question Room Who:
2025 panels: 2013 panels:
2026 QUESTION: 587 2014 QUESTION: 587
2015 The Landscapes:
2016 panels:
2017 Left Landscape Bottom: 482
2018 Left Landscape Left: 483
2019 Left Landscape Right: 481
2020 Left Landscape Top: 480
2021 Right Landscape Bottom: 486
2022 Right Landscape Left: 487
2023 Right Landscape Right: 485
2024 Right Landscape Top: 484
2025 Top Landscape Bottom: 478
2026 Top Landscape Left: 479
2027 Top Landscape Right: 477
2028 Top Landscape Top: 476
2027 Under Question Room: 2029 Under Question Room:
2028 panels: 2030 panels:
2029 QUESTION: 588 2031 QUESTION: 588
diff --git a/data/maps/the_great/connections.txtpb b/data/maps/the_great/connections.txtpb index f1a7e25..171e809 100644 --- a/data/maps/the_great/connections.txtpb +++ b/data/maps/the_great/connections.txtpb
@@ -256,3 +256,7 @@ connections {
256 to_room: "Zero Room" 256 to_room: "Zero Room"
257 door { name: "Lavender Cube" } 257 door { name: "Lavender Cube" }
258} 258}
259connections {
260 from_room: "Back Area"
261 to_room: "The Landscapes"
262}
diff --git a/data/maps/the_great/doors.txtpb b/data/maps/the_great/doors.txtpb index 628715f..bf28421 100644 --- a/data/maps/the_great/doors.txtpb +++ b/data/maps/the_great/doors.txtpb
@@ -124,6 +124,7 @@ doors {
124 panels { room: "Magnet Room" name: "SAW" } 124 panels { room: "Magnet Room" name: "SAW" }
125 panels { room: "Magnet Room" name: "BLENDER" } 125 panels { room: "Magnet Room" name: "BLENDER" }
126 location_room: "Magnet Room" 126 location_room: "Magnet Room"
127 location_name: "Gravestone"
127} 128}
128doors { 129doors {
129 name: "Hive Entrance" 130 name: "Hive Entrance"
@@ -205,23 +206,25 @@ doors {
205 panels { room: "Jail Part 2" name: "GRIMACE" } 206 panels { room: "Jail Part 2" name: "GRIMACE" }
206 panels { room: "Jail Part 2" name: "COMMENCE" } 207 panels { room: "Jail Part 2" name: "COMMENCE" }
207 location_room: "Jail Part 2" 208 location_room: "Jail Part 2"
209 location_name: "Gravestone"
208} 210}
209doors { 211doors {
210 name: "The Landscapes Gravestone" 212 name: "The Landscapes Gravestone"
211 type: GRAVESTONE 213 type: GRAVESTONE
212 panels { room: "Back Area" name: "Top Landscape Top" } 214 panels { room: "The Landscapes" name: "Top Landscape Top" }
213 panels { room: "Back Area" name: "Top Landscape Right" } 215 panels { room: "The Landscapes" name: "Top Landscape Right" }
214 panels { room: "Back Area" name: "Top Landscape Bottom" } 216 panels { room: "The Landscapes" name: "Top Landscape Bottom" }
215 panels { room: "Back Area" name: "Top Landscape Left" } 217 panels { room: "The Landscapes" name: "Top Landscape Left" }
216 panels { room: "Back Area" name: "Left Landscape Top" } 218 panels { room: "The Landscapes" name: "Left Landscape Top" }
217 panels { room: "Back Area" name: "Left Landscape Right" } 219 panels { room: "The Landscapes" name: "Left Landscape Right" }
218 panels { room: "Back Area" name: "Left Landscape Bottom" } 220 panels { room: "The Landscapes" name: "Left Landscape Bottom" }
219 panels { room: "Back Area" name: "Left Landscape Left" } 221 panels { room: "The Landscapes" name: "Left Landscape Left" }
220 panels { room: "Back Area" name: "Right Landscape Top" } 222 panels { room: "The Landscapes" name: "Right Landscape Top" }
221 panels { room: "Back Area" name: "Right Landscape Right" } 223 panels { room: "The Landscapes" name: "Right Landscape Right" }
222 panels { room: "Back Area" name: "Right Landscape Bottom" } 224 panels { room: "The Landscapes" name: "Right Landscape Bottom" }
223 panels { room: "Back Area" name: "Right Landscape Left" } 225 panels { room: "The Landscapes" name: "Right Landscape Left" }
224 location_room: "Back Area" 226 location_room: "The Landscapes"
227 location_name: "Gravestone"
225} 228}
226doors { 229doors {
227 name: "Tower Entrance" 230 name: "Tower Entrance"
@@ -318,6 +321,7 @@ doors {
318 panels { room: "Maze Up Area" name: "UP" } 321 panels { room: "Maze Up Area" name: "UP" }
319 panels { room: "Maze Wreck Area" name: "WRECK" } 322 panels { room: "Maze Wreck Area" name: "WRECK" }
320 location_room: "Maze Slice Area" 323 location_room: "Maze Slice Area"
324 location_name: "Gravestone"
321} 325}
322doors { 326doors {
323 name: "Courtyard Side Door" 327 name: "Courtyard Side Door"
@@ -419,10 +423,10 @@ doors {
419 name: "Invisible Entrance" 423 name: "Invisible Entrance"
420 type: STANDARD 424 type: STANDARD
421 receivers: "Components/Doors/entry_36" 425 receivers: "Components/Doors/entry_36"
422 panels { room: "Back Area" name: "Right Landscape Top" answer: "tell" } 426 panels { room: "The Landscapes" name: "Right Landscape Top" answer: "tell" }
423 panels { room: "Back Area" name: "Right Landscape Left" answer: "eyes" } 427 panels { room: "The Landscapes" name: "Right Landscape Left" answer: "eyes" }
424 location_room: "Back Area" 428 location_room: "The Landscapes"
425 location_name: "Landscapes Room Alternate Answers" 429 location_name: "Alternate Answers"
426} 430}
427doors { 431doors {
428 name: "Nature Room Door" 432 name: "Nature Room Door"
@@ -468,6 +472,7 @@ doors {
468 panels { room: "Whole Room" name: "CHIPS" } 472 panels { room: "Whole Room" name: "CHIPS" }
469 panels { room: "Whole Room" name: "TOWER" } 473 panels { room: "Whole Room" name: "TOWER" }
470 location_room: "Whole Room" 474 location_room: "Whole Room"
475 location_name: "Gravestone"
471} 476}
472doors { 477doors {
473 name: "Lavender Cube" 478 name: "Lavender Cube"
@@ -494,6 +499,7 @@ doors {
494 panels { room: "Zero Room" name: "MANY" } 499 panels { room: "Zero Room" name: "MANY" }
495 panels { room: "Zero Room" name: "REMAINING" } 500 panels { room: "Zero Room" name: "REMAINING" }
496 location_room: "Zero Room" 501 location_room: "Zero Room"
502 location_name: "Panels"
497} 503}
498doors { 504doors {
499 name: "Spiral Painting" 505 name: "Spiral Painting"
diff --git a/data/maps/the_great/rooms/Back Area.txtpb b/data/maps/the_great/rooms/Back Area.txtpb index c57a76f..33da394 100644 --- a/data/maps/the_great/rooms/Back Area.txtpb +++ b/data/maps/the_great/rooms/Back Area.txtpb
@@ -28,92 +28,6 @@ panels {
28 answer: "tower" 28 answer: "tower"
29 symbols: SPARKLES 29 symbols: SPARKLES
30} 30}
31panels {
32 name: "Top Landscape Top"
33 path: "Panels/Kiwi Room/kiwi_1"
34 clue: ""
35 answer: "one"
36 symbols: QUESTION
37}
38panels {
39 name: "Top Landscape Right"
40 path: "Panels/Kiwi Room/kiwi_2"
41 clue: ""
42 answer: "road"
43 symbols: QUESTION
44}
45panels {
46 name: "Top Landscape Bottom"
47 path: "Panels/Kiwi Room/kiwi_3"
48 clue: ""
49 answer: "many"
50 symbols: QUESTION
51}
52panels {
53 name: "Top Landscape Left"
54 path: "Panels/Kiwi Room/kiwi_4"
55 clue: ""
56 answer: "turns"
57 symbols: QUESTION
58}
59panels {
60 name: "Left Landscape Top"
61 path: "Panels/Kiwi Room/kiwi_5"
62 clue: ""
63 answer: "find"
64 symbols: QUESTION
65}
66panels {
67 name: "Left Landscape Right"
68 path: "Panels/Kiwi Room/kiwi_6"
69 clue: ""
70 answer: "keys"
71 symbols: QUESTION
72}
73panels {
74 name: "Left Landscape Bottom"
75 path: "Panels/Kiwi Room/kiwi_7"
76 clue: ""
77 answer: "write"
78 symbols: QUESTION
79}
80panels {
81 name: "Left Landscape Left"
82 path: "Panels/Kiwi Room/kiwi_8"
83 clue: ""
84 answer: "words"
85 symbols: QUESTION
86}
87panels {
88 name: "Right Landscape Top"
89 path: "Panels/Kiwi Room/kiwi_9"
90 clue: ""
91 answer: "hear"
92 symbols: QUESTION
93 proxies { answer: "tell" path: "Panels/Kiwi Proxies/kiwi_9_proxy_1" }
94}
95panels {
96 name: "Right Landscape Right"
97 path: "Panels/Kiwi Room/kiwi_10"
98 clue: ""
99 answer: "lies"
100 symbols: QUESTION
101}
102panels {
103 name: "Right Landscape Bottom"
104 path: "Panels/Kiwi Room/kiwi_11"
105 clue: ""
106 answer: "the"
107 symbols: QUESTION
108}
109panels {
110 name: "Right Landscape Left"
111 path: "Panels/Kiwi Room/kiwi_12"
112 clue: ""
113 answer: "ears"
114 symbols: QUESTION
115 proxies { answer: "eyes" path: "Panels/Kiwi Proxies/kiwi_12_proxy_1" }
116}
117paintings { 31paintings {
118 name: "SPIRAL" 32 name: "SPIRAL"
119 path: "Components/Paintings/spiral" 33 path: "Components/Paintings/spiral"
diff --git a/data/maps/the_great/rooms/The Landscapes.txtpb b/data/maps/the_great/rooms/The Landscapes.txtpb new file mode 100644 index 0000000..2912843 --- /dev/null +++ b/data/maps/the_great/rooms/The Landscapes.txtpb
@@ -0,0 +1,88 @@
1name: "The Landscapes"
2panel_display_name: "The Landscapes"
3panels {
4 name: "Top Landscape Top"
5 path: "Panels/Kiwi Room/kiwi_1"
6 clue: ""
7 answer: "one"
8 symbols: QUESTION
9}
10panels {
11 name: "Top Landscape Right"
12 path: "Panels/Kiwi Room/kiwi_2"
13 clue: ""
14 answer: "road"
15 symbols: QUESTION
16}
17panels {
18 name: "Top Landscape Bottom"
19 path: "Panels/Kiwi Room/kiwi_3"
20 clue: ""
21 answer: "many"
22 symbols: QUESTION
23}
24panels {
25 name: "Top Landscape Left"
26 path: "Panels/Kiwi Room/kiwi_4"
27 clue: ""
28 answer: "turns"
29 symbols: QUESTION
30}
31panels {
32 name: "Left Landscape Top"
33 path: "Panels/Kiwi Room/kiwi_5"
34 clue: ""
35 answer: "find"
36 symbols: QUESTION
37}
38panels {
39 name: "Left Landscape Right"
40 path: "Panels/Kiwi Room/kiwi_6"
41 clue: ""
42 answer: "keys"
43 symbols: QUESTION
44}
45panels {
46 name: "Left Landscape Bottom"
47 path: "Panels/Kiwi Room/kiwi_7"
48 clue: ""
49 answer: "write"
50 symbols: QUESTION
51}
52panels {
53 name: "Left Landscape Left"
54 path: "Panels/Kiwi Room/kiwi_8"
55 clue: ""
56 answer: "words"
57 symbols: QUESTION
58}
59panels {
60 name: "Right Landscape Top"
61 path: "Panels/Kiwi Room/kiwi_9"
62 clue: ""
63 answer: "hear"
64 symbols: QUESTION
65 proxies { answer: "tell" path: "Panels/Kiwi Proxies/kiwi_9_proxy_1" }
66}
67panels {
68 name: "Right Landscape Right"
69 path: "Panels/Kiwi Room/kiwi_10"
70 clue: ""
71 answer: "lies"
72 symbols: QUESTION
73}
74panels {
75 name: "Right Landscape Bottom"
76 path: "Panels/Kiwi Room/kiwi_11"
77 clue: ""
78 answer: "the"
79 symbols: QUESTION
80}
81panels {
82 name: "Right Landscape Left"
83 path: "Panels/Kiwi Room/kiwi_12"
84 clue: ""
85 answer: "ears"
86 symbols: QUESTION
87 proxies { answer: "eyes" path: "Panels/Kiwi Proxies/kiwi_12_proxy_1" }
88}
diff --git a/data/maps/the_great/rooms/Whole Room.txtpb b/data/maps/the_great/rooms/Whole Room.txtpb index daa174c..989241a 100644 --- a/data/maps/the_great/rooms/Whole Room.txtpb +++ b/data/maps/the_great/rooms/Whole Room.txtpb
@@ -1,5 +1,5 @@
1name: "Whole Room" 1name: "Whole Room"
2panel_display_name: "North Landscape" 2panel_display_name: "Building Building"
3panels { 3panels {
4 name: "VAULT" 4 name: "VAULT"
5 path: "Panels/Whole Room/whole_1" 5 path: "Panels/Whole Room/whole_1"