%p Welcome to the the ubiquitous administration panel!
%p Stats:
%ul
%li
%strong Blog posts:
= Blog.count
%li
%strong Approved comments:
= Comment.where(status: :published).count
%li
%strong Filtered comments:
= Global.get_filtered_comments
%li
%strong Quotes:
= Quote.count
%li
%strong Votes:
= Vote.count
(+#{Vote.where(upvote: true).count} / -#{Vote.where(upvote: false).count})
highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #555555 } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #666666 } /* Generic.Subheading */
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008800 } /* Keyword.Pseudo */
.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */
.highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */
.highlight .na { color: #336699 } /* Name.Attribute */
.highlight .nb { color: #003388 } /* Name.Builtin */
.highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */
.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
.highlight .nd { color: #555555 } /* Name.Decorator */
.highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */
.highlight .nl { color: #336699; font-style: italic } /* Name.Label */
.highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */
.highlight .py { color: #336699; font-weight: bold } /* Name.Property */
.highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #336699 } /* Name.Variable */
.highlight .ow { color: #008800 } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */
.highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */
.highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */
.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
.highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */
.highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */
.highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */
.highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */
.highlight .dl { color: #dd2200; background-color: #fff0f0 } /* 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;
// This door is an item if gravestone shuffle is enabled, and is a location as long as panelsanity is not on.
GRAVESTONE = 6;
}
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;
repeated uint64 doors = 15;
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 Ending {
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;
repeated uint64 endings = 12;
}
message Map {
optional uint64 id = 1;
optional string name = 2;
optional string display_name = 3;
}
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 Ending endings = 12;
repeated Connection connections = 6;
map<string, uint64> special_ids = 8;
}