edition = "2023"; package com.fourisland.lingo2_archipelago; message RoomIdentifier { string map = 1; string name = 2; } message DoorIdentifier { string map = 1; string name = 2; } message PortIdentifier { string map = 1; string room = 2; string name = 3; } message PaintingIdentifier { string map = 1; string room = 2; string name = 3; } message PanelIdentifier { string map = 1; string room = 2; string name = 3; string answer = 4; } message HumanConnection { message Endpoint { oneof endpoint { RoomIdentifier room = 1; PortIdentifier port = 2; PaintingIdentifier painting = 3; PanelIdentifier panel = 4; } } oneof From { Endpoint from = 1; string from_room = 5; } oneof To { Endpoint to = 2; string to_room = 6; } bool oneway = 3; DoorIdentifier door = 4; } message HumanConnections { repeated HumanConnection connections = 1; } message HumanDoor { enum DoorType { DOOR_TYPE_UNKNOWN = 0; // This door is a location unless panelsanity is on, and it is an item as long as door shuffle is on. STANDARD = 1; // This door is never an item or a location. EVENT = 2; // This door is never a location, and is an item as long as door shuffle is on. ITEM_ONLY = 3; // This door is never a location, and is an item as long as control center color shuffle is on. CONTROL_CENTER_COLOR = 4; } string name = 1; repeated string receivers = 2; repeated PaintingIdentifier move_paintings = 8; repeated PanelIdentifier panels = 3; string control_center_color = 6; repeated string switches = 7; repeated string location_tags = 4; repeated string item_tags = 5; } message HumanDoors { repeated HumanDoor doors = 1; } message Proxy { string answer = 1; string path = 2; } message HumanPanel { string name = 1; string path = 5; string clue = 2; string answer = 3; repeated string symbols = 4; repeated Proxy proxies = 6; DoorIdentifier required_door = 7; } message HumanPainting { string name = 1; string path = 2; string display_name = 4; string orientation = 3; bool move = 6; bool enter_only = 7; bool flipped = 8; DoorIdentifier required_door = 5; } message Letter { string letter = 1; bool double = 2; } message HumanPort { string name = 1; string path = 2; string orientation = 3; DoorIdentifier required_door = 4; } message HumanRoom { string name = 1; string display_name = 2; repeated HumanPanel panels = 3; repeated HumanPainting paintings = 4; repeated Letter letters = 5; repeated HumanPort ports = 6; }