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/"): if item_id.begins_with("i/"):
item_id = item_id.rsplit("i/", false)[0] item_id = item_id.rsplit("i/", false)[0]
if not items_ids_in_inventory.has(item_id): 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" % [ var inventory_file = "%s/%s.tscn" % [
ProjectSettings.get_setting( ProjectSettings.get_setting(
"escoria/ui/items_autoregister_path" "escoria/ui/items_autoregister_path"
@@ -52,7 +53,8 @@ func add_new_item_by_id(item_id: String) -> void:
ESCObject.new( ESCObject.new(
item_id, item_id,
ResourceLoader.load(inventory_file).instance() ResourceLoader.load(inventory_file).instance()
) ),
true
) )
else: else:
escoria.logger.report_errors( escoria.logger.report_errors(

View File

@@ -1,8 +1,18 @@
:setup :setup
# Disable wrench item if present in the inventory
> [i/r5_wrench] > [i/r5_wrench]
set_active r5_wrench false 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] > [eq ESC_LAST_SCENE room4]
teleport player r5_l_exit teleport player r5_l_exit
# Set player look right # Set player look right
@@ -18,6 +28,7 @@
set_angle player 90 set_angle player 90
stop stop
:ready :ready
#walk player r5_wrench #walk player r5_wrench
#set_global i/r5_wrench true #set_global i/r5_wrench true