From fdb0abce2ad817ad6836ff88328cf542106ef885 Mon Sep 17 00:00:00 2001 From: Ren Erthilo Date: Wed, 21 Mar 2012 16:08:16 +0000 Subject: [PATCH] * > Made health analysers able to detect bone fractures. * > Made pulling lying down people slower. Use roller beds people! --- code/game/objects/devices/scanners.dm | 10 ++++--- code/modules/mob/living/carbon/human/human.dm | 30 +++++++++++++++++-- 2 files changed, 34 insertions(+), 6 deletions(-) diff --git a/code/game/objects/devices/scanners.dm b/code/game/objects/devices/scanners.dm index 15d317b477d..ec7a6272051 100644 --- a/code/game/objects/devices/scanners.dm +++ b/code/game/objects/devices/scanners.dm @@ -308,10 +308,12 @@ proc/analyze_health_less_info(mob/living/carbon/M as mob, mob/user as mob) user.show_message(text("\red Significant brain damage detected. Subject may have had a concussion."), 1) if (M.virus2 || M.reagents.reagent_list.len > 0) user.show_message(text("\red Unknown substance detected in blood."), 1) -/* for(var/datum/organ/external/E in src) - if (!E.broken <= 0) - user.show_message(text("\red Bone fractures detected."), 1)*/ -//If someone can make this work I would be extremely grateful. -Erthilo + if(istype(M,/mob/living/carbon/human)) + var/mob/living/carbon/human/H = M + for(var/name in H.organs) + var/datum/organ/external/e = H.organs[name] + if(e.broken) + user.show_message(text("\red Bone fractures detected. Advanced scanner required for location."), 1) return /obj/item/device/healthanalyzer/attack(mob/M as mob, mob/user as mob) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index f7f77ea63aa..8e952d01c1c 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -164,8 +164,31 @@ return return +/* var/mob/M = pulling + var/ok = 1 + if (locate(/obj/item/weapon/grab, M.grabbed_by)) + if (prob(75)) + var/obj/item/weapon/grab/G = pick(M.grabbed_by) + if (istype(G, /obj/item/weapon/grab)) + for(var/mob/O in viewers(M, null)) + O.show_message(text("\red [] has been pulled from []'s grip by []", G.affecting, G.assailant, src), 1) + //G = null + del(G) + else + ok = 0 + if (locate(/obj/item/weapon/grab, M.grabbed_by.len)) + ok = 0 + if (ok) + var/t = M.pulling + M.pulling = null + + //this is the gay blood on floor shit -- Added back -- Skie + if (M.lying && (prob(M.getBruteLoss() / 6))) +*/ + /mob/living/carbon/human/movement_delay() var/tally = 0 + var/mob/M = pulling if(reagents.has_reagent("hyperzine")) return -1 @@ -192,10 +215,10 @@ /*if(mutations & FAT) tally += 1.5*/ - if (bodytemperature < 283.222) + if(bodytemperature < 283.222) tally += (283.222 - bodytemperature) / 10 * 1.75 - if (shock_stage >= 10) tally += 3 + if(shock_stage >= 10) tally += 3 if(tally < 0) tally = 0 @@ -203,6 +226,9 @@ if(mutations & mRun) tally = 0 + if(M && M.lying & ismob(pulling)) //Pulling lying down people is slower + tally += 3 + return tally /mob/living/carbon/human/Stat()