about summary refs log tree commit diff stats
path: root/apworld
diff options
context:
space:
mode:
Diffstat (limited to 'apworld')
-rw-r--r--apworld/client/manager.gd2
-rw-r--r--apworld/context.py3
2 files changed, 3 insertions, 2 deletions
diff --git a/apworld/client/manager.gd b/apworld/client/manager.gd index 46c5456..955d470 100644 --- a/apworld/client/manager.gd +++ b/apworld/client/manager.gd
@@ -269,7 +269,7 @@ func _process_text_message(message):
269 else: 269 else:
270 parts.append("[color=#fafad2]%s[/color]" % message_part["text"]) 270 parts.append("[color=#fafad2]%s[/color]" % message_part["text"])
271 elif message_part["type"] == "item": 271 elif message_part["type"] == "item":
272 parts.append(wrapInItemColorTags(message_part["text"], message_part["flags"])) 272 parts.append(wrapInItemColorTags(message_part["text"], int(message_part["flags"])))
273 elif message_part["type"] == "location": 273 elif message_part["type"] == "location":
274 parts.append("[color=#00ff7f]%s[/color]" % message_part["text"]) 274 parts.append("[color=#00ff7f]%s[/color]" % message_part["text"])
275 275
diff --git a/apworld/context.py b/apworld/context.py index 2294491..05f75a3 100644 --- a/apworld/context.py +++ b/apworld/context.py
@@ -167,7 +167,8 @@ class Lingo2ClientContext(CommonContext):
167 elif message_part["type"] == "item_id": 167 elif message_part["type"] == "item_id":
168 parts.append({ 168 parts.append({
169 "type": "item", 169 "type": "item",
170 "text": self.item_names.lookup_in_slot(int(message_part["text"]), message_part["player"]) 170 "text": self.item_names.lookup_in_slot(int(message_part["text"]), message_part["player"]),
171 "flags": message_part["flags"],
171 }) 172 })
172 elif message_part["type"] == "location_id": 173 elif message_part["type"] == "location_id":
173 parts.append({ 174 parts.append({
0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
syntax = "proto2";

package com.fourisland.lingo2_archipelago;

message Proxy {
  optional string answer = 1;
  optional string path = 2;
}

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;

  // This door is never an item, and is a location as long as panelsanity is not on.
  LOCATION_ONLY = 5;
}

enum AxisDirection {
  AXIS_DIRECTION_UNKNOWN = 0;

  X_PLUS = 1;
  X_MINUS = 2;
  Y_PLUS = 3;
  Y_MINUS = 4;
  Z_PLUS = 5;
  Z_MINUS = 6;
}

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

message KeyholderAnswer {
  optional uint64 keyholder = 1;
  optional string key = 2;
}

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

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

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

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

  repeated ProxyIdentifier panels = 5;
  optional uint64 complete_at = 12;

  optional string control_center_color = 6;
  repeated string switches = 7;
  repeated KeyholderAnswer keyholders = 13;
  repeated uint64 rooms = 14;

  optional DoorType type = 8;
}

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

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

  repeated Proxy proxies = 8;

  optional uint64 required_door = 9;
  optional uint64 required_room = 11;
}

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

  optional string path = 10;
  optional string display_name = 4;

  optional string orientation = 3;
  optional bool move = 6;
  optional bool enter_only = 7;
  optional AxisDirection gravity = 8;
  optional bool exit_only = 11;
  
  optional uint64 required_door = 5;
}

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

  optional string path = 4;
  optional string orientation = 5;
  optional AxisDirection gravity = 7;

  optional uint64 required_door = 6;
}

message Keyholder {
  optional uint64 id = 1;
  optional uint64 room_id = 2;

  optional string name = 3;
  optional string path = 4;
}

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

  optional string key = 1;
  optional bool level2 = 2;

  optional string path = 6;
}

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

  optional string name = 4;
  optional string path = 5;
}

message Room {
  optional uint64 id = 1;
  optional uint64 map_id = 8;
  optional string name = 2;
  optional 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 {
  optional uint64 id = 1;
  optional string name = 2;
}

message AllObjects {
  repeated Map maps = 7;
  repeated Room rooms = 1;
  repeated Door doors = 2;
  repeated PanelData 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;
}