From dfafe03fe0b3070e6c34d79ccc22fd67cdca6ab1 Mon Sep 17 00:00:00 2001 From: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> Date: Fri, 1 Sep 2023 19:52:31 +0200 Subject: [PATCH] Runtime delayed vomit fix (#17201) * Atomization * cl --------- Co-authored-by: FluffyGhost --- code/modules/mob/mob_helpers.dm | 10 +++-- .../FluffyGhost-runtime_delayed_vomit_fix.yml | 41 +++++++++++++++++++ 2 files changed, 48 insertions(+), 3 deletions(-) create mode 100644 html/changelogs/FluffyGhost-runtime_delayed_vomit_fix.yml diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index 4be425c3786..5c22962c0c6 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -739,6 +739,9 @@ var/list/intents = list(I_HELP,I_DISARM,I_GRAB,I_HURT) return 1 /mob/living/carbon/human/proc/delayed_vomit() + if(QDELETED(src)) + return + if(!check_has_mouth()) return if(stat == DEAD) @@ -753,9 +756,10 @@ var/list/intents = list(I_HELP,I_DISARM,I_GRAB,I_HURT) spawn(150) //15 seconds until second warning to_chat(src, "You feel like you are about to throw up!") spawn(100) //and you have 10 more for mad dash to the bucket - empty_stomach() - spawn(350) //wait 35 seconds before next volley - lastpuke = 0 + if(!QDELETED(src)) + empty_stomach() + spawn(350) //wait 35 seconds before next volley + lastpuke = 0 /obj/proc/get_equip_slot() //This function is called by an object which is somewhere on a humanoid mob diff --git a/html/changelogs/FluffyGhost-runtime_delayed_vomit_fix.yml b/html/changelogs/FluffyGhost-runtime_delayed_vomit_fix.yml new file mode 100644 index 00000000000..a46ec03c8d7 --- /dev/null +++ b/html/changelogs/FluffyGhost-runtime_delayed_vomit_fix.yml @@ -0,0 +1,41 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +# balance +# admin +# backend +# security +# refactor +################################# + +# Your name. +author: FluffyGhost + +# 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: "Resolved a runtime that could happen on a mob queue for deletion that is also vomiting."