about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--apworld/player_logic.py3
-rw-r--r--apworld/static_logic.py3
-rw-r--r--data/ids.yaml3
-rw-r--r--data/maps/the_partial/doors.txtpb3
-rw-r--r--data/maps/the_relentless/doors.txtpb6
-rw-r--r--proto/data.proto3
-rw-r--r--tools/validator/validator.cpp3
7 files changed, 18 insertions, 6 deletions
diff --git a/apworld/player_logic.py b/apworld/player_logic.py index d7b18c2..043268e 100644 --- a/apworld/player_logic.py +++ b/apworld/player_logic.py
@@ -299,7 +299,8 @@ class Lingo2PlayerLogic:
299 if door.map_id not in self.shuffled_maps: 299 if door.map_id not in self.shuffled_maps:
300 continue 300 continue
301 301
302 if door.type in [data_pb2.DoorType.EVENT, data_pb2.DoorType.LOCATION_ONLY, data_pb2.DoorType.GRAVESTONE]: 302 if door.type in [data_pb2.DoorType.EVENT, data_pb2.DoorType.LOCATION_ONLY, data_pb2.DoorType.GRAVESTONE,
303 data_pb2.DoorType.LEGACY_LOCATION]:
303 continue 304 continue
304 305
305 if door.id in self.item_by_door: 306 if door.id in self.item_by_door:
diff --git a/apworld/static_logic.py b/apworld/static_logic.py index 8e07b82..702f30b 100644 --- a/apworld/static_logic.py +++ b/apworld/static_logic.py
@@ -31,7 +31,8 @@ class Lingo2StaticLogic:
31 location_name = self.get_door_location_name(door) 31 location_name = self.get_door_location_name(door)
32 self.location_id_to_name[door.ap_id] = location_name 32 self.location_id_to_name[door.ap_id] = location_name
33 33
34 if door.type not in [data_pb2.DoorType.EVENT, data_pb2.DoorType.LOCATION_ONLY, data_pb2.DoorType.GRAVESTONE]: 34 if door.type not in [data_pb2.DoorType.EVENT, data_pb2.DoorType.LOCATION_ONLY, data_pb2.DoorType.GRAVESTONE,
35 data_pb2.DoorType.LEGACY_LOCATION]:
35 item_name = self.get_door_item_name(door) 36 item_name = self.get_door_item_name(door)
36 self.item_id_to_name[door.ap_id] = item_name 37 self.item_id_to_name[door.ap_id] = item_name
37 38
diff --git a/data/ids.yaml b/data/ids.yaml index 6a44044..49dd23f 100644 --- a/data/ids.yaml +++ b/data/ids.yaml
@@ -2789,6 +2789,7 @@ maps:
2789 FINCH: 886 2789 FINCH: 886
2790 FOUR: 885 2790 FOUR: 885
2791 doors: 2791 doors:
2792 Control Center Entrance: 865
2792 F Door: 866 2793 F Door: 866
2793 L Entered: 2843 2794 L Entered: 2843
2794 Main Room Puzzles: 863 2795 Main Room Puzzles: 863
@@ -2974,8 +2975,10 @@ maps:
2974 MORE: 1022 2975 MORE: 1022
2975 doors: 2976 doors:
2976 Left Only Puzzles: 3020 2977 Left Only Puzzles: 3020
2978 Left/Turn Door: 984
2977 Shop Only Puzzles: 3019 2979 Shop Only Puzzles: 3019
2978 Turn Only Puzzles: 3018 2980 Turn Only Puzzles: 3018
2981 Turn/Shop Door: 985
2979 the_repetitive: 2982 the_repetitive:
2980 rooms: 2983 rooms:
2981 Anti Room: 2984 Anti Room:
diff --git a/data/maps/the_partial/doors.txtpb b/data/maps/the_partial/doors.txtpb index b6445cd..11826ea 100644 --- a/data/maps/the_partial/doors.txtpb +++ b/data/maps/the_partial/doors.txtpb
@@ -49,9 +49,10 @@ doors {
49} 49}
50doors { 50doors {
51 name: "Control Center Entrance" 51 name: "Control Center Entrance"
52 type: EVENT 52 type: LEGACY_LOCATION
53 #receivers: "Components/Doors/controlDoor" 53 #receivers: "Components/Doors/controlDoor"
54 panels { room: "Control Center Entrance" name: "RETURN" } 54 panels { room: "Control Center Entrance" name: "RETURN" }
55 location_room: "Control Center Entrance"
55} 56}
56doors { 57doors {
57 name: "F Door" 58 name: "F Door"
diff --git a/data/maps/the_relentless/doors.txtpb b/data/maps/the_relentless/doors.txtpb index 727599f..e970e40 100644 --- a/data/maps/the_relentless/doors.txtpb +++ b/data/maps/the_relentless/doors.txtpb
@@ -26,17 +26,18 @@ doors {
26} 26}
27doors { 27doors {
28 name: "Left/Turn Door" 28 name: "Left/Turn Door"
29 type: EVENT 29 type: LEGACY_LOCATION
30 panels { room: "Left Room" name: "HIDE" } 30 panels { room: "Left Room" name: "HIDE" }
31 panels { room: "Left Room" name: "LEFT" } 31 panels { room: "Left Room" name: "LEFT" }
32 panels { room: "Left Room" name: "MORE" } 32 panels { room: "Left Room" name: "MORE" }
33 panels { room: "Turn Room" name: "HIDE (1)" } 33 panels { room: "Turn Room" name: "HIDE (1)" }
34 panels { room: "Turn Room" name: "HIDE (2)" } 34 panels { room: "Turn Room" name: "HIDE (2)" }
35 panels { room: "Turn Room" name: "MORE" } 35 panels { room: "Turn Room" name: "MORE" }
36 location_room: "Turn Room"
36} 37}
37doors { 38doors {
38 name: "Turn/Shop Door" 39 name: "Turn/Shop Door"
39 type: EVENT 40 type: LEGACY_LOCATION
40 panels { room: "Turn Room" name: "HIDE (1)" } 41 panels { room: "Turn Room" name: "HIDE (1)" }
41 panels { room: "Turn Room" name: "HIDE (2)" } 42 panels { room: "Turn Room" name: "HIDE (2)" }
42 panels { room: "Turn Room" name: "MORE" } 43 panels { room: "Turn Room" name: "MORE" }
@@ -45,6 +46,7 @@ doors {
45 panels { room: "Shop Room" name: "EXIT (1)" } 46 panels { room: "Shop Room" name: "EXIT (1)" }
46 panels { room: "Shop Room" name: "EXIT (2)" } 47 panels { room: "Shop Room" name: "EXIT (2)" }
47 panels { room: "Shop Room" name: "EXIT (3)" } 48 panels { room: "Shop Room" name: "EXIT (3)" }
49 location_room: "Turn Room"
48} 50}
49doors { 51doors {
50 name: "All Doors" 52 name: "All Doors"
diff --git a/proto/data.proto b/proto/data.proto index b46ab99..d84c598 100644 --- a/proto/data.proto +++ b/proto/data.proto
@@ -30,6 +30,9 @@ enum DoorType {
30 30
31 // This door is never a location, and is an item as long as gallery painting shuffle is on. 31 // This door is never a location, and is an item as long as gallery painting shuffle is on.
32 GALLERY_PAINTING = 7; 32 GALLERY_PAINTING = 7;
33
34 // This location is not added to new worlds, but the client can send it out for backwards compataibility purposes.
35 LEGACY_LOCATION = 8;
33} 36}
34 37
35enum DoorGroupType { 38enum DoorGroupType {
diff --git a/tools/validator/validator.cpp b/tools/validator/validator.cpp index e1fc138..5f8e0ba 100644 --- a/tools/validator/validator.cpp +++ b/tools/validator/validator.cpp
@@ -227,7 +227,8 @@ class Validator {
227 227
228 if (h_door.type() == DoorType::STANDARD || 228 if (h_door.type() == DoorType::STANDARD ||
229 h_door.type() == DoorType::LOCATION_ONLY || 229 h_door.type() == DoorType::LOCATION_ONLY ||
230 h_door.type() == DoorType::GRAVESTONE) { 230 h_door.type() == DoorType::GRAVESTONE ||
231 h_door.type() == DoorType::LEGACY_LOCATION) {
231 if (h_door.double_letters()) { 232 if (h_door.double_letters()) {
232 std::cout << "Door " << door_identifier.ShortDebugString() 233 std::cout << "Door " << door_identifier.ShortDebugString()
233 << " is a location that depends on double_letters." 234 << " is a location that depends on double_letters."