about summary refs log tree commit diff stats
path: root/proto/data.proto
diff options
context:
space:
mode:
Diffstat (limited to 'proto/data.proto')
-rw-r--r--proto/data.proto101
1 files changed, 95 insertions, 6 deletions
diff --git a/proto/data.proto b/proto/data.proto index 88e17d0..bf216b9 100644 --- a/proto/data.proto +++ b/proto/data.proto
@@ -27,6 +27,29 @@ enum DoorType {
27 27
28 // This door is an item if gravestone shuffle is enabled, and is a location as long as panelsanity is not on. 28 // This door is an item if gravestone shuffle is enabled, and is a location as long as panelsanity is not on.
29 GRAVESTONE = 6; 29 GRAVESTONE = 6;
30
31 // This door is never a location, and is an item as long as gallery painting shuffle is on.
32 GALLERY_PAINTING = 7;
33}
34
35enum DoorGroupType {
36 DOOR_GROUP_TYPE_UNKNOWN = 0;
37
38 // These doors border a worldport. They should be grouped when connections are
39 // not shuffled.
40 CONNECTOR = 1;
41
42 // Similar to CONNECTOR, but these doors are also ordinarily opened by solving
43 // the COLOR panel in the Control Center. These should be grouped when
44 // connections are not shuffled, but are not items at all when control center
45 // colors are not shuffled.
46 COLOR_CONNECTOR = 2;
47
48 // Groups with this type become an item if cyan door behavior is set to item.
49 CYAN_DOORS = 3;
50
51 // Groups with this type always become an item if door shuffle is on.
52 SHUFFLE_GROUP = 4;
30} 53}
31 54
32enum AxisDirection { 55enum AxisDirection {
@@ -40,6 +63,30 @@ enum AxisDirection {
40 Z_MINUS = 6; 63 Z_MINUS = 6;
41} 64}
42 65
66enum PuzzleSymbol {
67 PUZZLE_SYMBOL_UNKNOWN = 0;
68
69 SUN = 1;
70 SPARKLES = 2;
71 ZERO = 3;
72 EXAMPLE = 4;
73 BOXES = 5;
74 PLANET = 6;
75 PYRAMID = 7;
76 CROSS = 8;
77 SWEET = 9;
78 GENDER = 10;
79 AGE = 11;
80 SOUND = 12;
81 ANAGRAM = 13;
82 JOB = 14;
83 STARS = 15;
84 NULL = 16;
85 EVAL = 17;
86 LINGO = 18;
87 QUESTION = 19;
88}
89
43message ProxyIdentifier { 90message ProxyIdentifier {
44 optional uint64 panel = 1; 91 optional uint64 panel = 1;
45 optional string answer = 2; 92 optional string answer = 2;
@@ -60,6 +107,8 @@ message Connection {
60 uint64 painting = 5; 107 uint64 painting = 5;
61 ProxyIdentifier panel = 6; 108 ProxyIdentifier panel = 6;
62 } 109 }
110
111 optional bool roof_access = 7;
63} 112}
64 113
65message Door { 114message Door {
@@ -76,12 +125,15 @@ message Door {
76 optional uint64 complete_at = 12; 125 optional uint64 complete_at = 12;
77 126
78 optional string control_center_color = 6; 127 optional string control_center_color = 6;
79 repeated string switches = 7;
80 repeated KeyholderAnswer keyholders = 13; 128 repeated KeyholderAnswer keyholders = 13;
81 repeated uint64 rooms = 14; 129 repeated uint64 rooms = 14;
82 repeated uint64 doors = 15; 130 repeated uint64 doors = 15;
131 repeated uint64 endings = 16;
132 optional bool double_letters = 18;
83 133
84 optional DoorType type = 8; 134 optional DoorType type = 8;
135
136 optional string location_name = 17;
85} 137}
86 138
87message PanelData { 139message PanelData {
@@ -93,15 +145,17 @@ message PanelData {
93 optional string path = 4; 145 optional string path = 4;
94 optional string clue = 5; 146 optional string clue = 5;
95 optional string answer = 6; 147 optional string answer = 6;
96 repeated string symbols = 7; 148 repeated PuzzleSymbol symbols = 7;
97 149
98 repeated Proxy proxies = 8; 150 repeated Proxy proxies = 8;
99 151
100 optional uint64 required_door = 9; 152 optional uint64 required_door = 9;
101 optional uint64 required_room = 11; 153 optional uint64 required_room = 11;
154
155 optional string display_name = 12;
102} 156}
103 157
104message Painting { 158message PaintingData {
105 optional uint64 id = 1; 159 optional uint64 id = 1;
106 optional uint64 room_id = 2; 160 optional uint64 room_id = 2;
107 optional string name = 9; 161 optional string name = 9;
@@ -130,12 +184,14 @@ message Port {
130 optional uint64 required_door = 6; 184 optional uint64 required_door = 6;
131} 185}
132 186
133message Keyholder { 187message KeyholderData {
134 optional uint64 id = 1; 188 optional uint64 id = 1;
189 optional uint64 ap_id = 6;
135 optional uint64 room_id = 2; 190 optional uint64 room_id = 2;
136 191
137 optional string name = 3; 192 optional string name = 3;
138 optional string path = 4; 193 optional string path = 4;
194 optional string key = 5;
139} 195}
140 196
141message Letter { 197message Letter {
@@ -158,11 +214,22 @@ message Mastery {
158 optional string path = 5; 214 optional string path = 5;
159} 215}
160 216
217message Ending {
218 optional uint64 id = 1;
219 optional uint64 ap_id = 2;
220 optional uint64 room_id = 3;
221
222 optional string name = 4;
223
224 optional string path = 5;
225}
226
161message Room { 227message Room {
162 optional uint64 id = 1; 228 optional uint64 id = 1;
163 optional uint64 map_id = 8; 229 optional uint64 map_id = 8;
164 optional string name = 2; 230 optional string name = 2;
165 optional string display_name = 3; 231 optional string display_name = 3;
232 optional string panel_display_name = 13;
166 233
167 repeated uint64 panels = 4; 234 repeated uint64 panels = 4;
168 repeated uint64 paintings = 5; 235 repeated uint64 paintings = 5;
@@ -171,23 +238,45 @@ message Room {
171 repeated uint64 doors = 9; 238 repeated uint64 doors = 9;
172 repeated uint64 masteries = 10; 239 repeated uint64 masteries = 10;
173 repeated uint64 keyholders = 11; 240 repeated uint64 keyholders = 11;
241 repeated uint64 endings = 12;
174} 242}
175 243
176message Map { 244message Map {
177 optional uint64 id = 1; 245 optional uint64 id = 1;
178 optional string name = 2; 246 optional string name = 2;
247 optional string display_name = 3;
248}
249
250message Progressive {
251 optional uint64 id = 1;
252 optional string name = 2;
253 optional uint64 ap_id = 3;
254 repeated uint64 doors = 4;
255}
256
257message DoorGroup {
258 optional uint64 id = 1;
259 optional string name = 2;
260 optional uint64 ap_id = 3;
261 optional DoorGroupType type = 4;
262 repeated uint64 doors = 5;
179} 263}
180 264
181message AllObjects { 265message AllObjects {
266 optional uint64 version = 15;
267
182 repeated Map maps = 7; 268 repeated Map maps = 7;
183 repeated Room rooms = 1; 269 repeated Room rooms = 1;
184 repeated Door doors = 2; 270 repeated Door doors = 2;
185 repeated PanelData panels = 3; 271 repeated PanelData panels = 3;
186 repeated Painting paintings = 4; 272 repeated PaintingData paintings = 4;
187 repeated Port ports = 5; 273 repeated Port ports = 5;
188 repeated Keyholder keyholders = 11; 274 repeated KeyholderData keyholders = 11;
189 repeated Letter letters = 9; 275 repeated Letter letters = 9;
190 repeated Mastery masteries = 10; 276 repeated Mastery masteries = 10;
277 repeated Ending endings = 12;
191 repeated Connection connections = 6; 278 repeated Connection connections = 6;
279 repeated Progressive progressives = 13;
280 repeated DoorGroup door_groups = 14;
192 map<string, uint64> special_ids = 8; 281 map<string, uint64> special_ids = 8;
193} 282}