From 5dbc141b9ba6bdcfbb23616b9fa0951121166a1b Mon Sep 17 00:00:00 2001 From: Ccomp5950 Date: Thu, 20 Mar 2014 20:15:02 -0500 Subject: [PATCH 1/2] IPC examination won't cause "OH NO ROBOTIC LIMBS" (no shit, yo!) messages. Unless they are damaged. --- code/modules/mob/living/carbon/human/examine.dm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) 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 From 731f08eb10ee978ed98285cfd358d476aefc5e7d Mon Sep 17 00:00:00 2001 From: Ccomp5950 Date: Thu, 20 Mar 2014 20:31:33 -0500 Subject: [PATCH 2/2] Rejuvination verb fix for IPC's limbs don't suddenly become organic. --- code/modules/mob/living/carbon/human/human_damage.dm | 5 +++-- code/modules/organs/organ_external.dm | 5 ++++- 2 files changed, 7 insertions(+), 3 deletions(-) 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