diff --git a/code/datums/tutorial/marine/hospital_corpsman_sandbox.dm b/code/datums/tutorial/marine/hospital_corpsman_sandbox.dm index 35d802a720e5..0078ff207983 100644 --- a/code/datums/tutorial/marine/hospital_corpsman_sandbox.dm +++ b/code/datums/tutorial/marine/hospital_corpsman_sandbox.dm @@ -538,20 +538,32 @@ if(length(dragging_agents) || length(active_agents)) movement_handler() -/datum/tutorial/marine/hospital_corpsman_sandbox/proc/item_cleanup(obj/item/clothing/suit/storage/marine/medium/armor) +/datum/tutorial/marine/hospital_corpsman_sandbox/proc/item_cleanup(obj/item/clothing/suit/storage/marine/medium/armor, obj/item/clothing/head/helmet) SIGNAL_HANDLER if(!(armor in cleanup)) cleanup |= armor // marks item for removal once the dummy is ready UnregisterSignal(armor, COMSIG_ITEM_UNEQUIPPED) return - else + if(armor in cleanup) cleanup -= armor var/obj/item/storage/internal/armor_storage = locate(/obj/item/storage/internal) in armor for(var/obj/item/item as anything in armor_storage) armor_storage.remove_from_storage(item, get_turf(armor)) QDEL_IN(armor, 1 SECONDS) + if(!(helmet in cleanup)) + cleanup |= helmet // marks item for removal once the dummy is ready + UnregisterSignal(armor, COMSIG_ITEM_UNEQUIPPED) + return + + if(helmet in cleanup) + cleanup -= helmet + var/obj/item/storage/internal/helmet_storage = locate(/obj/item/storage/internal) in helmet + for(var/obj/item/item as anything in helmet_storage) + helmet_storage.remove_from_storage(item, get_turf(helmet)) + QDEL_IN(armor, 1 SECONDS) + /datum/tutorial/marine/hospital_corpsman_sandbox/init_mob() . = ..() arm_equipment(tutorial_mob, /datum/equipment_preset/tutorial/fed)