diff --git a/code/modules/mob/death.dm b/code/modules/mob/death.dm
index 45b7bd5e379..af0fdf4301b 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,/mob/living)) deathmessage = "no message" //VOREStation Add - Prevents death messages from inside mobs
+ if(src.loc && istype(loc,/obj/belly)) 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/life.dm b/code/modules/mob/living/carbon/human/life.dm
index e150aa0b5a5..edc49641fe6 100644
--- a/code/modules/mob/living/carbon/human/life.dm
+++ b/code/modules/mob/living/carbon/human/life.dm
@@ -901,6 +901,11 @@
if(overeatduration > 1)
overeatduration -= 2 //doubled the unfat rate
+ if(noisy == TRUE && nutrition < 250 && prob(10)) //VOREStation edit for hunger noises.
+ var/growlsound = pick(hunger_sounds)
+ var/growlmultiplier = 100 - (nutrition / 250 * 100)
+ playsound(src, growlsound, vol = growlmultiplier, vary = 1, falloff = 0.1, ignore_walls = TRUE, preference = /datum/client_preference/digestion_noises)
+
if(!isSynthetic() && (species.flags & IS_PLANT) && (!light_organ || light_organ.is_broken()))
if(nutrition < 200)
take_overall_damage(2,0)
diff --git a/code/modules/mob/living/silicon/robot/robot_modules/station_vr.dm b/code/modules/mob/living/silicon/robot/robot_modules/station_vr.dm
index 93b3d5ba3b2..393e167b879 100644
--- a/code/modules/mob/living/silicon/robot/robot_modules/station_vr.dm
+++ b/code/modules/mob/living/silicon/robot/robot_modules/station_vr.dm
@@ -123,6 +123,7 @@
//R.icon_state = "k9"
R.pixel_x = -16
R.old_x = -16
+ R.default_pixel_x = -16
R.dogborg = TRUE
R.wideborg = TRUE
..()
@@ -175,6 +176,7 @@
//R.icon_state = "medihound"
R.pixel_x = -16
R.old_x = -16
+ R.default_pixel_x = -16
R.dogborg = TRUE
R.wideborg = TRUE
..()
@@ -202,6 +204,7 @@
R.hands.icon = 'icons/mob/screen1_robot_vr.dmi'
R.pixel_x = -16
R.old_x = -16
+ R.default_pixel_x = -16
R.dogborg = TRUE
R.wideborg = TRUE
..()
@@ -226,6 +229,7 @@
//R.icon_state = "scrubpup"
R.pixel_x = -16
R.old_x = -16
+ R.default_pixel_x = -16
R.dogborg = TRUE
R.wideborg = TRUE
..()
@@ -259,6 +263,7 @@
//R.icon_state = "science"
R.pixel_x = -16
R.old_x = -16
+ R.default_pixel_x = -16
R.dogborg = TRUE
R.wideborg = TRUE
..()
diff --git a/code/modules/mob/living/simple_animal/simple_animal_vr.dm b/code/modules/mob/living/simple_animal/simple_animal_vr.dm
index 8aa585cbb3c..58966051863 100644
--- a/code/modules/mob/living/simple_animal/simple_animal_vr.dm
+++ b/code/modules/mob/living/simple_animal/simple_animal_vr.dm
@@ -89,7 +89,7 @@
if(M.size_multiplier < vore_min_size || M.size_multiplier > vore_max_size)
ai_log("vr/wont eat [M] because they too small or too big", 3)
return 0
- if(vore_capacity != 0 && (vore_fullness + M.size_multiplier > vore_capacity)) // We're too full to fit them
+ if(vore_capacity != 0 && (vore_fullness >= vore_capacity)) // We're too full to fit them
ai_log("vr/wont eat [M] because I am too full", 3)
return 0
return 1
@@ -188,7 +188,7 @@
"The juices pooling beneath you sizzle against your sore skin.",
"The churning walls slowly pulverize you into meaty nutrients.",
"The stomach glorps and gurgles as it tries to work you into slop.")
-
+
/mob/living/simple_animal/Bumped(var/atom/movable/AM, yes)
if(ismob(AM))
var/mob/tmob = AM
diff --git a/code/modules/mob/living/simple_animal/vore/badboi.dm b/code/modules/mob/living/simple_animal/vore/badboi.dm
index 807cd426fba..15c24526600 100644
--- a/code/modules/mob/living/simple_animal/vore/badboi.dm
+++ b/code/modules/mob/living/simple_animal/vore/badboi.dm
@@ -33,6 +33,7 @@
old_x = -16
old_y = 0
+ default_pixel_x = -16
pixel_x = -16
pixel_y = 0
diff --git a/code/modules/mob/living/simple_animal/vore/carp.dm b/code/modules/mob/living/simple_animal/vore/carp.dm
index e601f22d74b..e4bcc95d4e2 100644
--- a/code/modules/mob/living/simple_animal/vore/carp.dm
+++ b/code/modules/mob/living/simple_animal/vore/carp.dm
@@ -5,7 +5,7 @@
icon_dead = "megacarp-dead"
icon_living = "megacarp"
icon_state = "megacarp"
-
+
maxHealth = 600 // Boss
health = 600
speed = 3
@@ -16,6 +16,8 @@
melee_damage_upper = 25
old_x = -16
old_y = -16
+ default_pixel_x = -16
+ default_pixel_y = -16
pixel_x = -16
pixel_y = -16
vore_capacity = 2
diff --git a/code/modules/mob/living/simple_animal/vore/deathclaw.dm b/code/modules/mob/living/simple_animal/vore/deathclaw.dm
index db981d757af..2f99179bd96 100644
--- a/code/modules/mob/living/simple_animal/vore/deathclaw.dm
+++ b/code/modules/mob/living/simple_animal/vore/deathclaw.dm
@@ -18,6 +18,7 @@
old_x = -16
old_y = 0
+ default_pixel_x = -16
pixel_x = -16
pixel_y = 0
diff --git a/code/modules/mob/living/simple_animal/vore/dragon.dm b/code/modules/mob/living/simple_animal/vore/dragon.dm
index 605e403274c..7f64ee0da2b 100644
--- a/code/modules/mob/living/simple_animal/vore/dragon.dm
+++ b/code/modules/mob/living/simple_animal/vore/dragon.dm
@@ -26,6 +26,7 @@
old_x = -16
old_y = 0
+ default_pixel_x = -16
pixel_x = -16
pixel_y = 0
diff --git a/code/modules/mob/living/simple_animal/vore/otie.dm b/code/modules/mob/living/simple_animal/vore/otie.dm
index 885f625fe2d..eb814c54259 100644
--- a/code/modules/mob/living/simple_animal/vore/otie.dm
+++ b/code/modules/mob/living/simple_animal/vore/otie.dm
@@ -41,6 +41,7 @@
meat_amount = 6
old_x = -16
old_y = 0
+ default_pixel_x = -16
pixel_x = -16
pixel_y = 0
@@ -193,7 +194,7 @@
. = ..()
/mob/living/simple_animal/otie/security/feed_grabbed_to_self(var/mob/living/user, var/mob/living/prey) // Make the gut start out safe for bellybrigging.
- if(ishuman(target_mob))
+ if(ishuman(prey))
vore_selected.digest_mode = DM_HOLD
if(istype(prey,/mob/living/simple_animal/mouse))
vore_selected.digest_mode = DM_DIGEST
diff --git a/code/modules/mob/living/simple_animal/vore/panther.dm b/code/modules/mob/living/simple_animal/vore/panther.dm
index 1ae1620f50d..f22fd275a17 100644
--- a/code/modules/mob/living/simple_animal/vore/panther.dm
+++ b/code/modules/mob/living/simple_animal/vore/panther.dm
@@ -22,6 +22,7 @@
old_x = -16
old_y = 0
+ default_pixel_x = -16
pixel_x = -16
pixel_y = 0
diff --git a/code/modules/mob/living/simple_animal/vore/snake.dm b/code/modules/mob/living/simple_animal/vore/snake.dm
index d941139284c..7f753bc92f6 100644
--- a/code/modules/mob/living/simple_animal/vore/snake.dm
+++ b/code/modules/mob/living/simple_animal/vore/snake.dm
@@ -15,6 +15,8 @@
old_x = -16
old_y = -16
+ default_pixel_x = -16
+ default_pixel_y = -16
pixel_x = -16
pixel_y = -16
diff --git a/code/modules/mob/living/simple_animal/vore/zz_vore_overrides.dm b/code/modules/mob/living/simple_animal/vore/zz_vore_overrides.dm
index 863b7da41ec..c71cc1d36ee 100644
--- a/code/modules/mob/living/simple_animal/vore/zz_vore_overrides.dm
+++ b/code/modules/mob/living/simple_animal/vore/zz_vore_overrides.dm
@@ -68,6 +68,7 @@
vore_icons = SA_ICON_LIVING
old_x = -16
old_y = 0
+ default_pixel_x = -16
pixel_x = -16
pixel_y = 0
diff --git a/code/modules/vore/eating/belly_obj_vr.dm b/code/modules/vore/eating/belly_obj_vr.dm
index 6724817c40d..77cf2adb6f3 100644
--- a/code/modules/vore/eating/belly_obj_vr.dm
+++ b/code/modules/vore/eating/belly_obj_vr.dm
@@ -1,4 +1,4 @@
-#define VORE_SOUND_FALLOFF 0.05
+#define VORE_SOUND_FALLOFF 0.1
//
// Belly system 2.0, now using objects instead of datums because EH at datums.
@@ -44,7 +44,7 @@
var/tmp/list/items_preserved = list() // Stuff that wont digest so we shouldn't process it again.
var/tmp/next_emote = 0 // When we're supposed to print our next emote, as a belly controller tick #
var/tmp/recent_sound = FALSE // Prevent audio spam
-
+
// Don't forget to watch your commas at the end of each line if you change these.
var/list/struggle_messages_outside = list(
"%pred's %belly wobbles with a squirming meal.",
@@ -152,14 +152,14 @@
//Generic entered message
to_chat(owner,"[thing] slides into your [lowertext(name)].")
-
+
//Sound w/ antispam flag setting
if(vore_sound && !recent_sound)
var/soundfile = vore_sounds[vore_sound]
if(soundfile)
playsound(src, soundfile, vol = 100, vary = 1, falloff = VORE_SOUND_FALLOFF, preference = /datum/client_preference/eating_noises)
recent_sound = TRUE
-
+
//Messages if it's a mob
if(isliving(thing))
var/mob/living/M = thing
@@ -168,11 +168,13 @@
var/taste
if(can_taste && (taste = M.get_taste_message(FALSE)))
to_chat(owner, "[M] tastes of [taste].")
-
+
// Release all contents of this belly into the owning mob's location.
// If that location is another mob, contents are transferred into whichever of its bellies the owning mob is in.
// Returns the number of mobs so released.
/obj/belly/proc/release_all_contents(var/include_absorbed = FALSE)
+ if(!contents.len)
+ return 0
var/atom/destination = drop_location()
var/count = 0
for(var/thing in contents)
diff --git a/code/modules/vore/eating/bellymodes_vr.dm b/code/modules/vore/eating/bellymodes_vr.dm
index f090c80241e..0c8898a7ac1 100644
--- a/code/modules/vore/eating/bellymodes_vr.dm
+++ b/code/modules/vore/eating/bellymodes_vr.dm
@@ -3,7 +3,7 @@
if((times_fired < next_process) || !contents.len)
recent_sound = FALSE
return SSBELLIES_IGNORED
-
+
if(loc != owner)
if(istype(owner))
loc = owner
@@ -41,7 +41,7 @@
if(prob(50)) //Was SO OFTEN. AAAA.
play_sound = pick(digestion_sounds)
-
+
for (var/mob/living/M in contents)
//Pref protection!
if (!M.digestable || M.absorbed)
@@ -472,5 +472,5 @@
put_in_egg(P,1)
if(play_sound)
- playsound(src, play_sound, vol = 100, vary = 1, falloff = VORE_SOUND_FALLOFF, ignore_walls = FALSE, preference = /datum/client_preference/digestion_noises)
+ playsound(src, play_sound, vol = 100, vary = 1, falloff = VORE_SOUND_FALLOFF, ignore_walls = TRUE, preference = /datum/client_preference/digestion_noises)
return SSBELLIES_PROCESSED