diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 27b0fcfac1..93706ccdb4 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -1324,7 +1324,7 @@ // Puke if toxloss is too high if(!stat) - if (getToxLoss() >= 45 && nutrition > 20) + if (getToxLoss() >= 45) spawn vomit() //0.1% chance of playing a scary sound to someone who's in complete darkness diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index be397a6def..ba5b8fd24c 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -814,38 +814,35 @@ default behaviour is: return if(!lastpuke) - + lastpuke = 1 if (nutrition <= 100) src << "You gag as you want to throw up, but there's nothing in your stomach!" src.Weaken(10) - src.adjustToxLoss(3) - return - - lastpuke = 1 - src << "You feel nauseous..." - - if(!skip_wait) - sleep(150) //15 seconds until second warning - src << "You feel like you are about to throw up!" - sleep(100) //and you have 10 more for mad dash to the bucket - - Stun(5) - src.visible_message("[src] throws up!","You throw up!") - playsound(loc, 'sound/effects/splat.ogg', 50, 1) - - var/turf/simulated/T = get_turf(src) - if(istype(T)) - if(blood_vomit) - T.add_blood_floor(src) - else - T.add_vomit_floor(src, 1) - - if(blood_vomit) - if(getBruteLoss() < 50) - adjustBruteLoss(3) else - nutrition -= 40 - adjustToxLoss(-3) + src << "You feel nauseous..." + + if(!skip_wait) + sleep(150) //15 seconds until second warning + src << "You feel like you are about to throw up!" + sleep(100) //and you have 10 more for mad dash to the bucket + + Stun(5) + src.visible_message("[src] throws up!","You throw up!") + playsound(loc, 'sound/effects/splat.ogg', 50, 1) + + var/turf/simulated/T = get_turf(src) + if(istype(T)) + if(blood_vomit) + T.add_blood_floor(src) + else + T.add_vomit_floor(src, 1) + + if(blood_vomit) + if(getBruteLoss() < 50) + adjustBruteLoss(3) + else + nutrition -= 40 + adjustToxLoss(-3) sleep(350) lastpuke = 0 diff --git a/html/changelogs/EmperorJon - Vomit.yml b/html/changelogs/EmperorJon - Vomit.yml new file mode 100644 index 0000000000..48b6b3519e --- /dev/null +++ b/html/changelogs/EmperorJon - Vomit.yml @@ -0,0 +1,15 @@ +# Your name. +author: Yoshax + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - bugfix: "Having between 25 and 100 nutrition and over 45 toxin damage will no longer cause you to gag ad-infinitum and die. It now respects vomit time restraints." + - tweak: "Gagging now occurs only when the mob has no nutrition at all. It no longer causes three toxin damage, only weakens as before." + - tweak: "Vomiting and/or gagging from toxins now occurs regardless of nutrition, not only 20+."