summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--data/connections.txtpb1
-rw-r--r--data/ids.txtpb262
-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
12 files changed, 672 insertions, 0 deletions
diff --git a/data/connections.txtpb b/data/connections.txtpb index 5b07752..8c25813 100644 --- a/data/connections.txtpb +++ b/data/connections.txtpb
@@ -55,6 +55,7 @@
55# the_plaza/Symbolic Entrance/SYMBOLIC 55# the_plaza/Symbolic Entrance/SYMBOLIC
56# the_plaza/Sirenic Entrance/SIRENIC 56# the_plaza/Sirenic Entrance/SIRENIC
57# the_quiet/Main Area/DAEDALUS 57# the_quiet/Main Area/DAEDALUS
58# cc -> relentless (don't use port objects)
58connections { 59connections {
59 from { 60 from {
60 port { 61 port {
diff --git a/data/ids.txtpb b/data/ids.txtpb index eb5786c..43ba64b 100644 --- a/data/ids.txtpb +++ b/data/ids.txtpb
@@ -4854,6 +4854,264 @@ maps {
4854 } 4854 }
4855 } 4855 }
4856} 4856}
4857maps {
4858 key: "the_quiet"
4859 value {
4860 doors {
4861 key: "Side Door"
4862 value: 976
4863 }
4864 rooms {
4865 key: "Main Area"
4866 value {
4867 panels {
4868 key: "BEE"
4869 value: 985
4870 }
4871 panels {
4872 key: "COIN"
4873 value: 979
4874 }
4875 panels {
4876 key: "CRUSH"
4877 value: 988
4878 }
4879 panels {
4880 key: "DEMAND"
4881 value: 983
4882 }
4883 panels {
4884 key: "DISAGREE"
4885 value: 982
4886 }
4887 panels {
4888 key: "DUO"
4889 value: 986
4890 }
4891 panels {
4892 key: "FLOWER"
4893 value: 984
4894 }
4895 panels {
4896 key: "LINGO 2"
4897 value: 987
4898 }
4899 panels {
4900 key: "PORCUPINE"
4901 value: 981
4902 }
4903 panels {
4904 key: "RODENT"
4905 value: 978
4906 }
4907 panels {
4908 key: "RULE"
4909 value: 980
4910 }
4911 panels {
4912 key: "SOLID"
4913 value: 977
4914 }
4915 }
4916 }
4917 }
4918}
4919maps {
4920 key: "the_relentless"
4921 value {
4922 doors {
4923 key: "Left/Turn Door"
4924 value: 990
4925 }
4926 doors {
4927 key: "Turn/Shop Door"
4928 value: 991
4929 }
4930 rooms {
4931 key: "All"
4932 value {
4933 panels {
4934 key: "EXIT (1)"
4935 value: 993
4936 }
4937 panels {
4938 key: "EXIT (2)"
4939 value: 994
4940 }
4941 panels {
4942 key: "EXIT (3)"
4943 value: 995
4944 }
4945 panels {
4946 key: "HIDE"
4947 value: 996
4948 }
4949 panels {
4950 key: "LEFT (1)"
4951 value: 992
4952 }
4953 panels {
4954 key: "LEFT (2)"
4955 value: 997
4956 }
4957 panels {
4958 key: "MORE (1)"
4959 value: 998
4960 }
4961 panels {
4962 key: "MORE (2)"
4963 value: 999
4964 }
4965 }
4966 }
4967 rooms {
4968 key: "Left And Turn"
4969 value {
4970 panels {
4971 key: "HIDE (1)"
4972 value: 1000
4973 }
4974 panels {
4975 key: "HIDE (2)"
4976 value: 1001
4977 }
4978 panels {
4979 key: "HIDE (3)"
4980 value: 1005
4981 }
4982 panels {
4983 key: "LEFT (1)"
4984 value: 1002
4985 }
4986 panels {
4987 key: "LEFT (2)"
4988 value: 1006
4989 }
4990 panels {
4991 key: "MORE (1)"
4992 value: 1003
4993 }
4994 panels {
4995 key: "MORE (2)"
4996 value: 1004
4997 }
4998 panels {
4999 key: "MORE (3)"
5000 value: 1007
5001 }
5002 panels {
5003 key: "MORE (4)"
5004 value: 1008
5005 }
5006 }
5007 }
5008 rooms {
5009 key: "Left Room"
5010 value {
5011 panels {
5012 key: "HIDE"
5013 value: 1009
5014 }
5015 panels {
5016 key: "LEFT"
5017 value: 1010
5018 }
5019 panels {
5020 key: "MORE"
5021 value: 1011
5022 }
5023 }
5024 }
5025 rooms {
5026 key: "Mastery"
5027 value {
5028 masteries {
5029 key: "MASTERY"
5030 value: 1012
5031 }
5032 }
5033 }
5034 rooms {
5035 key: "Shop Room"
5036 value {
5037 panels {
5038 key: "EXIT (1)"
5039 value: 1015
5040 }
5041 panels {
5042 key: "EXIT (2)"
5043 value: 1016
5044 }
5045 panels {
5046 key: "EXIT (3)"
5047 value: 1017
5048 }
5049 panels {
5050 key: "LEFT (1)"
5051 value: 1013
5052 }
5053 panels {
5054 key: "LEFT (2)"
5055 value: 1014
5056 }
5057 }
5058 }
5059 rooms {
5060 key: "Turn And Shop"
5061 value {
5062 panels {
5063 key: "EXIT (1)"
5064 value: 1020
5065 }
5066 panels {
5067 key: "EXIT (2)"
5068 value: 1021
5069 }
5070 panels {
5071 key: "EXIT (3)"
5072 value: 1022
5073 }
5074 panels {
5075 key: "HIDE (1)"
5076 value: 1023
5077 }
5078 panels {
5079 key: "HIDE (2)"
5080 value: 1024
5081 }
5082 panels {
5083 key: "LEFT (1)"
5084 value: 1018
5085 }
5086 panels {
5087 key: "LEFT (2)"
5088 value: 1019
5089 }
5090 panels {
5091 key: "MORE"
5092 value: 1025
5093 }
5094 }
5095 }
5096 rooms {
5097 key: "Turn Room"
5098 value {
5099 panels {
5100 key: "HIDE (1)"
5101 value: 1026
5102 }
5103 panels {
5104 key: "HIDE (2)"
5105 value: 1027
5106 }
5107 panels {
5108 key: "MORE"
5109 value: 1028
5110 }
5111 }
5112 }
5113 }
5114}
4857special { 5115special {
4858 key: "Nothing" 5116 key: "Nothing"
4859 value: 975 5117 value: 975
@@ -4963,6 +5221,10 @@ letters {
4963 value: 32 5221 value: 32
4964} 5222}
4965letters { 5223letters {
5224 key: "q1"
5225 value: 989
5226}
5227letters {
4966 key: "q2" 5228 key: "q2"
4967 value: 45 5229 value: 45
4968} 5230}
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}