mirror of
https://github.com/CHOMPstation/CHOMPstation.git
synced 2026-08-26 05:26:24 +01:00
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:
@@ -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,"<span class='notice'>[thing] slides into your [lowertext(name)].</span>")
|
||||
|
||||
|
||||
//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,7 +168,7 @@
|
||||
var/taste
|
||||
if(can_taste && (taste = M.get_taste_message(FALSE)))
|
||||
to_chat(owner, "<span class='notice'>[M] tastes of [taste].</span>")
|
||||
|
||||
|
||||
// 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.
|
||||
|
||||
@@ -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,7 @@
|
||||
put_in_egg(P,1)
|
||||
|
||||
if(play_sound)
|
||||
for (var/mob/living/M in contents)
|
||||
M << sound(play_sound)
|
||||
playsound(src, play_sound, vol = 100, vary = 1, falloff = VORE_SOUND_FALLOFF, ignore_walls = FALSE, preference = /datum/client_preference/digestion_noises)
|
||||
return SSBELLIES_PROCESSED
|
||||
|
||||
Reference in New Issue
Block a user