diff --git a/code/modules/surgery/organs/organ.dm b/code/modules/surgery/organs/organ.dm index 53c0447589c..991a5d252ce 100644 --- a/code/modules/surgery/organs/organ.dm +++ b/code/modules/surgery/organs/organ.dm @@ -43,7 +43,7 @@ /obj/item/organ/proc/update_health() return -/obj/item/organ/New(mob/living/carbon/holder) +/obj/item/organ/New(mob/living/carbon/holder, datum/species/species_override = null) ..(holder) if(!max_damage) max_damage = min_broken_damage * 2 @@ -60,6 +60,8 @@ blood_DNA[dna.unique_enzymes] = dna.b_type else dna = new /datum/dna(null) + if(species_override) + dna.species = new species_override /obj/item/organ/proc/set_dna(var/datum/dna/new_dna) if(new_dna) diff --git a/code/modules/surgery/organs/subtypes/machine.dm b/code/modules/surgery/organs/subtypes/machine.dm index 5eb8bd143f1..7c2aae08894 100644 --- a/code/modules/surgery/organs/subtypes/machine.dm +++ b/code/modules/surgery/organs/subtypes/machine.dm @@ -6,8 +6,8 @@ encased = null status = ORGAN_ROBOT -/obj/item/organ/external/head/ipc/New() - ..() +/obj/item/organ/external/head/ipc/New(mob/living/carbon/holder, datum/species/species_override = null) + ..(holder, /datum/species/machine) // IPC heads need to be explicitly set to this since you can print them robotize("Morpheus Cyberkinetics") /obj/item/organ/external/chest/ipc