zzztethoscope

This commit is contained in:
NonQueueingMatt
2019-12-16 18:03:02 +01:00
parent 945c02bad0
commit 00600acf38
6 changed files with 116 additions and 49 deletions
+27 -1
View File
@@ -191,4 +191,30 @@
if(!is_usable())
return FALSE
return pulse > PULSE_NONE || BP_IS_ROBOTIC(src) || (owner.status_flags & FAKEDEATH)
return pulse > PULSE_NONE || BP_IS_ROBOTIC(src) || (owner.status_flags & FAKEDEATH)
/obj/item/organ/internal/heart/listen()
if(BP_IS_ROBOTIC(src) && is_working())
if(is_bruised())
return "sputtering pump"
else
return "steady whirr of the pump"
if(!pulse || (owner.status_flags & FAKEDEATH))
return "no pulse"
var/pulsesound = "normal"
if(is_bruised())
pulsesound = "irregular"
switch(pulse)
if(PULSE_SLOW)
pulsesound = "slow"
if(PULSE_FAST)
pulsesound = "fast"
if(PULSE_2FAST)
pulsesound = "very fast"
if(PULSE_THREADY)
pulsesound = "extremely fast and faint"
. = "[pulsesound] pulse"
+28 -2
View File
@@ -42,7 +42,7 @@
if(!owner)
return
if(germ_level > INFECTION_LEVEL_ONE)
if(prob(5))
owner.emote("cough") //Respiratory tract infection
@@ -302,5 +302,31 @@
else if(breath.temperature <= owner.species.cold_discomfort_level)
owner.species.get_environment_discomfort(src,"cold")
/obj/item/organ/internal/lungs/listen()
if(owner.failed_last_breath)
return "no respiration"
if(BP_IS_ROBOTIC(src))
if(is_bruised())
return "malfunctioning fans"
else
return "air flowing"
. = list()
if(is_bruised())
. += "[pick("wheezing", "gurgling")] sounds"
var/list/breathtype = list()
if(get_oxygen_deprivation() > 50)
breathtype += pick("straining","labored")
if(owner.shock_stage > 50)
breathtype += pick("shallow and rapid")
if(!breathtype.len)
breathtype += "healthy"
. += "[english_list(breathtype)] breathing"
return english_list(.)
#undef HUMAN_MAX_OXYLOSS
#undef HUMAN_CRIT_MAX_OXYLOSS
#undef HUMAN_CRIT_MAX_OXYLOSS
+4
View File
@@ -419,3 +419,7 @@
user.put_in_active_hand(O)
qdel(src)
target.attackby(O, user)
//used by stethoscope
/obj/item/organ/proc/listen()
return
+11
View File
@@ -1249,6 +1249,17 @@ Note that amputating the affected organ does in fact remove the infection from t
flavor_text += "a ton of [wound]\s"
return english_list(flavor_text)
/obj/item/organ/external/listen()
var/list/sounds = list()
for(var/obj/item/organ/internal/I in internal_organs)
var/gutsound = I.listen()
if(gutsound)
sounds += gutsound
if(!sounds.len)
if(owner.pulse())
sounds += "faint pulse"
return sounds
/obj/item/organ/external/proc/sever_artery()
if((status & ORGAN_ROBOT) || (status & ORGAN_ARTERY_CUT) || !species || species.flags & NO_BLOOD || species.flags & NO_ARTERIES)
return FALSE