about summary refs log tree commit diff stats
path: root/LICENSE
Commit message (Expand)AuthorAgeFilesLines
* Create LICENSEStar Rauchenberger2023-05-051-0/+21
f='#n10'>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 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155
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<string, uint64> special_ids = 8;
}