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