summary refs log tree commit diff stats
path: root/data/maps
diff options
context:
space:
mode:
Diffstat (limited to 'data/maps')
-rw-r--r--data/maps/the_relentless/README25
-rw-r--r--data/maps/the_relentless/connections.txtpb41
-rw-r--r--data/maps/the_relentless/doors.txtpb79
-rw-r--r--data/maps/the_relentless/rooms/All.txtpb58
-rw-r--r--data/maps/the_relentless/rooms/Left And Turn.txtpb63
-rw-r--r--data/maps/the_relentless/rooms/Left Room.txtpb23
-rw-r--r--data/maps/the_relentless/rooms/Mastery.txtpb6
-rw-r--r--data/maps/the_relentless/rooms/Shop Room.txtpb36
-rw-r--r--data/maps/the_relentless/rooms/Turn And Shop.txtpb56
-rw-r--r--data/maps/the_relentless/rooms/Turn Room.txtpb22
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 @@
1The Relentless is complicated because it makes heavy use of the keyholder
2mechanic. There are three rooms, and you are expected to enter each room missing
3certain letters. Solving the available puzzles in each room opens the doors
4between the rooms, which lets you cross into them with a different set of
5missing letters.
6
7There currently isn't a way to represent "is missing certain letters" in our map
8data or randomizer state. Instead, we use rooms to emulate knowing which letters
9are available. There is a room for each of the three entrances, containing the
10puzzles solvable with the expected missing letters. There's a room for each of
11the inner pairs of rooms, representing what becomes available when one of the
12doors is opened, and a room representing what is solvable when both doors are
13opened.
14
15This is all done with the expectation that you are always entering The
16Relentless with the correct letters in the Control Center's keyholders. Because
17of this, the warps to The Relentless are not randomizable. The Control Center
18keywords that open these warps are also not randomizable. It'd be nice to find a
19way to randomize this at a later point.
20
21Also note that in order to keep this functioning properly, if the player
22receives a letter item while in The Relentless, the mod should hold off on
23adding it to the player's keyboard. We may want to overhaul how keyholders work
24entirely and just have some kind of thing in the Archipelago client's global
25state.
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 @@
1connections {
2 from_room: "Left Room"
3 to_room: "Left And Turn"
4 door { name: "Left/Turn Door" }
5 oneway: true
6}
7connections {
8 from_room: "Turn Room"
9 to_room: "Left And Turn"
10 door { name: "Left/Turn Door" }
11 oneway: true
12}
13connections {
14 from_room: "Turn Room"
15 to_room: "Turn And Shop"
16 door { name: "Turn/Shop Door" }
17 oneway: true
18}
19connections {
20 from_room: "Shop Room"
21 to_room: "Turn And Shop"
22 door { name: "Turn/Shop Door" }
23 oneway: true
24}
25connections {
26 from_room: "Left And Turn"
27 to_room: "All"
28 door { name: "All Doors" }
29 oneway: true
30}
31connections {
32 from_room: "Turn And Shop"
33 to_room: "All"
34 door { name: "All Doors" }
35 oneway: true
36}
37connections {
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 @@
1doors {
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}
12doors {
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}
25doors {
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}
40doors {
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 @@
1name: "All"
2display_name: "Relentless"
3panels {
4 name: "LEFT (1)"
5 path: "Panels/Room_1/panel_6"
6 clue: "left"
7 answer: "write"
8 symbols: "sun"
9 symbols: "zero"
10}
11panels {
12 name: "EXIT (1)"
13 path: "Panels/Room_1/panel_10"
14 clue: "exit"
15 answer: "quit"
16 symbols: "sun"
17}
18panels {
19 name: "EXIT (2)"
20 path: "Panels/Room_1/panel_11"
21 clue: "exit"
22 answer: "exit"
23}
24panels {
25 name: "EXIT (3)"
26 path: "Panels/Room_1/panel_12"
27 clue: "exit"
28 answer: "enter"
29 symbols: "sun"
30}
31panels {
32 name: "HIDE"
33 path: "Panels/Room_3/panel_1"
34 clue: "hide"
35 answer: "unmask"
36 symbols: "sun"
37}
38panels {
39 name: "LEFT (2)"
40 path: "Panels/Room_3/panel_4"
41 clue: "left"
42 answer: "wrong"
43 symbols: "sun"
44}
45panels {
46 name: "MORE (1)"
47 path: "Panels/Room_3/panel_7"
48 clue: "more"
49 answer: "your"
50 symbols: "zero"
51}
52panels {
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 @@
1name: "Left And Turn"
2display_name: "Relentless"
3panels {
4 name: "HIDE (1)"
5 path: "Panels/Room_1/panel_2"
6 clue: "hide"
7 answer: "hide"
8}
9panels {
10 name: "HIDE (2)"
11 path: "Panels/Room_1/panel_3"
12 clue: "hide"
13 answer: "seek"
14 symbols: "sun"
15}
16panels {
17 name: "LEFT (1)"
18 path: "Panels/Room_1/panel_5"
19 clue: "left"
20 answer: "left"
21}
22panels {
23 name: "MORE (1)"
24 path: "Panels/Room_1/panel_8"
25 clue: "more"
26 answer: "me"
27 symbols: "sparkles"
28}
29panels {
30 name: "MORE (2)"
31 path: "Panels/Room_1/panel_9"
32 clue: "more"
33 answer: "less"
34 symbols: "sun"
35}
36panels {
37 name: "HIDE (3)"
38 path: "Panels/Room_2/panel_1"
39 clue: "hide"
40 answer: "unmask"
41 symbols: "sun"
42}
43panels {
44 name: "LEFT (2)"
45 path: "Panels/Room_2/panel_4"
46 clue: "left"
47 answer: "wrong"
48 symbols: "sun"
49}
50panels {
51 name: "MORE (3)"
52 path: "Panels/Room_2/panel_7"
53 clue: "more"
54 answer: "your"
55 symbols: "zero"
56}
57panels {
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 @@
1name: "Left Room"
2display_name: "Relentless"
3panels {
4 name: "HIDE"
5 path: "Panels/Room_1/panel_1"
6 clue: "hide"
7 answer: "unmask"
8 symbols: "sun"
9}
10panels {
11 name: "LEFT"
12 path: "Panels/Room_1/panel_4"
13 clue: "left"
14 answer: "wrong"
15 symbols: "sun"
16}
17panels {
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 @@
1name: "Mastery"
2display_name: "Relentless"
3masteries {
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 @@
1name: "Shop Room"
2display_name: "Relentless"
3panels {
4 name: "LEFT (1)"
5 path: "Panels/Room_3/panel_5"
6 clue: "left"
7 answer: "left"
8}
9panels {
10 name: "LEFT (2)"
11 path: "Panels/Room_3/panel_6"
12 clue: "left"
13 answer: "write"
14 symbols: "sun"
15 symbols: "zero"
16}
17panels {
18 name: "EXIT (1)"
19 path: "Panels/Room_3/panel_10"
20 clue: "exit"
21 answer: "quit"
22 symbols: "sun"
23}
24panels {
25 name: "EXIT (2)"
26 path: "Panels/Room_3/panel_11"
27 clue: "exit"
28 answer: "exit"
29}
30panels {
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 @@
1name: "Turn And Shop"
2display_name: "Relentless"
3panels {
4 name: "LEFT (1)"
5 path: "Panels/Room_2/panel_5"
6 clue: "left"
7 answer: "left"
8}
9panels {
10 name: "LEFT (2)"
11 path: "Panels/Room_2/panel_6"
12 clue: "left"
13 answer: "write"
14 symbols: "sun"
15 symbols: "zero"
16}
17panels {
18 name: "EXIT (1)"
19 path: "Panels/Room_2/panel_10"
20 clue: "exit"
21 answer: "quit"
22 symbols: "sun"
23}
24panels {
25 name: "EXIT (2)"
26 path: "Panels/Room_2/panel_11"
27 clue: "exit"
28 answer: "exit"
29}
30panels {
31 name: "EXIT (3)"
32 path: "Panels/Room_2/panel_12"
33 clue: "exit"
34 answer: "enter"
35 symbols: "sun"
36}
37panels {
38 name: "HIDE (1)"
39 path: "Panels/Room_3/panel_2"
40 clue: "hide"
41 answer: "hide"
42}
43panels {
44 name: "HIDE (2)"
45 path: "Panels/Room_3/panel_3"
46 clue: "hide"
47 answer: "seek"
48 symbols: "sun"
49}
50panels {
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 @@
1name: "Turn Room"
2display_name: "Relentless"
3panels {
4 name: "HIDE (1)"
5 path: "Panels/Room_2/panel_2"
6 clue: "hide"
7 answer: "hide"
8}
9panels {
10 name: "HIDE (2)"
11 path: "Panels/Room_2/panel_3"
12 clue: "hide"
13 answer: "seek"
14 symbols: "sun"
15}
16panels {
17 name: "MORE"
18 path: "Panels/Room_2/panel_9"
19 clue: "more"
20 answer: "less"
21 symbols: "sun"
22}