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.proto173
1 files changed, 103 insertions, 70 deletions
diff --git a/proto/data.proto b/proto/data.proto index b590454..f60d54f 100644 --- a/proto/data.proto +++ b/proto/data.proto
@@ -1,23 +1,56 @@
1edition = "2023"; 1syntax = "proto2";
2
3import "common.proto";
4 2
5package com.fourisland.lingo2_archipelago; 3package com.fourisland.lingo2_archipelago;
6 4
5message Proxy {
6 optional string answer = 1;
7 optional string path = 2;
8}
9
10enum DoorType {
11 DOOR_TYPE_UNKNOWN = 0;
12
13 // This door is a location unless panelsanity is on, and it is an item as long as door shuffle is on.
14 STANDARD = 1;
15
16 // This door is never an item or a location.
17 EVENT = 2;
18
19 // This door is never a location, and is an item as long as door shuffle is on.
20 ITEM_ONLY = 3;
21
22 // This door is never a location, and is an item as long as control center color shuffle is on.
23 CONTROL_CENTER_COLOR = 4;
24
25 // This door is never an item, and is a location as long as panelsanity is not on.
26 LOCATION_ONLY = 5;
27}
28
29enum AxisDirection {
30 AXIS_DIRECTION_UNKNOWN = 0;
31
32 X_PLUS = 1;
33 X_MINUS = 2;
34 Y_PLUS = 3;
35 Y_MINUS = 4;
36 Z_PLUS = 5;
37 Z_MINUS = 6;
38}
39
7message ProxyIdentifier { 40message ProxyIdentifier {
8 uint64 panel = 1; 41 optional uint64 panel = 1;
9 string answer = 2; 42 optional string answer = 2;
10} 43}
11 44
12message KeyholderAnswer { 45message KeyholderAnswer {
13 uint64 keyholder = 1; 46 optional uint64 keyholder = 1;
14 string key = 2; 47 optional string key = 2;
15} 48}
16 49
17message Connection { 50message Connection {
18 uint64 from_room = 1; 51 optional uint64 from_room = 1;
19 uint64 to_room = 2; 52 optional uint64 to_room = 2;
20 uint64 required_door = 3; 53 optional uint64 required_door = 3;
21 54
22 oneof trigger { 55 oneof trigger {
23 uint64 port = 4; 56 uint64 port = 4;
@@ -27,105 +60,105 @@ message Connection {
27} 60}
28 61
29message Door { 62message Door {
30 uint64 id = 1; 63 optional uint64 id = 1;
31 uint64 ap_id = 11; 64 optional uint64 ap_id = 11;
32 uint64 map_id = 9; 65 optional uint64 map_id = 9;
33 uint64 room_id = 10; 66 optional uint64 room_id = 10;
34 string name = 2; 67 optional string name = 2;
35 68
36 repeated string receivers = 3; 69 repeated string receivers = 3;
37 repeated uint64 move_paintings = 4; 70 repeated uint64 move_paintings = 4;
38 71
39 repeated ProxyIdentifier panels = 5; 72 repeated ProxyIdentifier panels = 5;
40 uint64 complete_at = 12; 73 optional uint64 complete_at = 12;
41 74
42 string control_center_color = 6; 75 optional string control_center_color = 6;
43 repeated string switches = 7; 76 repeated string switches = 7;
44 repeated KeyholderAnswer keyholders = 13; 77 repeated KeyholderAnswer keyholders = 13;
45 repeated uint64 rooms = 14; 78 repeated uint64 rooms = 14;
46 79
47 DoorType type = 8; 80 optional DoorType type = 8;
48} 81}
49 82
50message Panel { 83message PanelData {
51 uint64 id = 1; 84 optional uint64 id = 1;
52 uint64 ap_id = 10; 85 optional uint64 ap_id = 10;
53 uint64 room_id = 2; 86 optional uint64 room_id = 2;
54 string name = 3; 87 optional string name = 3;
55 88
56 string path = 4; 89 optional string path = 4;
57 string clue = 5; 90 optional string clue = 5;
58 string answer = 6; 91 optional string answer = 6;
59 repeated string symbols = 7; 92 repeated string symbols = 7;
60 93
61 repeated Proxy proxies = 8; 94 repeated Proxy proxies = 8;
62 95
63 uint64 required_door = 9; 96 optional uint64 required_door = 9;
64 uint64 required_room = 11; 97 optional uint64 required_room = 11;
65} 98}
66 99
67message Painting { 100message Painting {
68 uint64 id = 1; 101 optional uint64 id = 1;
69 uint64 room_id = 2; 102 optional uint64 room_id = 2;
70 string name = 9; 103 optional string name = 9;
71 104
72 string path = 10; 105 optional string path = 10;
73 string display_name = 4; 106 optional string display_name = 4;
74 107
75 string orientation = 3; 108 optional string orientation = 3;
76 bool move = 6; 109 optional bool move = 6;
77 bool enter_only = 7; 110 optional bool enter_only = 7;
78 AxisDirection gravity = 8 [default = Y_MINUS]; 111 optional AxisDirection gravity = 8;
79 bool exit_only = 11; 112 optional bool exit_only = 11;
80 113
81 uint64 required_door = 5; 114 optional uint64 required_door = 5;
82} 115}
83 116
84message Port { 117message Port {
85 uint64 id = 1; 118 optional uint64 id = 1;
86 uint64 room_id = 2; 119 optional uint64 room_id = 2;
87 string name = 3; 120 optional string name = 3;
88 121
89 string path = 4; 122 optional string path = 4;
90 string orientation = 5; 123 optional string orientation = 5;
91 AxisDirection gravity = 7 [default = Y_MINUS]; 124 optional AxisDirection gravity = 7;
92 125
93 uint64 required_door = 6; 126 optional uint64 required_door = 6;
94} 127}
95 128
96message Keyholder { 129message Keyholder {
97 uint64 id = 1; 130 optional uint64 id = 1;
98 uint64 room_id = 2; 131 optional uint64 room_id = 2;
99 132
100 string name = 3; 133 optional string name = 3;
101 string path = 4; 134 optional string path = 4;
102} 135}
103 136
104message Letter { 137message Letter {
105 uint64 id = 3; 138 optional uint64 id = 3;
106 uint64 ap_id = 5; 139 optional uint64 ap_id = 5;
107 uint64 room_id = 4; 140 optional uint64 room_id = 4;
108 141
109 string key = 1; 142 optional string key = 1;
110 bool double = 2; 143 optional bool level2 = 2;
111 144
112 string path = 6; 145 optional string path = 6;
113} 146}
114 147
115message Mastery { 148message Mastery {
116 uint64 id = 1; 149 optional uint64 id = 1;
117 uint64 ap_id = 2; 150 optional uint64 ap_id = 2;
118 uint64 room_id = 3; 151 optional uint64 room_id = 3;
119 152
120 string name = 4; 153 optional string name = 4;
121 string path = 5; 154 optional string path = 5;
122} 155}
123 156
124message Room { 157message Room {
125 uint64 id = 1; 158 optional uint64 id = 1;
126 uint64 map_id = 8; 159 optional uint64 map_id = 8;
127 string name = 2; 160 optional string name = 2;
128 string display_name = 3; 161 optional string display_name = 3;
129 162
130 repeated uint64 panels = 4; 163 repeated uint64 panels = 4;
131 repeated uint64 paintings = 5; 164 repeated uint64 paintings = 5;
@@ -137,15 +170,15 @@ message Room {
137} 170}
138 171
139message Map { 172message Map {
140 uint64 id = 1; 173 optional uint64 id = 1;
141 string name = 2; 174 optional string name = 2;
142} 175}
143 176
144message AllObjects { 177message AllObjects {
145 repeated Map maps = 7; 178 repeated Map maps = 7;
146 repeated Room rooms = 1; 179 repeated Room rooms = 1;
147 repeated Door doors = 2; 180 repeated Door doors = 2;
148 repeated Panel panels = 3; 181 repeated PanelData panels = 3;
149 repeated Painting paintings = 4; 182 repeated Painting paintings = 4;
150 repeated Port ports = 5; 183 repeated Port ports = 5;
151 repeated Keyholder keyholders = 11; 184 repeated Keyholder keyholders = 11;