summary refs log tree commit diff stats
path: root/proto/human.proto
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2025-08-30 12:00:03 -0400
committerStar Rauchenberger <fefferburbia@gmail.com>2025-08-30 12:00:03 -0400
commitd2bc5b2811171685e8bdc895122987b53defcf0a (patch)
treedabf111e8d4ba8caceee46189075968e223e3ee8 /proto/human.proto
parent3b77044a6a53d38a6960eb2a5855283a00b24d75 (diff)
downloadlingo2-archipelago-d2bc5b2811171685e8bdc895122987b53defcf0a.tar.gz
lingo2-archipelago-d2bc5b2811171685e8bdc895122987b53defcf0a.tar.bz2
lingo2-archipelago-d2bc5b2811171685e8bdc895122987b53defcf0a.zip
Changed how door location names are formatted
STANDARD type doors with at most four panels in the same map area and no
other trigger objects will have their location names generated from the
names of the panels used to open the door, similar to Lingo 1. Other
door types will use the door's name. In either case, the name can be
overridden using the new location_name field.

Rooms can also set a panel_display_name field, which will be used in
location names for doors, and is used to group panels into areas.

Panels themselves can set display names, which differentiates their
locations from other panels in the same area.

Many maps were updated for this, but note that the_symbolic and
the_unyielding have validator failures because of duplicate panel names.
This won't matter until panelsanity is implemented.
Diffstat (limited to 'proto/human.proto')
-rw-r--r--proto/human.proto7
1 files changed, 7 insertions, 0 deletions
diff --git a/proto/human.proto b/proto/human.proto index 1a15c59..5f6354c 100644 --- a/proto/human.proto +++ b/proto/human.proto
@@ -90,6 +90,7 @@ message HumanDoor {
90 90
91 optional DoorType type = 4; 91 optional DoorType type = 4;
92 optional string location_room = 5; 92 optional string location_room = 5;
93 optional string location_name = 14;
93} 94}
94 95
95message HumanDoors { 96message HumanDoors {
@@ -108,6 +109,8 @@ message HumanPanel {
108 109
109 optional DoorIdentifier required_door = 7; 110 optional DoorIdentifier required_door = 7;
110 optional RoomIdentifier required_room = 8; 111 optional RoomIdentifier required_room = 8;
112
113 optional string display_name = 9;
111} 114}
112 115
113message HumanPainting { 116message HumanPainting {
@@ -161,6 +164,10 @@ message HumanRoom {
161 optional string name = 1; 164 optional string name = 1;
162 optional string display_name = 2; 165 optional string display_name = 2;
163 166
167 // This is used in panelsanity location names and location names for STANDARD
168 // doors generated from panels in the same area.
169 optional string panel_display_name = 10;
170
164 repeated HumanPanel panels = 3; 171 repeated HumanPanel panels = 3;
165 repeated HumanPainting paintings = 4; 172 repeated HumanPainting paintings = 4;
166 repeated HumanLetter letters = 5; 173 repeated HumanLetter letters = 5;