From f8ec11ddb2b66fffe391a3b781d7e7c9ef3b7ec2 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Thu, 25 Dec 2014 22:02:39 -0500 Subject: [PATCH] Fixes traumatic_shock affecting species with NO_PAIN --- .../mob/living/carbon/human/human_movement.dm | 23 +++++++++---------- code/modules/mob/living/carbon/shock.dm | 4 ++++ 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human_movement.dm b/code/modules/mob/living/carbon/human/human_movement.dm index c5436aa48f..bf4f337d7e 100644 --- a/code/modules/mob/living/carbon/human/human_movement.dm +++ b/code/modules/mob/living/carbon/human/human_movement.dm @@ -26,7 +26,16 @@ if(wear_suit) tally += wear_suit.slowdown - if(!buckled || (buckled && !istype(buckled, /obj/structure/stool/bed/chair/wheelchair))) + if(istype(buckled, /obj/structure/stool/bed/chair/wheelchair)) + for(var/organ_name in list("l_hand","r_hand","l_arm","r_arm")) + var/datum/organ/external/E = get_organ(organ_name) + if(!E || (E.status & ORGAN_DESTROYED)) + tally += 4 + if(E.status & ORGAN_SPLINTED) + tally += 0.5 + else if(E.status & ORGAN_BROKEN) + tally += 1.5 + else if(shoes) tally += shoes.slowdown @@ -38,17 +47,7 @@ tally += 0.5 else if(E.status & ORGAN_BROKEN) tally += 1.5 - - if(buckled && istype(buckled, /obj/structure/stool/bed/chair/wheelchair)) - for(var/organ_name in list("l_hand","r_hand","l_arm","r_arm")) - var/datum/organ/external/E = get_organ(organ_name) - if(!E || (E.status & ORGAN_DESTROYED)) - tally += 4 - if(E.status & ORGAN_SPLINTED) - tally += 0.5 - else if(E.status & ORGAN_BROKEN) - tally += 1.5 - + if(shock_stage >= 10) tally += 3 if(FAT in src.mutations) diff --git a/code/modules/mob/living/carbon/shock.dm b/code/modules/mob/living/carbon/shock.dm index 9ea6557485..b76b7a49b7 100644 --- a/code/modules/mob/living/carbon/shock.dm +++ b/code/modules/mob/living/carbon/shock.dm @@ -3,6 +3,10 @@ // proc to find out in how much pain the mob is at the moment /mob/living/carbon/proc/updateshock() + if (species && (species.flags & NO_PAIN)) + src.traumatic_shock = 0 + return 0 + src.traumatic_shock = \ 1 * src.getOxyLoss() + \ 0.7 * src.getToxLoss() + \