diff --git a/code/game/machinery/computer/cloning.dm b/code/game/machinery/computer/cloning.dm index 14a8e2b6ddc..3091caa82a2 100644 --- a/code/game/machinery/computer/cloning.dm +++ b/code/game/machinery/computer/cloning.dm @@ -359,12 +359,12 @@ if(scan_brain && !can_brainscan()) return if(isnull(subject) || (!(ishuman(subject))) || (!subject.dna)) - if(isalien(subject)) + if(isalien(subject)) scantemp = "Error: Xenomorphs are not scannable." SSnanoui.update_uis(src) return // can add more conditions for specific non-human messages here - else + else scantemp = "Error: Subject species is not scannable." SSnanoui.update_uis(src) return @@ -372,7 +372,7 @@ var/obj/item/organ/internal/brain/Brn = subject.get_int_organ(/obj/item/organ/internal/brain) if(istype(Brn)) if(NO_SCAN in Brn.dna.species.species_traits) - scantemp = "Error: [subject.dna.species.name_plural] are not scannable." + scantemp = "Error: [Brn.dna.species.name_plural] are not scannable." SSnanoui.update_uis(src) return if(!subject.get_int_organ(/obj/item/organ/internal/brain)) diff --git a/code/modules/mob/living/carbon/brain/robotic_brain.dm b/code/modules/mob/living/carbon/brain/robotic_brain.dm index b051fda9d89..c92b8a92470 100644 --- a/code/modules/mob/living/carbon/brain/robotic_brain.dm +++ b/code/modules/mob/living/carbon/brain/robotic_brain.dm @@ -106,9 +106,18 @@ radio_action.ApplyIcon() /obj/item/mmi/robotic_brain/attempt_become_organ(obj/item/organ/external/parent, mob/living/carbon/human/H) + if(!H) + return FALSE + + var/had_dna = TRUE + if(!brainmob.dna) + had_dna = FALSE + brainmob.dna = H.dna.Clone() // Take the new targets dna to ensure the created holder has the correct DNA if(..()) if(imprinted_master) to_chat(H, "You are permanently imprinted to [imprinted_master], obey [imprinted_master]'s every order and assist [imprinted_master.p_them()] in completing [imprinted_master.p_their()] goals at any cost.") + else if(!had_dna) + brainmob.dna = null // Reset it for next use /obj/item/mmi/robotic_brain/proc/transfer_personality(mob/candidate)