diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index 4efcb8de24f..9cc0e22dfc8 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -258,8 +258,9 @@ continue if(temp.status & ORGAN_ROBOT) if(!(temp.brute_dam + temp.burn_dam)) - wound_flavor_text["[temp.display_name]"] = "[t_He] has a robot [temp.display_name]!\n" - continue + if(!species.flags & IS_SYNTHETIC) + wound_flavor_text["[temp.display_name]"] = "[t_He] has a robot [temp.display_name]!\n" + continue else wound_flavor_text["[temp.display_name]"] = "[t_He] has a robot [temp.display_name], it has" if(temp.brute_dam) switch(temp.brute_dam) @@ -274,7 +275,8 @@ wound_flavor_text["[temp.display_name]"] += " some burns" if(21 to INFINITY) wound_flavor_text["[temp.display_name]"] += pick(" a lot of burns"," severe melting") - wound_flavor_text["[temp.display_name]"] += "!\n" + if(wound_flavor_text["[temp.display_name]"]) + wound_flavor_text["[temp.display_name]"] += "!\n" else if(temp.wounds.len > 0) var/list/wound_descriptors = list() for(var/datum/wound/W in temp.wounds) @@ -469,4 +471,4 @@ else return 0 else - return 0 \ No newline at end of file + return 0 diff --git a/code/modules/mob/living/carbon/human/human_damage.dm b/code/modules/mob/living/carbon/human/human_damage.dm index 39964670139..623ea112b4a 100644 --- a/code/modules/mob/living/carbon/human/human_damage.dm +++ b/code/modules/mob/living/carbon/human/human_damage.dm @@ -192,8 +192,9 @@ This function restores the subjects blood to max. */ /mob/living/carbon/human/proc/restore_blood() - var/blood_volume = vessel.get_reagent_amount("blood") - vessel.add_reagent("blood",560.0-blood_volume) + if(!species.flags & NO_BLOOD) + var/blood_volume = vessel.get_reagent_amount("blood") + vessel.add_reagent("blood",560.0-blood_volume) /* diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index 8ba5c0939a9..27d8db993fd 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -198,7 +198,10 @@ This function completely restores a damaged organ to perfect condition. */ /datum/organ/external/proc/rejuvenate() damage_state = "00" - status = 0 + if(status & 128) //Robotic organs stay robotic. Fix because right click rejuvinate makes IPC's organs organic. + status = 128 + else + status = 0 perma_injury = 0 brute_dam = 0 burn_dam = 0