diff --git a/code/game/atoms.dm b/code/game/atoms.dm
index 6bf9855a87..9741abe957 100644
--- a/code/game/atoms.dm
+++ b/code/game/atoms.dm
@@ -442,14 +442,8 @@
//VOREStation Edit
var/list/see
if(isbelly(loc))
- var/list/belly_mobs = list()
- see["mobs"] = belly_mobs
- var/list/belly_objs = list()
- see["objs"] = belly_objs
- for(var/mob/living/L in loc.contents)
- belly_mobs |= L
- for(var/obj/O in loc.contents)
- belly_objs |= O
+ var/obj/belly/B = loc
+ see = B.get_mobs_and_objs_in_belly()
else
see = get_mobs_and_objs_in_view_fast(get_turf(src),world.view,remote_ghosts = FALSE)
//VOREStation Edit End
diff --git a/code/modules/mob/living/carbon/human/human_damage.dm b/code/modules/mob/living/carbon/human/human_damage.dm
index 58a5b79419..45f174063f 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())
+ if(organ && organ.organ_can_feel_pain() && !isbelly(loc)) //VOREStation Add
emote("scream")
..(damage, damagetype, def_zone, blocked, soaked)
return 1
diff --git a/code/modules/mob/living/carbon/human/human_organs.dm b/code/modules/mob/living/carbon/human/human_organs.dm
index 90e21023f1..6c1311fa41 100644
--- a/code/modules/mob/living/carbon/human/human_organs.dm
+++ b/code/modules/mob/living/carbon/human/human_organs.dm
@@ -114,7 +114,7 @@
// standing is poor
if(stance_damage >= 4 || (stance_damage >= 2 && prob(5)))
- if(!(lying || resting) && !isliving(loc))
+ if(!(lying || resting) && !isbelly(loc)) //VOREStation Edit
if(limb_pain)
emote("scream")
custom_emote(1, "collapses!")
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index b6076c7970..d2d95e9588 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -84,7 +84,14 @@
// blind_message (optional) is what blind people will hear e.g. "You hear something!"
/mob/visible_message(var/message, var/self_message, var/blind_message)
- var/list/see = get_mobs_and_objs_in_view_fast(get_turf(src),world.view,remote_ghosts = FALSE)
+ //VOREStation Edit
+ var/list/see
+ if(isbelly(loc))
+ var/obj/belly/B = loc
+ see = B.get_mobs_and_objs_in_belly()
+ else
+ see = get_mobs_and_objs_in_view_fast(get_turf(src),world.view,remote_ghosts = FALSE)
+ //VOREStation Edit End
var/list/seeing_mobs = see["mobs"]
var/list/seeing_objs = see["objs"]
diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm
index 21b642c525..9378869815 100644
--- a/code/modules/organs/organ_external.dm
+++ b/code/modules/organs/organ_external.dm
@@ -270,7 +270,7 @@
if(status & ORGAN_BROKEN && brute)
jostle_bone(brute)
- if(organ_can_feel_pain() && prob(40))
+ if(organ_can_feel_pain() && prob(40) && !isbelly(owner.loc)) //VOREStation Edit
owner.emote("scream") //getting hit on broken hand hurts
if(used_weapon)
add_autopsy_data("[used_weapon]", brute + burn)
@@ -1031,7 +1031,7 @@ Note that amputating the affected organ does in fact remove the infection from t
"Something feels like it shattered in your [name]!",\
"You hear a sickening crack.")
jostle_bone()
- if(organ_can_feel_pain())
+ if(organ_can_feel_pain() && !isbelly(owner.loc))
owner.emote("scream")
playsound(src.loc, "fracture", 10, 1, -2)
diff --git a/code/modules/vore/eating/belly_obj_vr.dm b/code/modules/vore/eating/belly_obj_vr.dm
index 2418fe7091..8affcb171d 100644
--- a/code/modules/vore/eating/belly_obj_vr.dm
+++ b/code/modules/vore/eating/belly_obj_vr.dm
@@ -549,6 +549,19 @@
to_chat(owner,"Your prey appears to be unable to make any progress in escaping your [lowertext(name)].")
return
+/obj/belly/proc/get_mobs_and_objs_in_belly()
+ var/list/see = list()
+ var/list/belly_mobs = list()
+ see["mobs"] = belly_mobs
+ var/list/belly_objs = list()
+ see["objs"] = belly_objs
+ for(var/mob/living/L in loc.contents)
+ belly_mobs |= L
+ for(var/obj/O in loc.contents)
+ belly_objs |= O
+
+ return see
+
//Transfers contents from one belly to another
/obj/belly/proc/transfer_contents(var/atom/movable/content, var/obj/belly/target, silent = 0)
if(!(content in src) || !istype(target))