@@ -363,18 +363,21 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/cryopod, 32)
363
363
364
364
visible_message (span_notice(" [ src ] hums and hisses as it moves [ mob_occupant. real_name] into storage." ))
365
365
366
- for (var /obj /item/item_content as anything in mob_occupant)
367
- if (! istype(item_content) || HAS_TRAIT (item_content, TRAIT_NODROP ))
366
+ mob_occupant. ghostize(can_reenter_corpse = FALSE )
367
+ ADD_TRAIT (mob_occupant, TRAIT_NO_TRANSFORM , REF (src ))
368
+ var /list /items = mob_occupant. get_equipped_items(include_pockets = TRUE )
369
+ items |= mob_occupant. held_items
370
+ for (var /obj /item/item_content as anything in items)
371
+ if (! isitem(item_content) || QDELING (item_content))
368
372
continue
369
- if (issilicon(mob_occupant) && istype(item_content, / obj / item/ mmi))
373
+ if (issilicon(mob_occupant) && istype(item_content, / obj / item/ mmi))
370
374
continue
371
375
if (control_computer)
372
376
if (istype(item_content, / obj / item/ modular_computer))
373
377
var /obj /item/modular_computer/computer = item_content
374
378
for (var /datum /computer_file/program/messenger/message_app in computer. stored_files)
375
379
message_app. invisible = TRUE
376
380
mob_occupant. transferItemToLoc(item_content, control_computer, force = TRUE , silent = TRUE )
377
- item_content. dropped(mob_occupant)
378
381
control_computer. frozen_item += item_content
379
382
for (var /list /stored as anything in control_computer. frozen_crew)
380
383
if (! istype(stored))
@@ -384,11 +387,18 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/cryopod, 32)
384
387
else
385
388
mob_occupant. transferItemToLoc(item_content, drop_location(), force = TRUE , silent = TRUE )
386
389
390
+ if (iscarbon(mob_occupant))
391
+ var /mob /living/carbon/carbon_occupant = mob_occupant
392
+ for (var /obj /item/organ/organ as anything in carbon_occupant. organs)
393
+ if (QDELETED (organ))
394
+ continue
395
+ organ. Remove(carbon_occupant, special = TRUE )
396
+ SSwardrobe. stash_object(organ)
397
+
387
398
GLOB . joined_player_list -= stored_ckey
388
399
GLOB . manifest. general -= crewfile
389
400
390
401
handle_objectives ()
391
- mob_occupant. ghostize()
392
402
QDEL_NULL (occupant)
393
403
open_machine ()
394
404
name = initial(name)
0 commit comments