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.proto53
1 files changed, 52 insertions, 1 deletions
diff --git a/proto/data.proto b/proto/data.proto index 93f2227..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 {
@@ -84,6 +107,8 @@ message Connection {
84 uint64 painting = 5; 107 uint64 painting = 5;
85 ProxyIdentifier panel = 6; 108 ProxyIdentifier panel = 6;
86 } 109 }
110
111 optional bool roof_access = 7;
87} 112}
88 113
89message Door { 114message Door {
@@ -100,13 +125,15 @@ message Door {
100 optional uint64 complete_at = 12; 125 optional uint64 complete_at = 12;
101 126
102 optional string control_center_color = 6; 127 optional string control_center_color = 6;
103 repeated string switches = 7;
104 repeated KeyholderAnswer keyholders = 13; 128 repeated KeyholderAnswer keyholders = 13;
105 repeated uint64 rooms = 14; 129 repeated uint64 rooms = 14;
106 repeated uint64 doors = 15; 130 repeated uint64 doors = 15;
107 repeated uint64 endings = 16; 131 repeated uint64 endings = 16;
132 optional bool double_letters = 18;
108 133
109 optional DoorType type = 8; 134 optional DoorType type = 8;
135
136 optional string location_name = 17;
110} 137}
111 138
112message PanelData { 139message PanelData {
@@ -124,6 +151,8 @@ message PanelData {
124 151
125 optional uint64 required_door = 9; 152 optional uint64 required_door = 9;
126 optional uint64 required_room = 11; 153 optional uint64 required_room = 11;
154
155 optional string display_name = 12;
127} 156}
128 157
129message PaintingData { 158message PaintingData {
@@ -157,10 +186,12 @@ message Port {
157 186
158message KeyholderData { 187message KeyholderData {
159 optional uint64 id = 1; 188 optional uint64 id = 1;
189 optional uint64 ap_id = 6;
160 optional uint64 room_id = 2; 190 optional uint64 room_id = 2;
161 191
162 optional string name = 3; 192 optional string name = 3;
163 optional string path = 4; 193 optional string path = 4;
194 optional string key = 5;
164} 195}
165 196
166message Letter { 197message Letter {
@@ -198,6 +229,7 @@ message Room {
198 optional uint64 map_id = 8; 229 optional uint64 map_id = 8;
199 optional string name = 2; 230 optional string name = 2;
200 optional string display_name = 3; 231 optional string display_name = 3;
232 optional string panel_display_name = 13;
201 233
202 repeated uint64 panels = 4; 234 repeated uint64 panels = 4;
203 repeated uint64 paintings = 5; 235 repeated uint64 paintings = 5;
@@ -215,7 +247,24 @@ message Map {
215 optional string display_name = 3; 247 optional string display_name = 3;
216} 248}
217 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;
263}
264
218message AllObjects { 265message AllObjects {
266 optional uint64 version = 15;
267
219 repeated Map maps = 7; 268 repeated Map maps = 7;
220 repeated Room rooms = 1; 269 repeated Room rooms = 1;
221 repeated Door doors = 2; 270 repeated Door doors = 2;
@@ -227,5 +276,7 @@ message AllObjects {
227 repeated Mastery masteries = 10; 276 repeated Mastery masteries = 10;
228 repeated Ending endings = 12; 277 repeated Ending endings = 12;
229 repeated Connection connections = 6; 278 repeated Connection connections = 6;
279 repeated Progressive progressives = 13;
280 repeated DoorGroup door_groups = 14;
230 map<string, uint64> special_ids = 8; 281 map<string, uint64> special_ids = 8;
231} 282}