diff options
Diffstat (limited to 'data/maps')
-rw-r--r-- | data/maps/the_relentless/README | 25 | ||||
-rw-r--r-- | data/maps/the_relentless/connections.txtpb | 41 | ||||
-rw-r--r-- | data/maps/the_relentless/doors.txtpb | 79 | ||||
-rw-r--r-- | data/maps/the_relentless/rooms/All.txtpb | 58 | ||||
-rw-r--r-- | data/maps/the_relentless/rooms/Left And Turn.txtpb | 63 | ||||
-rw-r--r-- | data/maps/the_relentless/rooms/Left Room.txtpb | 23 | ||||
-rw-r--r-- | data/maps/the_relentless/rooms/Mastery.txtpb | 6 | ||||
-rw-r--r-- | data/maps/the_relentless/rooms/Shop Room.txtpb | 36 | ||||
-rw-r--r-- | data/maps/the_relentless/rooms/Turn And Shop.txtpb | 56 | ||||
-rw-r--r-- | data/maps/the_relentless/rooms/Turn Room.txtpb | 22 |
10 files changed, 409 insertions, 0 deletions
diff --git a/data/maps/the_relentless/README b/data/maps/the_relentless/README new file mode 100644 index 0000000..a3a4ecd --- /dev/null +++ b/data/maps/the_relentless/README | |||
@@ -0,0 +1,25 @@ | |||
1 | The Relentless is complicated because it makes heavy use of the keyholder | ||
2 | mechanic. There are three rooms, and you are expected to enter each room missing | ||
3 | certain letters. Solving the available puzzles in each room opens the doors | ||
4 | between the rooms, which lets you cross into them with a different set of | ||
5 | missing letters. | ||
6 | |||
7 | There currently isn't a way to represent "is missing certain letters" in our map | ||
8 | data or randomizer state. Instead, we use rooms to emulate knowing which letters | ||
9 | are available. There is a room for each of the three entrances, containing the | ||
10 | puzzles solvable with the expected missing letters. There's a room for each of | ||
11 | the inner pairs of rooms, representing what becomes available when one of the | ||
12 | doors is opened, and a room representing what is solvable when both doors are | ||
13 | opened. | ||
14 | |||
15 | This is all done with the expectation that you are always entering The | ||
16 | Relentless with the correct letters in the Control Center's keyholders. Because | ||
17 | of this, the warps to The Relentless are not randomizable. The Control Center | ||
18 | keywords that open these warps are also not randomizable. It'd be nice to find a | ||
19 | way to randomize this at a later point. | ||
20 | |||
21 | Also note that in order to keep this functioning properly, if the player | ||
22 | receives a letter item while in The Relentless, the mod should hold off on | ||
23 | adding it to the player's keyboard. We may want to overhaul how keyholders work | ||
24 | entirely and just have some kind of thing in the Archipelago client's global | ||
25 | state. | ||
diff --git a/data/maps/the_relentless/connections.txtpb b/data/maps/the_relentless/connections.txtpb new file mode 100644 index 0000000..8c56b0a --- /dev/null +++ b/data/maps/the_relentless/connections.txtpb | |||
@@ -0,0 +1,41 @@ | |||
1 | connections { | ||
2 | from_room: "Left Room" | ||
3 | to_room: "Left And Turn" | ||
4 | door { name: "Left/Turn Door" } | ||
5 | oneway: true | ||
6 | } | ||
7 | connections { | ||
8 | from_room: "Turn Room" | ||
9 | to_room: "Left And Turn" | ||
10 | door { name: "Left/Turn Door" } | ||
11 | oneway: true | ||
12 | } | ||
13 | connections { | ||
14 | from_room: "Turn Room" | ||
15 | to_room: "Turn And Shop" | ||
16 | door { name: "Turn/Shop Door" } | ||
17 | oneway: true | ||
18 | } | ||
19 | connections { | ||
20 | from_room: "Shop Room" | ||
21 | to_room: "Turn And Shop" | ||
22 | door { name: "Turn/Shop Door" } | ||
23 | oneway: true | ||
24 | } | ||
25 | connections { | ||
26 | from_room: "Left And Turn" | ||
27 | to_room: "All" | ||
28 | door { name: "All Doors" } | ||
29 | oneway: true | ||
30 | } | ||
31 | connections { | ||
32 | from_room: "Turn And Shop" | ||
33 | to_room: "All" | ||
34 | door { name: "All Doors" } | ||
35 | oneway: true | ||
36 | } | ||
37 | connections { | ||
38 | from_room: "Left Room" | ||
39 | to_room: "Mastery" | ||
40 | door { name: "All Panels" } | ||
41 | } | ||
diff --git a/data/maps/the_relentless/doors.txtpb b/data/maps/the_relentless/doors.txtpb new file mode 100644 index 0000000..11f6369 --- /dev/null +++ b/data/maps/the_relentless/doors.txtpb | |||
@@ -0,0 +1,79 @@ | |||
1 | doors { | ||
2 | name: "Left/Turn Door" | ||
3 | type: LOCATION_ONLY | ||
4 | panels { room: "Left Room" name: "HIDE" } | ||
5 | panels { room: "Left Room" name: "LEFT" } | ||
6 | panels { room: "Left Room" name: "MORE" } | ||
7 | panels { room: "Turn Room" name: "HIDE (1)" } | ||
8 | panels { room: "Turn Room" name: "HIDE (2)" } | ||
9 | panels { room: "Turn Room" name: "MORE" } | ||
10 | location_room: "Turn Room" | ||
11 | } | ||
12 | doors { | ||
13 | name: "Turn/Shop Door" | ||
14 | type: LOCATION_ONLY | ||
15 | panels { room: "Turn Room" name: "HIDE (1)" } | ||
16 | panels { room: "Turn Room" name: "HIDE (2)" } | ||
17 | panels { room: "Turn Room" name: "MORE" } | ||
18 | panels { room: "Shop Room" name: "LEFT (1)" } | ||
19 | panels { room: "Shop Room" name: "LEFT (2)" } | ||
20 | panels { room: "Shop Room" name: "EXIT (1)" } | ||
21 | panels { room: "Shop Room" name: "EXIT (2)" } | ||
22 | panels { room: "Shop Room" name: "EXIT (3)" } | ||
23 | location_room: "Turn Room" | ||
24 | } | ||
25 | doors { | ||
26 | name: "All Doors" | ||
27 | type: EVENT | ||
28 | panels { room: "Left Room" name: "HIDE" } | ||
29 | panels { room: "Left Room" name: "LEFT" } | ||
30 | panels { room: "Left Room" name: "MORE" } | ||
31 | panels { room: "Turn Room" name: "HIDE (1)" } | ||
32 | panels { room: "Turn Room" name: "HIDE (2)" } | ||
33 | panels { room: "Turn Room" name: "MORE" } | ||
34 | panels { room: "Shop Room" name: "LEFT (1)" } | ||
35 | panels { room: "Shop Room" name: "LEFT (2)" } | ||
36 | panels { room: "Shop Room" name: "EXIT (1)" } | ||
37 | panels { room: "Shop Room" name: "EXIT (2)" } | ||
38 | panels { room: "Shop Room" name: "EXIT (3)" } | ||
39 | } | ||
40 | doors { | ||
41 | name: "All Panels" | ||
42 | type: EVENT | ||
43 | panels { room: "Left Room" name: "HIDE" } | ||
44 | panels { room: "Left Room" name: "LEFT" } | ||
45 | panels { room: "Left Room" name: "MORE" } | ||
46 | panels { room: "Turn Room" name: "HIDE (1)" } | ||
47 | panels { room: "Turn Room" name: "HIDE (2)" } | ||
48 | panels { room: "Turn Room" name: "MORE" } | ||
49 | panels { room: "Shop Room" name: "LEFT (1)" } | ||
50 | panels { room: "Shop Room" name: "LEFT (2)" } | ||
51 | panels { room: "Shop Room" name: "EXIT (1)" } | ||
52 | panels { room: "Shop Room" name: "EXIT (2)" } | ||
53 | panels { room: "Shop Room" name: "EXIT (3)" } | ||
54 | panels { room: "All" name: "LEFT (1)" } | ||
55 | panels { room: "All" name: "LEFT (2)" } | ||
56 | panels { room: "All" name: "EXIT (1)" } | ||
57 | panels { room: "All" name: "EXIT (2)" } | ||
58 | panels { room: "All" name: "EXIT (3)" } | ||
59 | panels { room: "All" name: "MORE (1)" } | ||
60 | panels { room: "All" name: "MORE (2)" } | ||
61 | panels { room: "All" name: "HIDE" } | ||
62 | panels { room: "Left And Turn" name: "HIDE (1)" } | ||
63 | panels { room: "Left And Turn" name: "HIDE (2)" } | ||
64 | panels { room: "Left And Turn" name: "HIDE (3)" } | ||
65 | panels { room: "Left And Turn" name: "LEFT (1)" } | ||
66 | panels { room: "Left And Turn" name: "LEFT (2)" } | ||
67 | panels { room: "Left And Turn" name: "MORE (1)" } | ||
68 | panels { room: "Left And Turn" name: "MORE (2)" } | ||
69 | panels { room: "Left And Turn" name: "MORE (3)" } | ||
70 | panels { room: "Left And Turn" name: "MORE (4)" } | ||
71 | panels { room: "Turn And Shop" name: "LEFT (1)" } | ||
72 | panels { room: "Turn And Shop" name: "LEFT (2)" } | ||
73 | panels { room: "Turn And Shop" name: "EXIT (1)" } | ||
74 | panels { room: "Turn And Shop" name: "EXIT (2)" } | ||
75 | panels { room: "Turn And Shop" name: "EXIT (3)" } | ||
76 | panels { room: "Turn And Shop" name: "HIDE (1)" } | ||
77 | panels { room: "Turn And Shop" name: "HIDE (2)" } | ||
78 | panels { room: "Turn And Shop" name: "MORE" } | ||
79 | } | ||
diff --git a/data/maps/the_relentless/rooms/All.txtpb b/data/maps/the_relentless/rooms/All.txtpb new file mode 100644 index 0000000..62a2ba1 --- /dev/null +++ b/data/maps/the_relentless/rooms/All.txtpb | |||
@@ -0,0 +1,58 @@ | |||
1 | name: "All" | ||
2 | display_name: "Relentless" | ||
3 | panels { | ||
4 | name: "LEFT (1)" | ||
5 | path: "Panels/Room_1/panel_6" | ||
6 | clue: "left" | ||
7 | answer: "write" | ||
8 | symbols: "sun" | ||
9 | symbols: "zero" | ||
10 | } | ||
11 | panels { | ||
12 | name: "EXIT (1)" | ||
13 | path: "Panels/Room_1/panel_10" | ||
14 | clue: "exit" | ||
15 | answer: "quit" | ||
16 | symbols: "sun" | ||
17 | } | ||
18 | panels { | ||
19 | name: "EXIT (2)" | ||
20 | path: "Panels/Room_1/panel_11" | ||
21 | clue: "exit" | ||
22 | answer: "exit" | ||
23 | } | ||
24 | panels { | ||
25 | name: "EXIT (3)" | ||
26 | path: "Panels/Room_1/panel_12" | ||
27 | clue: "exit" | ||
28 | answer: "enter" | ||
29 | symbols: "sun" | ||
30 | } | ||
31 | panels { | ||
32 | name: "HIDE" | ||
33 | path: "Panels/Room_3/panel_1" | ||
34 | clue: "hide" | ||
35 | answer: "unmask" | ||
36 | symbols: "sun" | ||
37 | } | ||
38 | panels { | ||
39 | name: "LEFT (2)" | ||
40 | path: "Panels/Room_3/panel_4" | ||
41 | clue: "left" | ||
42 | answer: "wrong" | ||
43 | symbols: "sun" | ||
44 | } | ||
45 | panels { | ||
46 | name: "MORE (1)" | ||
47 | path: "Panels/Room_3/panel_7" | ||
48 | clue: "more" | ||
49 | answer: "your" | ||
50 | symbols: "zero" | ||
51 | } | ||
52 | panels { | ||
53 | name: "MORE (2)" | ||
54 | path: "Panels/Room_3/panel_8" | ||
55 | clue: "more" | ||
56 | answer: "or" | ||
57 | symbols: "sparkles" | ||
58 | } | ||
diff --git a/data/maps/the_relentless/rooms/Left And Turn.txtpb b/data/maps/the_relentless/rooms/Left And Turn.txtpb new file mode 100644 index 0000000..7bc6a60 --- /dev/null +++ b/data/maps/the_relentless/rooms/Left And Turn.txtpb | |||
@@ -0,0 +1,63 @@ | |||
1 | name: "Left And Turn" | ||
2 | display_name: "Relentless" | ||
3 | panels { | ||
4 | name: "HIDE (1)" | ||
5 | path: "Panels/Room_1/panel_2" | ||
6 | clue: "hide" | ||
7 | answer: "hide" | ||
8 | } | ||
9 | panels { | ||
10 | name: "HIDE (2)" | ||
11 | path: "Panels/Room_1/panel_3" | ||
12 | clue: "hide" | ||
13 | answer: "seek" | ||
14 | symbols: "sun" | ||
15 | } | ||
16 | panels { | ||
17 | name: "LEFT (1)" | ||
18 | path: "Panels/Room_1/panel_5" | ||
19 | clue: "left" | ||
20 | answer: "left" | ||
21 | } | ||
22 | panels { | ||
23 | name: "MORE (1)" | ||
24 | path: "Panels/Room_1/panel_8" | ||
25 | clue: "more" | ||
26 | answer: "me" | ||
27 | symbols: "sparkles" | ||
28 | } | ||
29 | panels { | ||
30 | name: "MORE (2)" | ||
31 | path: "Panels/Room_1/panel_9" | ||
32 | clue: "more" | ||
33 | answer: "less" | ||
34 | symbols: "sun" | ||
35 | } | ||
36 | panels { | ||
37 | name: "HIDE (3)" | ||
38 | path: "Panels/Room_2/panel_1" | ||
39 | clue: "hide" | ||
40 | answer: "unmask" | ||
41 | symbols: "sun" | ||
42 | } | ||
43 | panels { | ||
44 | name: "LEFT (2)" | ||
45 | path: "Panels/Room_2/panel_4" | ||
46 | clue: "left" | ||
47 | answer: "wrong" | ||
48 | symbols: "sun" | ||
49 | } | ||
50 | panels { | ||
51 | name: "MORE (3)" | ||
52 | path: "Panels/Room_2/panel_7" | ||
53 | clue: "more" | ||
54 | answer: "your" | ||
55 | symbols: "zero" | ||
56 | } | ||
57 | panels { | ||
58 | name: "MORE (4)" | ||
59 | path: "Panels/Room_2/panel_8" | ||
60 | clue: "more" | ||
61 | answer: "or" | ||
62 | symbols: "sparkles" | ||
63 | } | ||
diff --git a/data/maps/the_relentless/rooms/Left Room.txtpb b/data/maps/the_relentless/rooms/Left Room.txtpb new file mode 100644 index 0000000..b67e829 --- /dev/null +++ b/data/maps/the_relentless/rooms/Left Room.txtpb | |||
@@ -0,0 +1,23 @@ | |||
1 | name: "Left Room" | ||
2 | display_name: "Relentless" | ||
3 | panels { | ||
4 | name: "HIDE" | ||
5 | path: "Panels/Room_1/panel_1" | ||
6 | clue: "hide" | ||
7 | answer: "unmask" | ||
8 | symbols: "sun" | ||
9 | } | ||
10 | panels { | ||
11 | name: "LEFT" | ||
12 | path: "Panels/Room_1/panel_4" | ||
13 | clue: "left" | ||
14 | answer: "wrong" | ||
15 | symbols: "sun" | ||
16 | } | ||
17 | panels { | ||
18 | name: "MORE" | ||
19 | path: "Panels/Room_1/panel_7" | ||
20 | clue: "more" | ||
21 | answer: "your" | ||
22 | symbols: "zero" | ||
23 | } | ||
diff --git a/data/maps/the_relentless/rooms/Mastery.txtpb b/data/maps/the_relentless/rooms/Mastery.txtpb new file mode 100644 index 0000000..8b12c56 --- /dev/null +++ b/data/maps/the_relentless/rooms/Mastery.txtpb | |||
@@ -0,0 +1,6 @@ | |||
1 | name: "Mastery" | ||
2 | display_name: "Relentless" | ||
3 | masteries { | ||
4 | name: "MASTERY" | ||
5 | path: "Components/Collectables/smiley" | ||
6 | } | ||
diff --git a/data/maps/the_relentless/rooms/Shop Room.txtpb b/data/maps/the_relentless/rooms/Shop Room.txtpb new file mode 100644 index 0000000..c0f9cd0 --- /dev/null +++ b/data/maps/the_relentless/rooms/Shop Room.txtpb | |||
@@ -0,0 +1,36 @@ | |||
1 | name: "Shop Room" | ||
2 | display_name: "Relentless" | ||
3 | panels { | ||
4 | name: "LEFT (1)" | ||
5 | path: "Panels/Room_3/panel_5" | ||
6 | clue: "left" | ||
7 | answer: "left" | ||
8 | } | ||
9 | panels { | ||
10 | name: "LEFT (2)" | ||
11 | path: "Panels/Room_3/panel_6" | ||
12 | clue: "left" | ||
13 | answer: "write" | ||
14 | symbols: "sun" | ||
15 | symbols: "zero" | ||
16 | } | ||
17 | panels { | ||
18 | name: "EXIT (1)" | ||
19 | path: "Panels/Room_3/panel_10" | ||
20 | clue: "exit" | ||
21 | answer: "quit" | ||
22 | symbols: "sun" | ||
23 | } | ||
24 | panels { | ||
25 | name: "EXIT (2)" | ||
26 | path: "Panels/Room_3/panel_11" | ||
27 | clue: "exit" | ||
28 | answer: "exit" | ||
29 | } | ||
30 | panels { | ||
31 | name: "EXIT (3)" | ||
32 | path: "Panels/Room_3/panel_12" | ||
33 | clue: "exit" | ||
34 | answer: "enter" | ||
35 | symbols: "sun" | ||
36 | } | ||
diff --git a/data/maps/the_relentless/rooms/Turn And Shop.txtpb b/data/maps/the_relentless/rooms/Turn And Shop.txtpb new file mode 100644 index 0000000..d5b4d5d --- /dev/null +++ b/data/maps/the_relentless/rooms/Turn And Shop.txtpb | |||
@@ -0,0 +1,56 @@ | |||
1 | name: "Turn And Shop" | ||
2 | display_name: "Relentless" | ||
3 | panels { | ||
4 | name: "LEFT (1)" | ||
5 | path: "Panels/Room_2/panel_5" | ||
6 | clue: "left" | ||
7 | answer: "left" | ||
8 | } | ||
9 | panels { | ||
10 | name: "LEFT (2)" | ||
11 | path: "Panels/Room_2/panel_6" | ||
12 | clue: "left" | ||
13 | answer: "write" | ||
14 | symbols: "sun" | ||
15 | symbols: "zero" | ||
16 | } | ||
17 | panels { | ||
18 | name: "EXIT (1)" | ||
19 | path: "Panels/Room_2/panel_10" | ||
20 | clue: "exit" | ||
21 | answer: "quit" | ||
22 | symbols: "sun" | ||
23 | } | ||
24 | panels { | ||
25 | name: "EXIT (2)" | ||
26 | path: "Panels/Room_2/panel_11" | ||
27 | clue: "exit" | ||
28 | answer: "exit" | ||
29 | } | ||
30 | panels { | ||
31 | name: "EXIT (3)" | ||
32 | path: "Panels/Room_2/panel_12" | ||
33 | clue: "exit" | ||
34 | answer: "enter" | ||
35 | symbols: "sun" | ||
36 | } | ||
37 | panels { | ||
38 | name: "HIDE (1)" | ||
39 | path: "Panels/Room_3/panel_2" | ||
40 | clue: "hide" | ||
41 | answer: "hide" | ||
42 | } | ||
43 | panels { | ||
44 | name: "HIDE (2)" | ||
45 | path: "Panels/Room_3/panel_3" | ||
46 | clue: "hide" | ||
47 | answer: "seek" | ||
48 | symbols: "sun" | ||
49 | } | ||
50 | panels { | ||
51 | name: "MORE" | ||
52 | path: "Panels/Room_3/panel_9" | ||
53 | clue: "more" | ||
54 | answer: "less" | ||
55 | symbols: "sun" | ||
56 | } | ||
diff --git a/data/maps/the_relentless/rooms/Turn Room.txtpb b/data/maps/the_relentless/rooms/Turn Room.txtpb new file mode 100644 index 0000000..ad368e2 --- /dev/null +++ b/data/maps/the_relentless/rooms/Turn Room.txtpb | |||
@@ -0,0 +1,22 @@ | |||
1 | name: "Turn Room" | ||
2 | display_name: "Relentless" | ||
3 | panels { | ||
4 | name: "HIDE (1)" | ||
5 | path: "Panels/Room_2/panel_2" | ||
6 | clue: "hide" | ||
7 | answer: "hide" | ||
8 | } | ||
9 | panels { | ||
10 | name: "HIDE (2)" | ||
11 | path: "Panels/Room_2/panel_3" | ||
12 | clue: "hide" | ||
13 | answer: "seek" | ||
14 | symbols: "sun" | ||
15 | } | ||
16 | panels { | ||
17 | name: "MORE" | ||
18 | path: "Panels/Room_2/panel_9" | ||
19 | clue: "more" | ||
20 | answer: "less" | ||
21 | symbols: "sun" | ||
22 | } | ||