about summary refs log tree commit diff stats
path: root/apworld/client
diff options
context:
space:
mode:
Diffstat (limited to 'apworld/client')
-rw-r--r--apworld/client/gamedata.gd4
-rw-r--r--apworld/client/manager.gd4
-rw-r--r--apworld/client/player.gd15
3 files changed, 19 insertions, 4 deletions
diff --git a/apworld/client/gamedata.gd b/apworld/client/gamedata.gd index 3a35125..d7e3136 100644 --- a/apworld/client/gamedata.gd +++ b/apworld/client/gamedata.gd
@@ -15,6 +15,7 @@ var symbol_item_ids = []
15var anti_trap_ids = {} 15var anti_trap_ids = {}
16var location_name_by_id = {} 16var location_name_by_id = {}
17var ending_display_name_by_name = {} 17var ending_display_name_by_name = {}
18var port_id_by_ap_id = {}
18 19
19var kSYMBOL_ITEMS 20var kSYMBOL_ITEMS
20 21
@@ -99,6 +100,9 @@ func load(data_bytes):
99 var map_data = port_id_by_map_node_path[map.get_name()] 100 var map_data = port_id_by_map_node_path[map.get_name()]
100 map_data[port.get_path()] = port.get_id() 101 map_data[port.get_path()] = port.get_id()
101 102
103 if port.has_ap_id():
104 port_id_by_ap_id[port.get_ap_id()] = port.get_id()
105
102 for progressive in objects.get_progressives(): 106 for progressive in objects.get_progressives():
103 progressive_id_by_ap_id[progressive.get_ap_id()] = progressive.get_id() 107 progressive_id_by_ap_id[progressive.get_ap_id()] = progressive.get_id()
104 108
diff --git a/apworld/client/manager.gd b/apworld/client/manager.gd index aa07559..727d17a 100644 --- a/apworld/client/manager.gd +++ b/apworld/client/manager.gd
@@ -472,7 +472,9 @@ func _client_connected(slot_data):
472 var raw_pp = slot_data.get("port_pairings") 472 var raw_pp = slot_data.get("port_pairings")
473 473
474 for p1 in raw_pp.keys(): 474 for p1 in raw_pp.keys():
475 port_pairings[int(p1)] = int(raw_pp[p1]) 475 port_pairings[gamedata.port_id_by_ap_id[int(p1)]] = gamedata.port_id_by_ap_id[int(
476 raw_pp[p1]
477 )]
476 478
477 # Set up item locks. 479 # Set up item locks.
478 _item_locks = {} 480 _item_locks = {}
diff --git a/apworld/client/player.gd b/apworld/client/player.gd index 712a59b..35fd793 100644 --- a/apworld/client/player.gd +++ b/apworld/client/player.gd
@@ -586,6 +586,12 @@ func _ready():
586 saver.senderGroup.append(NodePath("/root/scene/Components/Collectables")) 586 saver.senderGroup.append(NodePath("/root/scene/Components/Collectables"))
587 get_node("/root/scene").add_child.call_deferred(saver) 587 get_node("/root/scene").add_child.call_deferred(saver)
588 588
589 # Shrink the painting trigger in The Unyielding.
590 if global.map == "the_unyielding":
591 var trigger_area = get_node("/root/scene/Components/PaintingUnlocker/triggerArea")
592 trigger_area.position = Vector3(0, 0, -6)
593 trigger_area.scale = Vector3(6, 1, 6)
594
589 ap.update_job_well_done_sign() 595 ap.update_job_well_done_sign()
590 596
591 # Set up door locations. 597 # Set up door locations.
@@ -598,9 +604,12 @@ func _ready():
598 continue 604 continue
599 605
600 if ( 606 if (
601 door.get_type() == gamedata.SCRIPT_proto.DoorType.ITEM_ONLY 607 not (door.has_legacy_location() and door.get_legacy_location())
602 or door.get_type() == gamedata.SCRIPT_proto.DoorType.GALLERY_PAINTING 608 and (
603 or door.get_type() == gamedata.SCRIPT_proto.DoorType.CONTROL_CENTER_COLOR 609 door.get_type() == gamedata.SCRIPT_proto.DoorType.ITEM_ONLY
610 or door.get_type() == gamedata.SCRIPT_proto.DoorType.GALLERY_PAINTING
611 or door.get_type() == gamedata.SCRIPT_proto.DoorType.CONTROL_CENTER_COLOR
612 )
604 ): 613 ):
605 continue 614 continue
606 615