about summary refs log tree commit diff stats
path: root/proto/human.proto
diff options
context:
space:
mode:
Diffstat (limited to 'proto/human.proto')
-rw-r--r--proto/human.proto47
1 files changed, 46 insertions, 1 deletions
diff --git a/proto/human.proto b/proto/human.proto index c7e2f5d..f9517bd 100644 --- a/proto/human.proto +++ b/proto/human.proto
@@ -62,6 +62,14 @@ message HumanConnection {
62 62
63 optional bool oneway = 3; 63 optional bool oneway = 3;
64 optional DoorIdentifier door = 4; 64 optional DoorIdentifier door = 4;
65
66 // If true, this connection will only be logically allowed if the Daedalus
67 // Roof Access option is enabled.
68 optional bool roof_access = 7;
69
70 // This means that the connection intentionally skips the target object's
71 // required door.
72 optional bool bypass_target_door = 8;
65} 73}
66 74
67message HumanConnections { 75message HumanConnections {
@@ -82,13 +90,16 @@ message HumanDoor {
82 optional uint64 complete_at = 9; 90 optional uint64 complete_at = 9;
83 91
84 optional string control_center_color = 6; 92 optional string control_center_color = 6;
85 repeated string switches = 7;
86 repeated KeyholderIdentifier keyholders = 10; 93 repeated KeyholderIdentifier keyholders = 10;
87 repeated RoomIdentifier rooms = 11; 94 repeated RoomIdentifier rooms = 11;
88 repeated DoorIdentifier doors = 12; 95 repeated DoorIdentifier doors = 12;
89 repeated string endings = 13; 96 repeated string endings = 13;
90 optional bool double_letters = 15; 97 optional bool double_letters = 15;
91 98
99 // Sender nodes to be added to the list of requirements for triggering the
100 // location. Only for senders that have no logic requirements.
101 repeated string senders = 16;
102
92 optional DoorType type = 4; 103 optional DoorType type = 4;
93 optional string location_room = 5; 104 optional string location_room = 5;
94 optional string location_name = 14; 105 optional string location_name = 14;
@@ -142,6 +153,13 @@ message HumanPort {
142message HumanKeyholder { 153message HumanKeyholder {
143 optional string name = 1; 154 optional string name = 1;
144 optional string path = 2; 155 optional string path = 2;
156
157 // If this is set, the keyholder will become a location when keyholder shuffle
158 // is enabled. This value specifies the key that is required to clear the
159 // location. It should be the same as the key needed for Green Ending. The
160 // only cases when this shouldn't be set is the two disappearing keyholders in
161 // The Congruent.
162 optional string key = 3;
145} 163}
146 164
147message HumanLetter { 165message HumanLetter {
@@ -183,10 +201,35 @@ message HumanMap {
183 repeated string excluded_nodes = 2; 201 repeated string excluded_nodes = 2;
184} 202}
185 203
204message HumanProgressive {
205 optional string name = 1;
206 repeated DoorIdentifier doors = 2;
207}
208
209message HumanProgressives {
210 repeated HumanProgressive progressives = 1;
211}
212
213message HumanDoorGroup {
214 optional string name = 1;
215 optional DoorGroupType type = 2;
216 repeated DoorIdentifier doors = 3;
217}
218
219message HumanDoorGroups {
220 repeated HumanDoorGroup door_groups = 1;
221}
222
223message HumanGlobalMetadata {
224 repeated string special_names = 1;
225 optional uint64 version = 2;
226}
227
186message IdMappings { 228message IdMappings {
187 message RoomIds { 229 message RoomIds {
188 map<string, uint64> panels = 1; 230 map<string, uint64> panels = 1;
189 map<string, uint64> masteries = 2; 231 map<string, uint64> masteries = 2;
232 map<string, uint64> keyholders = 3;
190 } 233 }
191 234
192 message MapIds { 235 message MapIds {
@@ -198,4 +241,6 @@ message IdMappings {
198 map<string, uint64> special = 2; 241 map<string, uint64> special = 2;
199 map<string, uint64> letters = 3; 242 map<string, uint64> letters = 3;
200 map<string, uint64> endings = 4; 243 map<string, uint64> endings = 4;
244 map<string, uint64> progressives = 5;
245 map<string, uint64> door_groups = 6;
201} 246}