diff --git a/code/datums/dna.dm b/code/datums/dna.dm index 3987b49750..0ebd52177f 100644 --- a/code/datums/dna.dm +++ b/code/datums/dna.dm @@ -13,9 +13,29 @@ var/mob/living/holder /datum/dna/New(mob/living/new_holder) +<<<<<<< HEAD if(new_holder) holder = new_holder +======= + if(istype(new_holder)) + holder = new_holder + +/datum/dna/Destroy() + if(iscarbon(holder)) + var/mob/living/carbon/cholder = holder + if(cholder.dna == src) + cholder.dna = null + holder = null + QDEL_NULL(species) + + mutations.Cut() //This only references mutations, just dereference. + temporary_mutations.Cut() //^ + previous.Cut() //^ + + return ..() + +>>>>>>> a6e8247... Fixes brain dna (#37132) /datum/dna/proc/transfer_identity(mob/living/carbon/destination, transfer_SE = 0) if(!istype(destination)) return diff --git a/code/modules/jobs/job_types/silicon.dm b/code/modules/jobs/job_types/silicon.dm index 2080edac50..5f8756d53e 100644 --- a/code/modules/jobs/job_types/silicon.dm +++ b/code/modules/jobs/job_types/silicon.dm @@ -83,8 +83,8 @@ Cyborg exp_requirements = 120 exp_type = EXP_TYPE_CREW -/datum/job/cyborg/equip(mob/living/carbon/human/H) - return H.Robotize(FALSE, FALSE) +/datum/job/cyborg/equip(mob/living/carbon/human/H, visualsOnly = FALSE, announce = TRUE, latejoin = FALSE) + return H.Robotize(FALSE, latejoin) /datum/job/cyborg/after_spawn(mob/living/silicon/robot/R, mob/M) if(CONFIG_GET(flag/rename_cyborg)) //name can't be set in robot/New without the client