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 | |
Fix vanilla-only oneway door in The Repetitive
| -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); |
