From f84d1be74108fe84110c3b37ad60943acdaa3772 Mon Sep 17 00:00:00 2001 From: Julian Murgia Date: Tue, 6 Jul 2021 12:59:46 +0200 Subject: [PATCH] Fix bug when leaving a room after a item was picked up --- .../game/scenes/inventory/inventory_ui.gd | 6 ++++-- game/rooms/room05/esc/room05.esc | 11 +++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/addons/escoria-core/game/scenes/inventory/inventory_ui.gd b/addons/escoria-core/game/scenes/inventory/inventory_ui.gd index e4f43d4e..c33bc067 100644 --- a/addons/escoria-core/game/scenes/inventory/inventory_ui.gd +++ b/addons/escoria-core/game/scenes/inventory/inventory_ui.gd @@ -40,7 +40,8 @@ func add_new_item_by_id(item_id: String) -> void: if item_id.begins_with("i/"): item_id = item_id.rsplit("i/", false)[0] if not items_ids_in_inventory.has(item_id): - if not escoria.object_manager.has(item_id): + if not escoria.object_manager.has(item_id) or not is_instance_valid( \ + escoria.object_manager.get_object(item_id).node): var inventory_file = "%s/%s.tscn" % [ ProjectSettings.get_setting( "escoria/ui/items_autoregister_path" @@ -52,7 +53,8 @@ func add_new_item_by_id(item_id: String) -> void: ESCObject.new( item_id, ResourceLoader.load(inventory_file).instance() - ) + ), + true ) else: escoria.logger.report_errors( diff --git a/game/rooms/room05/esc/room05.esc b/game/rooms/room05/esc/room05.esc index ac16d1d0..b71c7d83 100755 --- a/game/rooms/room05/esc/room05.esc +++ b/game/rooms/room05/esc/room05.esc @@ -1,8 +1,18 @@ :setup +# Disable wrench item if present in the inventory > [i/r5_wrench] set_active r5_wrench false +# Disable pen item if present in the inventory +> [i/r5_pen] + set_active r5_pen false + +# Disable empty_sheet item if present in the inventory +> [i/r5_empty_sheet] + set_active r5_empty_sheet false + +# Manage player position depending on where he comes from > [eq ESC_LAST_SCENE room4] teleport player r5_l_exit # Set player look right @@ -18,6 +28,7 @@ set_angle player 90 stop + :ready #walk player r5_wrench #set_global i/r5_wrench true