summary refs log tree commit diff stats
path: root/proto/human.proto
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2025-08-07 10:48:01 -0400
committerStar Rauchenberger <fefferburbia@gmail.com>2025-08-07 10:48:01 -0400
commit1eacf01378d4dff3aed73fffcc42e0352b93835e (patch)
treea90fd3b0e829bab1acef32ffc63aafe1fafc61a9 /proto/human.proto
parente36aead557d767539326b230f9ba8b89b4d1d1df (diff)
downloadlingo2-archipelago-1eacf01378d4dff3aed73fffcc42e0352b93835e.tar.gz
lingo2-archipelago-1eacf01378d4dff3aed73fffcc42e0352b93835e.tar.bz2
lingo2-archipelago-1eacf01378d4dff3aed73fffcc42e0352b93835e.zip
Trying out protobuf I guess
Diffstat (limited to 'proto/human.proto')
-rw-r--r--proto/human.proto150
1 files changed, 150 insertions, 0 deletions
diff --git a/proto/human.proto b/proto/human.proto new file mode 100644 index 0000000..06c89cd --- /dev/null +++ b/proto/human.proto
@@ -0,0 +1,150 @@
1edition = "2023";
2
3package com.fourisland.lingo2_archipelago;
4
5message RoomIdentifier {
6 string map = 1;
7 string name = 2;
8}
9
10message DoorIdentifier {
11 string map = 1;
12 string name = 2;
13}
14
15message PortIdentifier {
16 string map = 1;
17 string room = 2;
18 string name = 3;
19}
20
21message PaintingIdentifier {
22 string map = 1;
23 string room = 2;
24 string name = 3;
25}
26
27message PanelIdentifier {
28 string map = 1;
29 string room = 2;
30 string name = 3;
31 string answer = 4;
32}
33
34message HumanConnection {
35 message Endpoint {
36 oneof endpoint {
37 RoomIdentifier room = 1;
38 PortIdentifier port = 2;
39 PaintingIdentifier painting = 3;
40 PanelIdentifier panel = 4;
41 }
42 }
43
44 oneof From {
45 Endpoint from = 1;
46 string from_room = 5;
47 }
48
49 oneof To {
50 Endpoint to = 2;
51 string to_room = 6;
52 }
53
54 bool oneway = 3;
55 DoorIdentifier door = 4;
56}
57
58message HumanConnections {
59 repeated HumanConnection connections = 1;
60}
61
62message HumanDoor {
63 enum DoorType {
64 DOOR_TYPE_UNKNOWN = 0;
65
66 // This door is a location unless panelsanity is on, and it is an item as long as door shuffle is on.
67 STANDARD = 1;
68
69 // This door is never an item or a location.
70 EVENT = 2;
71
72 // This door is never a location, and is an item as long as door shuffle is on.
73 ITEM_ONLY = 3;
74
75 // This door is never a location, and is an item as long as control center color shuffle is on.
76 CONTROL_CENTER_COLOR = 4;
77 }
78
79 string name = 1;
80
81 repeated string receivers = 2;
82 repeated PaintingIdentifier move_paintings = 8;
83
84 repeated PanelIdentifier panels = 3;
85 string control_center_color = 6;
86 repeated string switches = 7;
87
88 repeated string location_tags = 4;
89 repeated string item_tags = 5;
90}
91
92message HumanDoors {
93 repeated HumanDoor doors = 1;
94}
95
96message Proxy {
97 string answer = 1;
98 string path = 2;
99}
100
101message HumanPanel {
102 string name = 1;
103 string path = 5;
104
105 string clue = 2;
106 string answer = 3;
107 repeated string symbols = 4;
108
109 repeated Proxy proxies = 6;
110
111 DoorIdentifier required_door = 7;
112}
113
114message HumanPainting {
115 string name = 1;
116 string path = 2;
117
118 string display_name = 4;
119
120 string orientation = 3;
121 bool move = 6;
122 bool enter_only = 7;
123 bool flipped = 8;
124
125 DoorIdentifier required_door = 5;
126}
127
128message Letter {
129 string letter = 1;
130 bool double = 2;
131}
132
133message HumanPort {
134 string name = 1;
135 string path = 2;
136
137 string orientation = 3;
138
139 DoorIdentifier required_door = 4;
140}
141
142message HumanRoom {
143 string name = 1;
144 string display_name = 2;
145
146 repeated HumanPanel panels = 3;
147 repeated HumanPainting paintings = 4;
148 repeated Letter letters = 5;
149 repeated HumanPort ports = 6;
150}