diff --git a/code/modules/mob/death.dm b/code/modules/mob/death.dm index af0fdf4301..39ce19fe6c 100644 --- a/code/modules/mob/death.dm +++ b/code/modules/mob/death.dm @@ -70,7 +70,7 @@ if(stat == DEAD) return 0 - if(src.loc && istype(loc,/obj/belly)) deathmessage = "no message" //VOREStation Add - Prevents death messages from inside mobs + if(src.loc && istype(loc,/obj/belly) || istype(loc,/obj/item/device/dogborg/sleeper)) deathmessage = "no message" //VOREStation Add - Prevents death messages from inside mobs facing_dir = null if(!gibbed && deathmessage != "no message") // This is gross, but reliable. Only brains use it. diff --git a/code/modules/mob/living/carbon/human/human_damage.dm b/code/modules/mob/living/carbon/human/human_damage.dm index 45f174063f..28de4d6d93 100644 --- a/code/modules/mob/living/carbon/human/human_damage.dm +++ b/code/modules/mob/living/carbon/human/human_damage.dm @@ -447,7 +447,7 @@ This function restores all organs. if((damagetype != BRUTE) && (damagetype != BURN)) if(damagetype == HALLOSS) if((damage > 25 && prob(20)) || (damage > 50 && prob(60))) - if(organ && organ.organ_can_feel_pain() && !isbelly(loc)) //VOREStation Add + if(organ && organ.organ_can_feel_pain() && !isbelly(loc) && !istype(loc, /obj/item/device/dogborg/sleeper)) //VOREStation Add emote("scream") ..(damage, damagetype, def_zone, blocked, soaked) return 1 diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index efa040bf2b..f3f72693d3 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -832,7 +832,7 @@ var/total_phoronloss = 0 for(var/obj/item/I in src) - if(I.contaminated || I.gurgled) //VOREStation Edit + if(I.contaminated) if(check_belly(I)) continue //VOREStation Edit if(src.species && src.species.get_bodytype() != "Vox") // This is hacky, I'm so sorry. diff --git a/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm b/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm index f6c2028fec..32e31c9a9a 100644 --- a/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm +++ b/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm @@ -560,6 +560,9 @@ if(T.reagents) volume = T.reagents.total_volume water.add_charge(volume) + if(patient == T) + patient_laststat = null + patient = null qdel(T) //Pick a random item to deal with (if there are any) diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index 3c5c83d8a0..048a91271b 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -273,7 +273,7 @@ if(status & ORGAN_BROKEN && brute) jostle_bone(brute) - if(organ_can_feel_pain() && prob(40) && !isbelly(owner.loc)) //VOREStation Edit + if(organ_can_feel_pain() && prob(40) && !isbelly(owner.loc) && !istype(owner.loc, /obj/item/device/dogborg/sleeper)) //VOREStation Edit owner.emote("scream") //getting hit on broken hand hurts if(used_weapon) add_autopsy_data("[used_weapon]", brute + burn) diff --git a/code/modules/vore/eating/bellymodes_vr.dm b/code/modules/vore/eating/bellymodes_vr.dm index 4278f7a59e..bb798781bf 100644 --- a/code/modules/vore/eating/bellymodes_vr.dm +++ b/code/modules/vore/eating/bellymodes_vr.dm @@ -38,9 +38,14 @@ if(isitem(A) && !did_an_item) var/obj/item/I = A if(mode_flags & DM_FLAG_ITEMWEAK) - I.gurgle_contaminate(src, cont_flavor) - items_preserved |= I - to_update = TRUE + if(digest_mode == DM_HOLD) + if(istype(I,/obj/item/weapon/reagent_containers/food)) + digest_item(I) + else + items_preserved |= I + else + I.gurgle_contaminate(src, cont_flavor) + items_preserved |= I else digest_item(I) to_update = TRUE diff --git a/icons/effects/sludgeoverlay_vr.dmi b/icons/effects/sludgeoverlay_vr.dmi index b2a251de61..af99da5894 100644 Binary files a/icons/effects/sludgeoverlay_vr.dmi and b/icons/effects/sludgeoverlay_vr.dmi differ