about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2025-09-13 11:05:13 -0400
committerStar Rauchenberger <fefferburbia@gmail.com>2025-09-13 11:05:13 -0400
commit3445e5ace4bc5349000cb30b27b4617b48ec4119 (patch)
tree49e964be62a3683ed774f47dba4e6485c0bb406b
parentfd7007157f9c9b7f8b12adc6aa601b4a5d89df05 (diff)
downloadlingo2-archipelago-3445e5ace4bc5349000cb30b27b4617b48ec4119.tar.gz
lingo2-archipelago-3445e5ace4bc5349000cb30b27b4617b48ec4119.tar.bz2
lingo2-archipelago-3445e5ace4bc5349000cb30b27b4617b48ec4119.zip
Add anti-collectable location
-rw-r--r--data/ids.yaml1
-rw-r--r--data/maps/the_repetitive/doors.txtpb6
-rw-r--r--data/maps/the_repetitive/rooms/Anti Room.txtpb1
-rw-r--r--proto/data.proto1
-rw-r--r--proto/human.proto4
-rw-r--r--tools/datapacker/main.cpp3
6 files changed, 15 insertions, 1 deletions
diff --git a/data/ids.yaml b/data/ids.yaml index e38dfcc..7120168 100644 --- a/data/ids.yaml +++ b/data/ids.yaml
@@ -2759,6 +2759,7 @@ maps:
2759 W: 1117 2759 W: 1117
2760 ZEROING: 1118 2760 ZEROING: 1118
2761 doors: 2761 doors:
2762 Anti-Collectable: 2812
2762 Anti-Collectable Room: 1025 2763 Anti-Collectable Room: 1025
2763 Black Hallway: 2780 2764 Black Hallway: 2780
2764 Cyan Door: 1028 2765 Cyan Door: 1028
diff --git a/data/maps/the_repetitive/doors.txtpb b/data/maps/the_repetitive/doors.txtpb index 8171dc4..d964928 100644 --- a/data/maps/the_repetitive/doors.txtpb +++ b/data/maps/the_repetitive/doors.txtpb
@@ -194,3 +194,9 @@ doors {
194 panels { room: "Yellow Room" name: "ASSESSES" } 194 panels { room: "Yellow Room" name: "ASSESSES" }
195 panels { room: "Yellow Room" name: "TINTING" } 195 panels { room: "Yellow Room" name: "TINTING" }
196} 196}
197doors {
198 name: "Anti-Collectable"
199 type: LOCATION_ONLY
200 senders: "Components/Collectables/anticollectable"
201 location_room: "Anti Room"
202}
diff --git a/data/maps/the_repetitive/rooms/Anti Room.txtpb b/data/maps/the_repetitive/rooms/Anti Room.txtpb index 641fede..11e1468 100644 --- a/data/maps/the_repetitive/rooms/Anti Room.txtpb +++ b/data/maps/the_repetitive/rooms/Anti Room.txtpb
@@ -1,5 +1,4 @@
1name: "Anti Room" 1name: "Anti Room"
2# Ignore the collectible. The mod should remove it and the back wall too.
3panels { 2panels {
4 name: "HA (1)" 3 name: "HA (1)"
5 path: "Panels/Entry/panel_7" 4 path: "Panels/Entry/panel_7"
diff --git a/proto/data.proto b/proto/data.proto index bf216b9..7a1918a 100644 --- a/proto/data.proto +++ b/proto/data.proto
@@ -130,6 +130,7 @@ message Door {
130 repeated uint64 doors = 15; 130 repeated uint64 doors = 15;
131 repeated uint64 endings = 16; 131 repeated uint64 endings = 16;
132 optional bool double_letters = 18; 132 optional bool double_letters = 18;
133 repeated string senders = 19;
133 134
134 optional DoorType type = 8; 135 optional DoorType type = 8;
135 136
diff --git a/proto/human.proto b/proto/human.proto index 615ac86..f9517bd 100644 --- a/proto/human.proto +++ b/proto/human.proto
@@ -96,6 +96,10 @@ message HumanDoor {
96 repeated string endings = 13; 96 repeated string endings = 13;
97 optional bool double_letters = 15; 97 optional bool double_letters = 15;
98 98
99 // Sender nodes to be added to the list of requirements for triggering the
100 // location. Only for senders that have no logic requirements.
101 repeated string senders = 16;
102
99 optional DoorType type = 4; 103 optional DoorType type = 4;
100 optional string location_room = 5; 104 optional string location_room = 5;
101 optional string location_name = 14; 105 optional string location_name = 14;
diff --git a/tools/datapacker/main.cpp b/tools/datapacker/main.cpp index 6bbb461..c13a4df 100644 --- a/tools/datapacker/main.cpp +++ b/tools/datapacker/main.cpp
@@ -345,6 +345,9 @@ class DataPacker {
345 std::copy( 345 std::copy(
346 h_door.receivers().begin(), h_door.receivers().end(), 346 h_door.receivers().begin(), h_door.receivers().end(),
347 google::protobuf::RepeatedFieldBackInserter(door.mutable_receivers())); 347 google::protobuf::RepeatedFieldBackInserter(door.mutable_receivers()));
348 std::copy(
349 h_door.senders().begin(), h_door.senders().end(),
350 google::protobuf::RepeatedFieldBackInserter(door.mutable_senders()));
348 351
349 for (const PaintingIdentifier& pi : h_door.move_paintings()) { 352 for (const PaintingIdentifier& pi : h_door.move_paintings()) {
350 std::optional<std::string> map_name = 353 std::optional<std::string> map_name =