edition = "2023"; import "common.proto"; package com.fourisland.lingo2_archipelago; message ProxyIdentifier { uint64 panel = 1; string answer = 2; } message KeyholderAnswer { uint64 keyholder = 1; string key = 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; repeated KeyholderAnswer keyholders = 13; repeated uint64 rooms = 14; 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; uint64 required_room = 11; } 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; bool exit_only = 11; 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 Keyholder { uint64 id = 1; uint64 room_id = 2; string name = 3; string path = 4; } 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; repeated uint64 keyholders = 11; } 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 Keyholder keyholders = 11; repeated Letter letters = 9; repeated Mastery masteries = 10; repeated Connection connections = 6; map special_ids = 8; }