diff --git a/code/game/objects/items/implants/implant_storage.dm b/code/game/objects/items/implants/implant_storage.dm index 3e2183d08d4..bfbf8cf1c24 100644 --- a/code/game/objects/items/implants/implant_storage.dm +++ b/code/game/objects/items/implants/implant_storage.dm @@ -9,20 +9,17 @@ . = ..() atom_storage?.open_storage(imp_in) -/obj/item/implant/storage/removed(source, silent = FALSE, special = 0) - if(!special) - var/mob/living/implantee = source +/obj/item/implant/storage/removed(source, silent = FALSE, special = FALSE) + if(special) + return ..() - var/atom/resolve_parent = atom_storage.parent?.resolve() - if(!resolve_parent) - return - - for (var/obj/item/I in resolve_parent.contents) - I.add_mob_blood(implantee) - atom_storage.remove_all(implantee) - implantee.visible_message(span_warning("A bluespace pocket opens around [src] as it exits [implantee], spewing out its contents and rupturing the surrounding tissue!")) - implantee.apply_damage(20, BRUTE, BODY_ZONE_CHEST) - qdel(atom_storage) + var/mob/living/implantee = source + for (var/obj/item/stored in contents) + stored.add_mob_blood(implantee) + atom_storage.remove_all() + implantee.visible_message(span_warning("A bluespace pocket opens around [src] as it exits [implantee], spewing out its contents and rupturing the surrounding tissue!")) + implantee.apply_damage(20, BRUTE, BODY_ZONE_CHEST) + qdel(atom_storage) return ..() /obj/item/implant/storage/implant(mob/living/target, mob/user, silent = FALSE, force = FALSE)