diff options
author | Star Rauchenberger <fefferburbia@gmail.com> | 2025-09-30 23:32:08 -0400 |
---|---|---|
committer | Star Rauchenberger <fefferburbia@gmail.com> | 2025-09-30 23:32:08 -0400 |
commit | fa2c104a460bcb5b9b78a8fb7c3727231fd22ffd (patch) | |
tree | ba27f94a904fbfd21b05e36aeb978bf398934de2 | |
parent | 7a70828e9d0a4bf92491da1a88fac776de42d3b5 (diff) | |
download | lingo2-archipelago-fa2c104a460bcb5b9b78a8fb7c3727231fd22ffd.tar.gz lingo2-archipelago-fa2c104a460bcb5b9b78a8fb7c3727231fd22ffd.tar.bz2 lingo2-archipelago-fa2c104a460bcb5b9b78a8fb7c3727231fd22ffd.zip |
-rw-r--r-- | apworld/regions.py | 3 | ||||
-rw-r--r-- | data/maps/the_entry/connections.txtpb | 2 | ||||
-rw-r--r-- | data/maps/the_repetitive/connections.txtpb | 2 | ||||
-rw-r--r-- | proto/data.proto | 1 | ||||
-rw-r--r-- | proto/human.proto | 3 | ||||
-rw-r--r-- | tools/datapacker/main.cpp | 5 |
6 files changed, 14 insertions, 2 deletions
diff --git a/apworld/regions.py b/apworld/regions.py index 64302f6..3735858 100644 --- a/apworld/regions.py +++ b/apworld/regions.py | |||
@@ -75,6 +75,9 @@ def create_regions(world: "Lingo2World"): | |||
75 | if connection.roof_access and not world.options.daedalus_roof_access: | 75 | if connection.roof_access and not world.options.daedalus_roof_access: |
76 | continue | 76 | continue |
77 | 77 | ||
78 | if connection.vanilla_only and world.options.shuffle_doors: | ||
79 | continue | ||
80 | |||
78 | from_region = world.static_logic.get_room_region_name(connection.from_room) | 81 | from_region = world.static_logic.get_room_region_name(connection.from_room) |
79 | to_region = world.static_logic.get_room_region_name(connection.to_room) | 82 | to_region = world.static_logic.get_room_region_name(connection.to_room) |
80 | 83 | ||
diff --git a/data/maps/the_entry/connections.txtpb b/data/maps/the_entry/connections.txtpb index 5fe279c..7ab15ff 100644 --- a/data/maps/the_entry/connections.txtpb +++ b/data/maps/the_entry/connections.txtpb | |||
@@ -183,12 +183,12 @@ connections { | |||
183 | from_room: "Starting Room" | 183 | from_room: "Starting Room" |
184 | to_room: "Digital Entrance" | 184 | to_room: "Digital Entrance" |
185 | door { name: "Second Room Left Door" } | 185 | door { name: "Second Room Left Door" } |
186 | oneway: true | ||
187 | } | 186 | } |
188 | connections { | 187 | connections { |
189 | from_room: "Digital Entrance" | 188 | from_room: "Digital Entrance" |
190 | to_room: "Starting Room" | 189 | to_room: "Starting Room" |
191 | oneway: true | 190 | oneway: true |
191 | vanilla_only: true | ||
192 | } | 192 | } |
193 | connections { | 193 | connections { |
194 | from_room: "Starting Room" | 194 | from_room: "Starting Room" |
diff --git a/data/maps/the_repetitive/connections.txtpb b/data/maps/the_repetitive/connections.txtpb index 0afe72d..f4c06f2 100644 --- a/data/maps/the_repetitive/connections.txtpb +++ b/data/maps/the_repetitive/connections.txtpb | |||
@@ -7,12 +7,12 @@ connections { | |||
7 | from_room: "Main Room" | 7 | from_room: "Main Room" |
8 | to_room: "Plaza Connector" | 8 | to_room: "Plaza Connector" |
9 | door { name: "Black Hallway" } | 9 | door { name: "Black Hallway" } |
10 | oneway: true | ||
11 | } | 10 | } |
12 | connections { | 11 | connections { |
13 | from_room: "Plaza Connector" | 12 | from_room: "Plaza Connector" |
14 | to_room: "Main Room" | 13 | to_room: "Main Room" |
15 | oneway: true | 14 | oneway: true |
15 | vanilla_only: true | ||
16 | } | 16 | } |
17 | connections { | 17 | connections { |
18 | from_room: "Main Room" | 18 | from_room: "Main Room" |
diff --git a/proto/data.proto b/proto/data.proto index 808198e..d79f47d 100644 --- a/proto/data.proto +++ b/proto/data.proto | |||
@@ -123,6 +123,7 @@ message Connection { | |||
123 | optional bool roof_access = 7; | 123 | optional bool roof_access = 7; |
124 | optional bool purple_ending = 8; | 124 | optional bool purple_ending = 8; |
125 | optional bool cyan_ending = 9; | 125 | optional bool cyan_ending = 9; |
126 | optional bool vanilla_only = 10; | ||
126 | } | 127 | } |
127 | 128 | ||
128 | message Door { | 129 | message Door { |
diff --git a/proto/human.proto b/proto/human.proto index 99c1fd7..8e7767a 100644 --- a/proto/human.proto +++ b/proto/human.proto | |||
@@ -78,6 +78,9 @@ message HumanConnection { | |||
78 | // This means that the connection should additionally require all cyan letters | 78 | // This means that the connection should additionally require all cyan letters |
79 | // when the Strict Cyan Ending option is on. | 79 | // when the Strict Cyan Ending option is on. |
80 | optional bool cyan_ending = 10; | 80 | optional bool cyan_ending = 10; |
81 | |||
82 | // This means that the connection only exists when doors are not shuffled. | ||
83 | optional bool vanilla_only = 11; | ||
81 | } | 84 | } |
82 | 85 | ||
83 | message HumanConnections { | 86 | message HumanConnections { |
diff --git a/tools/datapacker/main.cpp b/tools/datapacker/main.cpp index 005361d..e807d74 100644 --- a/tools/datapacker/main.cpp +++ b/tools/datapacker/main.cpp | |||
@@ -490,6 +490,11 @@ class DataPacker { | |||
490 | r_connection.set_cyan_ending(human_connection.cyan_ending()); | 490 | r_connection.set_cyan_ending(human_connection.cyan_ending()); |
491 | } | 491 | } |
492 | 492 | ||
493 | if (human_connection.has_vanilla_only()) { | ||
494 | f_connection.set_vanilla_only(human_connection.vanilla_only()); | ||
495 | r_connection.set_vanilla_only(human_connection.vanilla_only()); | ||
496 | } | ||
497 | |||
493 | container_.AddConnection(f_connection); | 498 | container_.AddConnection(f_connection); |
494 | if (!human_connection.oneway()) { | 499 | if (!human_connection.oneway()) { |
495 | container_.AddConnection(r_connection); | 500 | container_.AddConnection(r_connection); |