diff --git a/code/game/objects/closets.dm b/code/game/objects/closets.dm index c63603be9a6..fa65fa17f5a 100644 --- a/code/game/objects/closets.dm +++ b/code/game/objects/closets.dm @@ -38,7 +38,7 @@ src.icon_state = src.icon_opened src.opened = 1 //if(istype(src, /obj/structure/closet/body_bag)) - //playsound(src.loc, 'zip.wav', 15, 1, -3) + //playsound(src.loc, 'zip.ogg', 15, 1, -3) //else playsound(src.loc, 'click.ogg', 15, 1, -3) density = 0 @@ -68,7 +68,7 @@ src.icon_state = src.icon_closed src.opened = 0 //if(istype(src, /obj/structure/closet/body_bag)) - //playsound(src.loc, 'zip.wav', 15, 1, -3) + //playsound(src.loc, 'zip.ogg', 15, 1, -3) //else playsound(src.loc, 'click.ogg', 15, 1, -3) density = 1 diff --git a/code/game/objects/devices/PDA/PDA.dm b/code/game/objects/devices/PDA/PDA.dm index 93948879ade..7b4fcf39631 100644 --- a/code/game/objects/devices/PDA/PDA.dm +++ b/code/game/objects/devices/PDA/PDA.dm @@ -741,6 +741,17 @@ user.show_message("\blue \t Damage Specifics: [C.getOxyLoss() > 50 ? "\red" : "\blue"][C.getOxyLoss()]-[C.getToxLoss() > 50 ? "\red" : "\blue"][C.getToxLoss()]-[C.getFireLoss() > 50 ? "\red" : "\blue"][C.getFireLoss()]-[C.getBruteLoss() > 50 ? "\red" : "\blue"][C.getBruteLoss()]", 1) user.show_message("\blue \t Key: Suffocation/Toxin/Burns/Brute", 1) user.show_message("\blue \t Body Temperature: [C.bodytemperature-T0C]°C ([C.bodytemperature*1.8-459.67]°F)", 1) + + if(istype(C, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = C + var/list/damaged = H.get_damaged_organs(1,1) + user.show_message("\blue Localized Damage, Brute-Burn:",1) + if(length(damaged)>0) + for(var/datum/organ/external/org in damaged) + user.show_message(text("\blue \t []: []\blue-[]",capitalize(org.getDisplayName()),(org.brute_dam > 0)?"\red [org.brute_dam]":0,(org.burn_dam > 0)?"\red [org.burn_dam]":0),1) + else + user.show_message("\blue \t Limbs are OK.",1) + for(var/datum/disease/D in C.viruses) if(!D.hidden[SCANNER]) user.show_message(text("\red Warning: [D.form] Detected\nName: [D.name].\nType: [D.spread].\nStage: [D.stage]/[D.max_stages].\nPossible Cure: [D.cure]")) diff --git a/code/game/objects/devices/scanners.dm b/code/game/objects/devices/scanners.dm index 06ce3444ce8..b9326ea6680 100644 --- a/code/game/objects/devices/scanners.dm +++ b/code/game/objects/devices/scanners.dm @@ -178,6 +178,7 @@ MASS SPECTROMETER throw_range = 10 m_amt = 200 origin_tech = "magnets=1;biotech=1" + var/mode = 1; /obj/item/device/healthanalyzer/attack(mob/M as mob, mob/user as mob) if ((user.mutations & CLUMSY || user.getBrainLoss() >= 60) && prob(50)) @@ -204,6 +205,16 @@ MASS SPECTROMETER user.show_message(text("\blue \t Damage Specifics: []-[]-[]-[]", M.getOxyLoss() > 50 ? "\red [M.getOxyLoss()]" : M.getOxyLoss(), M.getToxLoss() > 50 ? "\red [M.getToxLoss()]" : M.getToxLoss(), M.getFireLoss() > 50 ? "\red[M.getFireLoss()]" : M.getFireLoss(), M.getBruteLoss() > 50 ? "\red[M.getBruteLoss()]" : M.getBruteLoss()), 1) user.show_message("\blue Key: Suffocation/Toxin/Burns/Brute", 1) user.show_message("\blue Body Temperature: [M.bodytemperature-T0C]°C ([M.bodytemperature*1.8-459.67]°F)", 1) + if(mode == 1 && istype(M, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = M + var/list/damaged = H.get_damaged_organs(1,1) + user.show_message("\blue Localized Damage, Brute\\Burn:",1) + if(length(damaged)>0) + for(var/datum/organ/external/org in damaged) + user.show_message(text("\blue \t []: []\blue-[]",capitalize(org.getDisplayName()),(org.brute_dam > 0)?"\red [org.brute_dam]":0,(org.burn_dam > 0)?"\red [org.burn_dam]":0),1) + else + user.show_message("\blue \t Limbs are OK.",1) + if((M.changeling && M.changeling.changeling_fakedeath) || (M.reagents && M.reagents.has_reagent("zombiepowder"))) user.show_message(text("\blue [] | [] | [] | []", fake_oxy > 50 ? "\red Severe oxygen deprivation detected\blue" : "Subject bloodstream oxygen level normal", M.getToxLoss() > 50 ? "\red Dangerous amount of toxins detected\blue" : "Subject bloodstream toxin level minimal", M.getFireLoss() > 50 ? "\red Severe burn damage detected\blue" : "Subject burn injury status O.K", M.getBruteLoss() > 50 ? "\red Severe anatomical damage detected\blue" : "Subject brute-force injury status O.K"), 1) else @@ -224,6 +235,17 @@ MASS SPECTROMETER src.add_fingerprint(user) return +/obj/item/device/healthanalyzer/verb/toggle_mode() + set name = "Switch Verbosity" + set category = "Object" + + mode = !mode + switch (mode) + if(1) + usr << "The scanner now shows specific limb damage." + if(0) + usr << "The scanner no longer shows limb damage." + /obj/item/device/analyzer desc = "A hand-held environmental scanner which reports current gas levels." diff --git a/code/modules/chemical/Chemistry-Tools.dm b/code/modules/chemical/Chemistry-Tools.dm index bdc681748f9..8d5349ed496 100644 --- a/code/modules/chemical/Chemistry-Tools.dm +++ b/code/modules/chemical/Chemistry-Tools.dm @@ -2832,13 +2832,13 @@ ..() reagents.add_reagent("dexalin", 30) -/obj/item/weapon/reagent_containers/pill/bicardine - name = "Bicardine pill" +/obj/item/weapon/reagent_containers/pill/bicaridine + name = "Bicaridine pill" desc = "Used to treat physical injuries." icon_state = "pill18" New() ..() - reagents.add_reagent("bicardine", 30) + reagents.add_reagent("bicaridine", 30) //Dispensers /obj/structure/reagent_dispensers/watertank diff --git a/code/modules/critters/critters.dm b/code/modules/critters/critters.dm index 0ea545d6db6..3e8645f4c80 100644 --- a/code/modules/critters/critters.dm +++ b/code/modules/critters/critters.dm @@ -266,7 +266,7 @@ melee_damage_lower = 10 melee_damage_upper = 15 attacktext = "cuts" - attack_sound = 'bladeslice.wav' + attack_sound = 'bladeslice.ogg' chasestate = "viscerator_attack" deathtext = "is smashed into pieces!" diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 0517e6c414a..1ffcc1cb470 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -156,24 +156,52 @@ /mob/living/carbon/proc/help_shake_act(mob/living/carbon/M) if (src.health > 0) - var/t_him = "it" - if (src.gender == MALE) - t_him = "him" - else if (src.gender == FEMALE) - t_him = "her" - if (istype(src,/mob/living/carbon/human) && src:w_uniform) + if(src == M && istype(src, /mob/living/carbon/human)) var/mob/living/carbon/human/H = src - H.w_uniform.add_fingerprint(M) - src.sleeping = 0 - src.resting = 0 - AdjustParalysis(-3) - AdjustStunned(-3) - AdjustWeakened(-3) - playsound(src.loc, 'thudswoosh.ogg', 50, 1, -1) - M.visible_message( \ - "\blue [M] shakes [src] trying to wake [t_him] up!", \ - "\blue You shake [src] trying to wake [t_him] up!", \ - ) + src.visible_message( \ + text("\blue [src] examines [].",src.gender==MALE?"himself":"herself"), \ + "\blue You check yourself for injuries." \ + ) + + for(var/datum/organ/external/org in H.organs) + var/status = "" + if(org.brute_dam > 0) + status = "bruised" + if(org.brute_dam > 20) + status = "bleeding" + if(org.brute_dam > 40) + status = "mangled" + if(org.brute_dam > 0 && org.burn_dam > 0) + status += " and " + if(org.burn_dam > 40) + status += "peeling away" + + else if(org.burn_dam > 10) + status += "blistered" + else if(org.burn_dam > 0) + status += "numb" + if(status == "") + status = "OK" + src.show_message(text("\t []My [] is [].",status=="OK"?"\blue ":"\red ",org.getDisplayName(),status),1) + else + var/t_him = "it" + if (src.gender == MALE) + t_him = "him" + else if (src.gender == FEMALE) + t_him = "her" + if (istype(src,/mob/living/carbon/human) && src:w_uniform) + var/mob/living/carbon/human/H = src + H.w_uniform.add_fingerprint(M) + src.sleeping = 0 + src.resting = 0 + AdjustParalysis(-3) + AdjustStunned(-3) + AdjustWeakened(-3) + playsound(src.loc, 'thudswoosh.ogg', 50, 1, -1) + M.visible_message( \ + "\blue [M] shakes [src] trying to wake [t_him] up!", \ + "\blue You shake [src] trying to wake [t_him] up!", \ + ) /mob/living/carbon/proc/eyecheck() return 0 \ No newline at end of file diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 2383d623a1c..2de25768a3f 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -69,7 +69,7 @@ src.modules += new /obj/item/weapon/reagent_containers/pill/dexalin(src) src.modules += new /obj/item/weapon/reagent_containers/pill/antitox(src) src.modules += new /obj/item/weapon/reagent_containers/pill/kelotane(src) - src.modules += new /obj/item/weapon/reagent_containers/pill/bicardine(src) + src.modules += new /obj/item/weapon/reagent_containers/pill/bicaridine(src) return @@ -78,7 +78,7 @@ /obj/item/weapon/reagent_containers/pill/dexalin, /obj/item/weapon/reagent_containers/pill/antitox, /obj/item/weapon/reagent_containers/pill/kelotane, - /obj/item/weapon/reagent_containers/pill/bicardine + /obj/item/weapon/reagent_containers/pill/bicaridine ) for (var/T in what) if (!(locate(T) in src.modules)) diff --git a/code/modules/mob/organ/organ.dm b/code/modules/mob/organ/organ.dm index db29229dff5..1f89d9738fe 100644 --- a/code/modules/mob/organ/organ.dm +++ b/code/modules/mob/organ/organ.dm @@ -103,6 +103,20 @@ src.damage_state = n_is return 1 return 0 + + + proc/getDisplayName() + switch(src.name) + if("l_leg") + return "left leg" + if("r_leg") + return "right leg" + if("l_arm") + return "left arm" + if("r_arm") + return "right arm" + else + return src.name diff --git a/sound/items/zip.ogg b/sound/items/zip.ogg new file mode 100644 index 00000000000..fff4b3e355f Binary files /dev/null and b/sound/items/zip.ogg differ diff --git a/sound/machines/zip.wav b/sound/machines/zip.wav deleted file mode 100644 index 2f947c8eeb2..00000000000 Binary files a/sound/machines/zip.wav and /dev/null differ diff --git a/sound/weapons/bladeslice.ogg b/sound/weapons/bladeslice.ogg new file mode 100644 index 00000000000..8f72857bd1d Binary files /dev/null and b/sound/weapons/bladeslice.ogg differ diff --git a/sound/weapons/bladeslice.wav b/sound/weapons/bladeslice.wav deleted file mode 100644 index 88fc6257294..00000000000 Binary files a/sound/weapons/bladeslice.wav and /dev/null differ