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