diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 79548d00e7a..1c5da420ea6 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -930,6 +930,14 @@ if (istype(location, /turf/simulated)) location.add_vomit_floor(src, 1) + var/stomach_len = src.stomach_contents.len + if (stomach_len) + var/content = src.stomach_contents[stomach_len] + if (istype(content, /atom/movable)) + var/atom/movable/AM = content + src.stomach_contents.Remove(AM) + AM.loc = location + if(!hairball) nutrition -= 40 adjustToxLoss(-3) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 9d7d2836ba6..233c8c0a1f0 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -1487,7 +1487,7 @@ if(M.loc != src) stomach_contents.Remove(M) continue - if(istype(M, /mob/living/carbon) && stat != 2) + if(isliving(M) && stat != 2) if(M.stat == 2) M.death(1) stomach_contents.Remove(M) diff --git a/code/modules/mob/mob_grab.dm b/code/modules/mob/mob_grab.dm index db2d28574ee..656ae586074 100644 --- a/code/modules/mob/mob_grab.dm +++ b/code/modules/mob/mob_grab.dm @@ -190,7 +190,7 @@ s_click(hud) return if(M == assailant && state >= GRAB_AGGRESSIVE) - if( (ishuman(user) && (FAT in user.mutations) && ismonkey(affecting) ) || ( isalien(user) && iscarbon(affecting) ) ) + if( (ishuman(user) && (FAT in user.mutations) && iscarbon(affecting) ) || ( isalien(user) && iscarbon(affecting) ) ) var/mob/living/carbon/attacker = user user.visible_message("[user] is attempting to devour [affecting]!") if(istype(user, /mob/living/carbon/alien/humanoid/hunter))