From 24eddd6eaaa61ec246efcdfbe99055134d550f56 Mon Sep 17 00:00:00 2001 From: Spamcat Date: Fri, 5 Jul 2013 04:12:41 +0400 Subject: [PATCH] Now 100% more machinery! --- code/game/machinery/computer/Operating.dm | 1 + code/game/objects/items/devices/scanners.dm | 2 ++ .../mob/living/carbon/human/examine.dm | 2 +- code/modules/mob/living/carbon/human/human.dm | 33 +++++++++++++------ code/setup.dm | 6 ++-- 5 files changed, 30 insertions(+), 14 deletions(-) diff --git a/code/game/machinery/computer/Operating.dm b/code/game/machinery/computer/Operating.dm index 2022dc79da7..accd7b7a683 100644 --- a/code/game/machinery/computer/Operating.dm +++ b/code/game/machinery/computer/Operating.dm @@ -55,6 +55,7 @@ Fire Damage: [src.victim.getFireLoss()]
Suffocation Damage: [src.victim.getOxyLoss()]
Patient Status: [src.victim.stat ? "Non-Responsive" : "Stable"]
+Heartbeat rate: [victim.get_pulse(GETPULSE_TOOL)]
"} else src.victim = null diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index f86f38cc83a..37f4a80937b 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -174,6 +174,8 @@ MASS SPECTROMETER user.show_message("\red Warning: Blood Level CRITICAL: [blood_percent]% [blood_volume]cl") else user.show_message("\blue Blood Level Normal: [blood_percent]% [blood_volume]cl") + if(H.pulse) + user.show_message("\blue Subject's pulse: [H.get_pulse(GETPULSE_TOOL)] bpm.") src.add_fingerprint(user) return diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index c929d5e952b..dbb721afa91 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -223,6 +223,7 @@ else usr << "[t_He] has no pulse..." + msg += "" if(nutrition < 100) @@ -440,7 +441,6 @@ if( findtext(pose,".",lentext(pose)) == 0 && findtext(pose,"!",lentext(pose)) == 0 && findtext(pose,"?",lentext(pose)) == 0 ) pose = addtext(pose,".") //Makes sure all emotes end with a period. msg += "\n[t_He] is [pose]" - msg += "\n\red pulse:[src.pulse]" usr << msg diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index ea98ee5631e..e841bb27184 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1224,20 +1224,32 @@ mob/living/carbon/human/yank_out_object() set name = "Check pulse" set desc = "Approximately count somebody's pulse. Requires you to stand still at least 6 seconds." set src in view(1) + var/self = 0 if(usr.stat == 1 || usr.restrained() || !isliving(usr)) return - usr.visible_message("\blue [usr] kneels down, puts \his hand on [src]'s wrist and begins counting their pulse.",\ - "\blue Don't move until counting is finished.") + if(usr == src) + self = 1 + if(!self) + usr.visible_message("\blue [usr] kneels down, puts \his hand on [src]'s wrist and begins counting their pulse.",\ + "You begin counting [src]'s pulse") + else + usr.visible_message("\blue [usr] begins counting their pulse.",\ + "You begin counting your pulse.") + if(src.pulse) - usr << "\blue [src] has pulse! Counting..." + usr << "\blue [self ? "I have" : "[src] has"] pulse! Counting..." else usr << "\red [src] has no pulse!" return + usr << "Don't move until counting is finished." + var/time = world.timeofday sleep(60) - if(usr.move_speed >= 60) - usr << "\blue [src]'s pulse is [src.get_pulse(0)]." + if(usr.l_move_time >= time) //checks if our mob has moved during the sleep() + usr << "You moved while counting. Try again." + else + usr << "\blue [src]'s pulse is [src.get_pulse(GETPULSE_HAND)]." /mob/living/carbon/human/proc/get_pulse(var/method) //method 0 is for hands, 1 is for machines, more accurate var/temp = 0 @@ -1246,15 +1258,16 @@ mob/living/carbon/human/yank_out_object() return "0" if(PULSE_SLOW) temp = rand(40, 60) - return method ? num2text(temp) : temp + rand(-10, 10) + return num2text(method ? temp : temp + rand(-10, 10)) if(PULSE_NORM) temp = rand(60, 90) - return method ? num2text(temp) : temp + rand(-10, 10) + return num2text(method ? temp : temp + rand(-10, 10)) if(PULSE_FAST) temp = rand(90, 120) - return method ? num2text(temp) : temp + rand(-10, 10) + return num2text(method ? temp : temp + rand(-10, 10)) if(PULSE_2FAST) temp = rand(120, 160) - return method ? num2text(temp) : temp + rand(-10, 10) + return num2text(method ? temp : temp + rand(-10, 10)) if(PULSE_THREADY) - return method ? ">250" : "extremely weak and fast, patient's artery feels like a thread" \ No newline at end of file + return method ? ">250" : "extremely weak and fast, patient's artery feels like a thread" +// output for machines^ ^^^^^^^output for people^^^^^^^^^ \ No newline at end of file diff --git a/code/setup.dm b/code/setup.dm index d817150d909..046ba2a189e 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -686,10 +686,10 @@ var/list/be_special_flags = list( #define PULSE_FAST 3 //90-120 bpm #define PULSE_2FAST 4 //>120 bpm #define PULSE_THREADY 5 //occurs during hypovolemic shock - +//feel free to add shit to lists below var/list/tachycardics = list("coffee", "inaprovaline", "hyperzine", "nitroglycerin", "thirteenloko", "nicotine") //increase heart rate -var/list/bradycardics = list("neurotoxin", "cryoxadone", "clonexadone", "space_drugs", "stoxin") //decrease heart rate +var/list/bradycardics = list("neurotoxin", "cryoxadone", "clonexadone", "space_drugs", "stoxin") //decrease heart rate -//get_pulse methods +//proc/get_pulse methods #define GETPULSE_HAND 0 //less accurate (hand) #define GETPULSE_TOOL 1 //more accurate (med scanner, sleeper, etc) \ No newline at end of file