about summary refs log tree commit diff stats
path: root/proto
diff options
context:
space:
mode:
Diffstat (limited to 'proto')
-rw-r--r--proto/data.proto30
-rw-r--r--proto/human.proto12
2 files changed, 40 insertions, 2 deletions
diff --git a/proto/data.proto b/proto/data.proto index 855c28c..014cbeb 100644 --- a/proto/data.proto +++ b/proto/data.proto
@@ -29,6 +29,26 @@ enum DoorType {
29 GRAVESTONE = 6; 29 GRAVESTONE = 6;
30} 30}
31 31
32enum DoorGroupType {
33 DOOR_GROUP_TYPE_UNKNOWN = 0;
34
35 // These doors border a worldport. They should be grouped when connections are
36 // not shuffled.
37 CONNECTOR = 1;
38
39 // Similar to CONNECTOR, but these doors are also ordinarily opened by solving
40 // the COLOR panel in the Control Center. These should be grouped when
41 // connections are not shuffled, but are not items at all when control center
42 // colors are not shuffled.
43 COLOR_CONNECTOR = 2;
44
45 // Groups with this type become an item if cyan door behavior is set to item.
46 CYAN_DOORS = 3;
47
48 // Groups with this type always become an item if door shuffle is on.
49 SHUFFLE_GROUP = 4;
50}
51
32enum AxisDirection { 52enum AxisDirection {
33 AXIS_DIRECTION_UNKNOWN = 0; 53 AXIS_DIRECTION_UNKNOWN = 0;
34 54
@@ -102,7 +122,6 @@ message Door {
102 optional uint64 complete_at = 12; 122 optional uint64 complete_at = 12;
103 123
104 optional string control_center_color = 6; 124 optional string control_center_color = 6;
105 repeated string switches = 7;
106 repeated KeyholderAnswer keyholders = 13; 125 repeated KeyholderAnswer keyholders = 13;
107 repeated uint64 rooms = 14; 126 repeated uint64 rooms = 14;
108 repeated uint64 doors = 15; 127 repeated uint64 doors = 15;
@@ -232,6 +251,14 @@ message Progressive {
232 repeated uint64 doors = 4; 251 repeated uint64 doors = 4;
233} 252}
234 253
254message DoorGroup {
255 optional uint64 id = 1;
256 optional string name = 2;
257 optional uint64 ap_id = 3;
258 optional DoorGroupType type = 4;
259 repeated uint64 doors = 5;
260}
261
235message AllObjects { 262message AllObjects {
236 repeated Map maps = 7; 263 repeated Map maps = 7;
237 repeated Room rooms = 1; 264 repeated Room rooms = 1;
@@ -245,5 +272,6 @@ message AllObjects {
245 repeated Ending endings = 12; 272 repeated Ending endings = 12;
246 repeated Connection connections = 6; 273 repeated Connection connections = 6;
247 repeated Progressive progressives = 13; 274 repeated Progressive progressives = 13;
275 repeated DoorGroup door_groups = 14;
248 map<string, uint64> special_ids = 8; 276 map<string, uint64> special_ids = 8;
249} 277}
diff --git a/proto/human.proto b/proto/human.proto index 205b867..d48f687 100644 --- a/proto/human.proto +++ b/proto/human.proto
@@ -86,7 +86,6 @@ message HumanDoor {
86 optional uint64 complete_at = 9; 86 optional uint64 complete_at = 9;
87 87
88 optional string control_center_color = 6; 88 optional string control_center_color = 6;
89 repeated string switches = 7;
90 repeated KeyholderIdentifier keyholders = 10; 89 repeated KeyholderIdentifier keyholders = 10;
91 repeated RoomIdentifier rooms = 11; 90 repeated RoomIdentifier rooms = 11;
92 repeated DoorIdentifier doors = 12; 91 repeated DoorIdentifier doors = 12;
@@ -203,6 +202,16 @@ message HumanProgressives {
203 repeated HumanProgressive progressives = 1; 202 repeated HumanProgressive progressives = 1;
204} 203}
205 204
205message HumanDoorGroup {
206 optional string name = 1;
207 optional DoorGroupType type = 2;
208 repeated DoorIdentifier doors = 3;
209}
210
211message HumanDoorGroups {
212 repeated HumanDoorGroup door_groups = 1;
213}
214
206message IdMappings { 215message IdMappings {
207 message RoomIds { 216 message RoomIds {
208 map<string, uint64> panels = 1; 217 map<string, uint64> panels = 1;
@@ -220,4 +229,5 @@ message IdMappings {
220 map<string, uint64> letters = 3; 229 map<string, uint64> letters = 3;
221 map<string, uint64> endings = 4; 230 map<string, uint64> endings = 4;
222 map<string, uint64> progressives = 5; 231 map<string, uint64> progressives = 5;
232 map<string, uint64> door_groups = 6;
223} 233}