Fix bug when leaving a room after a item was picked up

This commit is contained in:
Julian Murgia
2021-07-06 12:59:46 +02:00
parent 7de969d75e
commit f84d1be741
2 changed files with 15 additions and 2 deletions

View File

@@ -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(

View File

@@ -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