summary refs log tree commit diff stats
path: root/proto/data.proto
blob: dd7a2a3287e12c96422c5ef1bdc596495fab09d9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
edition = "2023";

import "common.proto";

package com.fourisland.lingo2_archipelago;

message ProxyIdentifier {
  uint64 panel = 1;
  string answer = 2;
}

message Connection {
  uint64 from_room = 1;
  uint64 to_room = 2;
  uint64 required_door = 3;

  oneof trigger {
    uint64 port = 4;
    uint64 painting = 5;
    ProxyIdentifier panel = 6;
  }
}

message Door {
  uint64 id = 1;
  uint64 ap_id = 11;
  uint64 map_id = 9;
  uint64 room_id = 10;
  string name = 2;

  repeated string receivers = 3;
  repeated uint64 move_paintings = 4;

  repeated ProxyIdentifier panels = 5;
  uint64 complete_at = 12;

  string control_center_color = 6;
  repeated string switches = 7;

  DoorType type = 8;
}

message Panel {
  uint64 id = 1;
  uint64 ap_id = 10;
  uint64 room_id = 2;
  string name = 3;

  string path = 4;
  string clue = 5;
  string answer = 6;
  repeated string symbols = 7;

  repeated Proxy proxies = 8;

  uint64 required_door = 9;
}

message Painting {
  uint64 id = 1;
  uint64 room_id = 2;
  string name = 9;

  string path = 10;
  string display_name = 4;

  string orientation = 3;
  bool move = 6;
  bool enter_only = 7;
  bool flipped = 8;
  
  uint64 required_door = 5;
}

message Port {
  uint64 id = 1;
  uint64 room_id = 2;
  string name = 3;

  string path = 4;
  string orientation = 5;

  uint64 required_door = 6;
}

message Letter {
  uint64 id = 3;
  uint64 ap_id = 5;
  uint64 room_id = 4;

  string key = 1;
  bool double = 2;

  string path = 6;
}

message Mastery {
  uint64 id = 1;
  uint64 ap_id = 2;
  uint64 room_id = 3;

  string name = 4;
  string path = 5;
}

message Room {
  uint64 id = 1;
  uint64 map_id = 8;
  string name = 2;
  string display_name = 3;

  repeated uint64 panels = 4;
  repeated uint64 paintings = 5;
  repeated uint64 letters = 6;
  repeated uint64 ports = 7;
  repeated uint64 doors = 9;
  repeated uint64 masteries = 10;
}

message Map {
  uint64 id = 1;
  string name = 2;
}

message AllObjects {
  repeated Map maps = 7;
  repeated Room rooms = 1;
  repeated Door doors = 2;
  repeated Panel panels = 3;
  repeated Painting paintings = 4;
  repeated Port ports = 5;
  repeated Letter letters = 9;
  repeated Mastery masteries = 10;
  repeated Connection connections = 6;
  map<string, uint64> special_ids = 8;
}