A whole bunch of vore related fixes.

-Fixes prey not hearing gurgles from inside the gut.
-Prey now gets it privately in full glory.
-Tweaked the miniscule vore sound falloff that made things barely audible at all. People not in the immediately adjacent tiles may hear some faint noises if they listen intently enough, but that feels like a less of a problem compared to the stuff being barely hearable on ground zero tile.
-Fixes hunger noises.
-Hunger noises now scale gradually from 0 to 100% vol in the span of 250 to 0 nutrition.
-Fixes attack anims messing up pixel offsets on our big voremobs and dogborgs.
-Removes prey size multiplier from mob vore "fullness" that would prevent 1-seater mobs from touching any even slightly taller than average chars. They already have a max size blocker in the will_eat thing.
-Makes bellies hide prey deathmessages again.
-Fixes security oties not changing to hold mode for human arrests.(I swear I had fixed this thing before???)
This commit is contained in:
Verkister
2018-03-05 14:38:55 +02:00
parent 6ce25e9166
commit 6e816a3517
14 changed files with 35 additions and 12 deletions
+1 -1
View File
@@ -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.
@@ -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 = FALSE, 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)
@@ -123,6 +123,7 @@
//R.icon_state = "k9"
R.pixel_x = -16
R.old_x = -16
R.default_pixel_x = -16
R.dogborg = TRUE
..()
@@ -174,6 +175,7 @@
//R.icon_state = "medihound"
R.pixel_x = -16
R.old_x = -16
R.default_pixel_x = -16
R.dogborg = TRUE
..()
@@ -200,6 +202,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
..()
@@ -223,6 +226,7 @@
//R.icon_state = "scrubpup"
R.pixel_x = -16
R.old_x = -16
R.default_pixel_x = -16
R.dogborg = TRUE
..()
@@ -255,6 +259,7 @@
//R.icon_state = "science"
R.pixel_x = -16
R.old_x = -16
R.default_pixel_x = -16
R.dogborg = TRUE
..()
@@ -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
@@ -33,6 +33,7 @@
old_x = -16
old_y = 0
default_pixel_x = -16
pixel_x = -16
pixel_y = 0
@@ -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
@@ -18,6 +18,8 @@
old_x = -16
old_y = 0
default_pixel_x = -16
default_pixel_y = -16
pixel_x = -16
pixel_y = 0
@@ -26,6 +26,7 @@
old_x = -16
old_y = 0
default_pixel_x = -16
pixel_x = -16
pixel_y = 0
@@ -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
@@ -22,6 +22,7 @@
old_x = -16
old_y = 0
default_pixel_x = -16
pixel_x = -16
pixel_y = 0
@@ -15,6 +15,8 @@
old_x = -16
old_y = -16
default_pixel_x = -16
default_pixel_y = -16
pixel_x = -16
pixel_y = -16
@@ -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