mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
Adds Sound Code and toggles
This commit is contained in:
@@ -8,11 +8,12 @@
|
|||||||
#define CHANNEL_AMBIENCE 1018
|
#define CHANNEL_AMBIENCE 1018
|
||||||
#define CHANNEL_BUZZ 1017
|
#define CHANNEL_BUZZ 1017
|
||||||
#define CHANNEL_BICYCLE 1016
|
#define CHANNEL_BICYCLE 1016
|
||||||
|
#define CHANNEL_PREYLOOP 1015 //VORESTATION ADD - Fancy Sound Loop channel
|
||||||
|
|
||||||
//THIS SHOULD ALWAYS BE THE LOWEST ONE!
|
//THIS SHOULD ALWAYS BE THE LOWEST ONE!
|
||||||
//KEEP IT UPDATED
|
//KEEP IT UPDATED
|
||||||
|
|
||||||
#define CHANNEL_HIGHEST_AVAILABLE 1015
|
#define CHANNEL_HIGHEST_AVAILABLE 1014 //VORESTATION EDIT - Fancy Sound Loop channel from 1015
|
||||||
|
|
||||||
#define SOUND_MINIMUM_PRESSURE 10
|
#define SOUND_MINIMUM_PRESSURE 10
|
||||||
#define FALLOFF_SOUNDS 0.5
|
#define FALLOFF_SOUNDS 0.5
|
||||||
|
|||||||
@@ -42,40 +42,8 @@ var/global/list/item_vore_blacklist = list(
|
|||||||
/obj/item/weapon/disk/nuclear,
|
/obj/item/weapon/disk/nuclear,
|
||||||
/obj/item/clothing/suit/storage/hooded/wintercoat/roiz)
|
/obj/item/clothing/suit/storage/hooded/wintercoat/roiz)
|
||||||
|
|
||||||
var/global/list/digestion_sounds = list(
|
//Classic Vore sounds
|
||||||
'sound/vore/digest1.ogg',
|
var/global/list/classic_vore_sounds = list(
|
||||||
'sound/vore/digest2.ogg',
|
|
||||||
'sound/vore/digest3.ogg',
|
|
||||||
'sound/vore/digest4.ogg',
|
|
||||||
'sound/vore/digest5.ogg',
|
|
||||||
'sound/vore/digest6.ogg',
|
|
||||||
'sound/vore/digest7.ogg',
|
|
||||||
'sound/vore/digest8.ogg',
|
|
||||||
'sound/vore/digest9.ogg',
|
|
||||||
'sound/vore/digest10.ogg',
|
|
||||||
'sound/vore/digest11.ogg',
|
|
||||||
'sound/vore/digest12.ogg')
|
|
||||||
|
|
||||||
var/global/list/death_sounds = list(
|
|
||||||
'sound/vore/death1.ogg',
|
|
||||||
'sound/vore/death2.ogg',
|
|
||||||
'sound/vore/death3.ogg',
|
|
||||||
'sound/vore/death4.ogg',
|
|
||||||
'sound/vore/death5.ogg',
|
|
||||||
'sound/vore/death6.ogg',
|
|
||||||
'sound/vore/death7.ogg',
|
|
||||||
'sound/vore/death8.ogg',
|
|
||||||
'sound/vore/death9.ogg',
|
|
||||||
'sound/vore/death10.ogg')
|
|
||||||
|
|
||||||
var/global/list/hunger_sounds = list(
|
|
||||||
'sound/vore/growl1.ogg',
|
|
||||||
'sound/vore/growl2.ogg',
|
|
||||||
'sound/vore/growl3.ogg',
|
|
||||||
'sound/vore/growl4.ogg',
|
|
||||||
'sound/vore/growl5.ogg')
|
|
||||||
|
|
||||||
var/global/list/vore_sounds = list(
|
|
||||||
"Gulp" = 'sound/vore/gulp.ogg',
|
"Gulp" = 'sound/vore/gulp.ogg',
|
||||||
"Insert" = 'sound/vore/insert.ogg',
|
"Insert" = 'sound/vore/insert.ogg',
|
||||||
"Insertion1" = 'sound/vore/insertion1.ogg',
|
"Insertion1" = 'sound/vore/insertion1.ogg',
|
||||||
@@ -86,15 +54,55 @@ var/global/list/vore_sounds = list(
|
|||||||
"Squish2" = 'sound/vore/squish2.ogg',
|
"Squish2" = 'sound/vore/squish2.ogg',
|
||||||
"Squish3" = 'sound/vore/squish3.ogg',
|
"Squish3" = 'sound/vore/squish3.ogg',
|
||||||
"Squish4" = 'sound/vore/squish4.ogg',
|
"Squish4" = 'sound/vore/squish4.ogg',
|
||||||
"Rustle (cloth)" = 'sound/effects/rustle5.ogg',
|
"Rustle (cloth)" = 'sound/effects/rustle1.ogg',
|
||||||
|
"Rustle 2 (cloth)" = 'sound/effects/rustle2.ogg',
|
||||||
|
"Rustle 3 (cloth)" = 'sound/effects/rustle3.ogg',
|
||||||
|
"Rustle 4 (cloth)" = 'sound/effects/rustle4.ogg',
|
||||||
|
"Rustle 5 (cloth)" = 'sound/effects/rustle5.ogg',
|
||||||
"None" = null)
|
"None" = null)
|
||||||
|
|
||||||
var/global/list/struggle_sounds = list(
|
var/global/list/classic_release_sounds = list(
|
||||||
"Squish1" = 'sound/vore/squish1.ogg',
|
"Rustle (cloth)" = 'sound/effects/rustle1.ogg',
|
||||||
"Squish2" = 'sound/vore/squish2.ogg',
|
"Rustle 2 (cloth)" = 'sound/effects/rustle2.ogg',
|
||||||
"Squish3" = 'sound/vore/squish3.ogg',
|
"Rustle 3 (cloth)" = 'sound/effects/rustle3.ogg',
|
||||||
"Squish4" = 'sound/vore/squish4.ogg')
|
"Rustle 4 (cloth)" = 'sound/effects/rustle4.ogg',
|
||||||
|
"Rustle 5 (cloth)" = 'sound/effects/rustle5.ogg',
|
||||||
|
"Splatter" = 'sound/effects/splat.ogg',
|
||||||
|
"None" = null
|
||||||
|
)
|
||||||
|
|
||||||
|
//Poojy's Fancy Sounds
|
||||||
|
var/global/list/fancy_vore_sounds = list(
|
||||||
|
"Gulp" = 'sound/vore/sunesound/pred/swallow_01.ogg',
|
||||||
|
"Swallow" = 'sound/vore/sunesound/pred/swallow_02.ogg',
|
||||||
|
"Insertion1" = 'sound/vore/sunesound/pred/insertion_01.ogg',
|
||||||
|
"Insertion2" = 'sound/vore/sunesound/pred/insertion_02.ogg',
|
||||||
|
"Tauric Swallow" = 'sound/vore/sunesound/pred/taurswallow.ogg',
|
||||||
|
"Stomach Move" = 'sound/vore/sunesound/pred/stomachmove.ogg',
|
||||||
|
"Schlorp" = 'sound/vore/sunesound/pred/schlorp.ogg',
|
||||||
|
"Squish1" = 'sound/vore/sunesound/pred/squish_01.ogg',
|
||||||
|
"Squish2" = 'sound/vore/sunesound/pred/squish_02.ogg',
|
||||||
|
"Squish3" = 'sound/vore/sunesound/pred/squish_03.ogg',
|
||||||
|
"Squish4" = 'sound/vore/sunesound/pred/squish_04.ogg',
|
||||||
|
"Rustle (cloth)" = 'sound/effects/rustle1.ogg',
|
||||||
|
"Rustle 2 (cloth)" = 'sound/effects/rustle2.ogg',
|
||||||
|
"Rustle 3 (cloth)" = 'sound/effects/rustle3.ogg',
|
||||||
|
"Rustle 4 (cloth)" = 'sound/effects/rustle4.ogg',
|
||||||
|
"Rustle 5 (cloth)" = 'sound/effects/rustle5.ogg',
|
||||||
|
"None" = null
|
||||||
|
)
|
||||||
|
|
||||||
|
var/global/list/fancy_release_sounds = list(
|
||||||
|
"Rustle (cloth)" = 'sound/effects/rustle1.ogg',
|
||||||
|
"Rustle 2 (cloth)" = 'sound/effects/rustle2.ogg',
|
||||||
|
"Rustle 3 (cloth)" = 'sound/effects/rustle3.ogg',
|
||||||
|
"Rustle 4 (cloth)" = 'sound/effects/rustle4.ogg',
|
||||||
|
"Rustle 5 (cloth)" = 'sound/effects/rustle5.ogg',
|
||||||
|
"Stomach Move" = 'sound/vore/sunesound/pred/stomachmove.ogg',
|
||||||
|
"Pred Escape" = 'sound/vore/sunesound/pred/escape.ogg',
|
||||||
|
"Splatter" = 'sound/effects/splat.ogg',
|
||||||
|
"None" = null
|
||||||
|
)
|
||||||
|
|
||||||
var/global/list/global_vore_egg_types = list(
|
var/global/list/global_vore_egg_types = list(
|
||||||
"Unathi" = UNATHI_EGG,
|
"Unathi" = UNATHI_EGG,
|
||||||
|
|||||||
@@ -137,6 +137,46 @@
|
|||||||
if ("button") soundin = pick('sound/machines/button1.ogg','sound/machines/button2.ogg','sound/machines/button3.ogg','sound/machines/button4.ogg')
|
if ("button") soundin = pick('sound/machines/button1.ogg','sound/machines/button2.ogg','sound/machines/button3.ogg','sound/machines/button4.ogg')
|
||||||
if ("switch") soundin = pick('sound/machines/switch1.ogg','sound/machines/switch2.ogg','sound/machines/switch3.ogg','sound/machines/switch4.ogg')
|
if ("switch") soundin = pick('sound/machines/switch1.ogg','sound/machines/switch2.ogg','sound/machines/switch3.ogg','sound/machines/switch4.ogg')
|
||||||
if ("casing_sound") soundin = pick('sound/weapons/casingfall1.ogg','sound/weapons/casingfall2.ogg','sound/weapons/casingfall3.ogg')
|
if ("casing_sound") soundin = pick('sound/weapons/casingfall1.ogg','sound/weapons/casingfall2.ogg','sound/weapons/casingfall3.ogg')
|
||||||
|
//VORESTATION EDIT - vore sounds for better performance
|
||||||
|
if ("hunger_sounds") soundin = pick('sound/vore/growl1.ogg','sound/vore/growl2.ogg','sound/vore/growl3.ogg','sound/vore/growl4.ogg','sound/vore/growl5.ogg')
|
||||||
|
|
||||||
|
if("classic_digestion_sounds") soundin = pick(
|
||||||
|
'sound/vore/digest1.ogg','sound/vore/digest2.ogg','sound/vore/digest3.ogg','sound/vore/digest4.ogg',
|
||||||
|
'sound/vore/digest5.ogg','sound/vore/digest6.ogg','sound/vore/digest7.ogg','sound/vore/digest8.ogg',
|
||||||
|
'sound/vore/digest9.ogg','sound/vore/digest10.ogg','sound/vore/digest11.ogg','sound/vore/digest12.ogg')
|
||||||
|
if("classic_death_sounds") soundin = pick(
|
||||||
|
'sound/vore/death1.ogg','sound/vore/death2.ogg','sound/vore/death3.ogg','sound/vore/death4.ogg','sound/vore/death5.ogg',
|
||||||
|
'sound/vore/death6.ogg','sound/vore/death7.ogg','sound/vore/death8.ogg','sound/vore/death9.ogg','sound/vore/death10.ogg')
|
||||||
|
if("classic_struggle_sounds") soundin = pick('sound/vore/squish1.ogg','sound/vore/squish2.ogg','sound/vore/squish3.ogg','sound/vore/squish4.ogg')
|
||||||
|
|
||||||
|
if("fancy_prey_struggle") soundin = pick(
|
||||||
|
'sound/vore/sunesound/prey/struggle_01.ogg','sound/vore/sunesound/prey/struggle_02.ogg','sound/vore/sunesound/prey/struggle_03.ogg',
|
||||||
|
'sound/vore/sunesound/prey/struggle_04.ogg','sound/vore/sunesound/prey/struggle_05.ogg')
|
||||||
|
if("fancy_digest_pred") soundin = pick(
|
||||||
|
'sound/vore/sunesound/pred/digest_01.ogg','sound/vore/sunesound/pred/digest_02.ogg','sound/vore/sunesound/pred/digest_03.ogg',
|
||||||
|
'sound/vore/sunesound/pred/digest_04.ogg','sound/vore/sunesound/pred/digest_05.ogg','sound/vore/sunesound/pred/digest_06.ogg',
|
||||||
|
'sound/vore/sunesound/pred/digest_07.ogg','sound/vore/sunesound/pred/digest_08.ogg','sound/vore/sunesound/pred/digest_09.ogg',
|
||||||
|
'sound/vore/sunesound/pred/digest_10.ogg','sound/vore/sunesound/pred/digest_11.ogg','sound/vore/sunesound/pred/digest_12.ogg',
|
||||||
|
'sound/vore/sunesound/pred/digest_13.ogg','sound/vore/sunesound/pred/digest_14.ogg','sound/vore/sunesound/pred/digest_15.ogg',
|
||||||
|
'sound/vore/sunesound/pred/digest_16.ogg','sound/vore/sunesound/pred/digest_17.ogg','sound/vore/sunesound/pred/digest_18.ogg')
|
||||||
|
if("fancy_death_pred") soundin = pick(
|
||||||
|
'sound/vore/sunesound/pred/death_01.ogg','sound/vore/sunesound/pred/death_02.ogg','sound/vore/sunesound/pred/death_03.ogg',
|
||||||
|
'sound/vore/sunesound/pred/death_04.ogg','sound/vore/sunesound/pred/death_05.ogg','sound/vore/sunesound/pred/death_06.ogg',
|
||||||
|
'sound/vore/sunesound/pred/death_07.ogg','sound/vore/sunesound/pred/death_08.ogg','sound/vore/sunesound/pred/death_09.ogg',
|
||||||
|
'sound/vore/sunesound/pred/death_10.ogg')
|
||||||
|
if("fancy_digest_prey") soundin = pick(
|
||||||
|
'sound/vore/sunesound/prey/digest_01.ogg','sound/vore/sunesound/prey/digest_02.ogg','sound/vore/sunesound/prey/digest_03.ogg',
|
||||||
|
'sound/vore/sunesound/prey/digest_04.ogg','sound/vore/sunesound/prey/digest_05.ogg','sound/vore/sunesound/prey/digest_06.ogg',
|
||||||
|
'sound/vore/sunesound/prey/digest_07.ogg','sound/vore/sunesound/prey/digest_08.ogg','sound/vore/sunesound/prey/digest_09.ogg',
|
||||||
|
'sound/vore/sunesound/prey/digest_10.ogg','sound/vore/sunesound/prey/digest_11.ogg','sound/vore/sunesound/prey/digest_12.ogg',
|
||||||
|
'sound/vore/sunesound/prey/digest_13.ogg','sound/vore/sunesound/prey/digest_14.ogg','sound/vore/sunesound/prey/digest_15.ogg',
|
||||||
|
'sound/vore/sunesound/prey/digest_16.ogg','sound/vore/sunesound/prey/digest_17.ogg','sound/vore/sunesound/prey/digest_18.ogg')
|
||||||
|
if("fancy_death_prey") soundin = pick(
|
||||||
|
'sound/vore/sunesound/prey/death_01.ogg','sound/vore/sunesound/prey/death_02.ogg','sound/vore/sunesound/prey/death_03.ogg',
|
||||||
|
'sound/vore/sunesound/prey/death_04.ogg','sound/vore/sunesound/prey/death_05.ogg','sound/vore/sunesound/prey/death_06.ogg',
|
||||||
|
'sound/vore/sunesound/prey/death_07.ogg','sound/vore/sunesound/prey/death_08.ogg','sound/vore/sunesound/prey/death_09.ogg',
|
||||||
|
'sound/vore/sunesound/prey/death_10.ogg')
|
||||||
|
//END VORESTATION EDIT
|
||||||
return soundin
|
return soundin
|
||||||
|
|
||||||
//Are these even used?
|
//Are these even used?
|
||||||
|
|||||||
@@ -2,3 +2,35 @@
|
|||||||
datum/preferences
|
datum/preferences
|
||||||
var/show_in_directory = 1 //TFF 5/8/19 - show in Character Directory
|
var/show_in_directory = 1 //TFF 5/8/19 - show in Character Directory
|
||||||
var/sensorpref = 5 //TFF 5/8/19 - set character's suit sensor level
|
var/sensorpref = 5 //TFF 5/8/19 - set character's suit sensor level
|
||||||
|
|
||||||
|
//Why weren't these in game toggles already?
|
||||||
|
/client/verb/toggle_eating_noises()
|
||||||
|
set name = "Eating Noises"
|
||||||
|
set category = "Preferences"
|
||||||
|
set desc = "Toggles Vore Eating noises."
|
||||||
|
|
||||||
|
var/pref_path = /datum/client_preference/eating_noises
|
||||||
|
|
||||||
|
toggle_preference(pref_path)
|
||||||
|
|
||||||
|
src << "You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] hear eating related vore noises."
|
||||||
|
|
||||||
|
SScharacter_setup.queue_preferences_save(prefs)
|
||||||
|
|
||||||
|
feedback_add_details("admin_verb","TEatNoise") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||||
|
|
||||||
|
|
||||||
|
/client/verb/toggle_digestion_noises()
|
||||||
|
set name = "Digestion Noises"
|
||||||
|
set category = "Preferences"
|
||||||
|
set desc = "Toggles Vore Digestion noises."
|
||||||
|
|
||||||
|
var/pref_path = /datum/client_preference/digestion_noises
|
||||||
|
|
||||||
|
toggle_preference(pref_path)
|
||||||
|
|
||||||
|
src << "You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] hear digestion related vore noises."
|
||||||
|
|
||||||
|
SScharacter_setup.queue_preferences_save(prefs)
|
||||||
|
|
||||||
|
feedback_add_details("admin_verb","TDigestNoise") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||||
|
|||||||
@@ -923,7 +923,7 @@
|
|||||||
overeatduration -= 2 //doubled the unfat rate
|
overeatduration -= 2 //doubled the unfat rate
|
||||||
|
|
||||||
if(noisy == TRUE && nutrition < 250 && prob(10)) //VOREStation edit for hunger noises.
|
if(noisy == TRUE && nutrition < 250 && prob(10)) //VOREStation edit for hunger noises.
|
||||||
var/growlsound = pick(hunger_sounds)
|
var/sound/growlsound = sound(get_sfx("hunger_sounds"))
|
||||||
var/growlmultiplier = 100 - (nutrition / 250 * 100)
|
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)
|
playsound(src, growlsound, vol = growlmultiplier, vary = 1, falloff = 0.1, ignore_walls = TRUE, preference = /datum/client_preference/digestion_noises)
|
||||||
// VOREStation Edit End
|
// VOREStation Edit End
|
||||||
|
|||||||
@@ -20,19 +20,22 @@
|
|||||||
var/emote_time = 60 SECONDS // How long between stomach emotes at prey
|
var/emote_time = 60 SECONDS // How long between stomach emotes at prey
|
||||||
var/digest_brute = 2 // Brute damage per tick in digestion mode
|
var/digest_brute = 2 // Brute damage per tick in digestion mode
|
||||||
var/digest_burn = 2 // Burn damage per tick in digestion mode
|
var/digest_burn = 2 // Burn damage per tick in digestion mode
|
||||||
var/immutable = 0 // Prevents this belly from being deleted
|
var/immutable = FALSE // Prevents this belly from being deleted
|
||||||
var/escapable = 0 // Belly can be resisted out of at any time
|
var/escapable = FALSE // Belly can be resisted out of at any time
|
||||||
var/escapetime = 60 SECONDS // Deciseconds, how long to escape this belly
|
var/escapetime = 60 SECONDS // Deciseconds, how long to escape this belly
|
||||||
var/digestchance = 0 // % Chance of stomach beginning to digest if prey struggles
|
var/digestchance = 0 // % Chance of stomach beginning to digest if prey struggles
|
||||||
var/absorbchance = 0 // % Chance of stomach beginning to absorb if prey struggles
|
var/absorbchance = 0 // % Chance of stomach beginning to absorb if prey struggles
|
||||||
var/escapechance = 0 // % Chance of prey beginning to escape if prey struggles.
|
var/escapechance = 0 // % Chance of prey beginning to escape if prey struggles.
|
||||||
var/transferchance = 0 // % Chance of prey being
|
var/transferchance = 0 // % Chance of prey being
|
||||||
var/can_taste = 0 // If this belly prints the flavor of prey when it eats someone.
|
var/can_taste = FALSE // If this belly prints the flavor of prey when it eats someone.
|
||||||
var/bulge_size = 0.25 // The minimum size the prey has to be in order to show up on examine.
|
var/bulge_size = 0.25 // The minimum size the prey has to be in order to show up on examine.
|
||||||
var/shrink_grow_size = 1 // This horribly named variable determines the minimum/maximum size it will shrink/grow prey to.
|
var/shrink_grow_size = 1 // This horribly named variable determines the minimum/maximum size it will shrink/grow prey to.
|
||||||
var/transferlocation // Location that the prey is released if they struggle and get dropped off.
|
var/transferlocation // Location that the prey is released if they struggle and get dropped off.
|
||||||
var/release_sound = TRUE // Boolean for now, maybe replace with something else later
|
var/release_sound = "Splatter" // Sound for letting someone out. Replaced from True/false
|
||||||
var/mode_flags = 0 // Stripping, numbing, etc.
|
var/mode_flags = 0 // Stripping, numbing, etc.
|
||||||
|
var/fancy_vore = FALSE // Using the new sounds?
|
||||||
|
var/is_wet = TRUE // Is this belly's insides made of slimy parts?
|
||||||
|
var/wet_loop = TRUE // Does the belly have a fleshy loop playing?
|
||||||
|
|
||||||
//I don't think we've ever altered these lists. making them static until someone actually overrides them somewhere.
|
//I don't think we've ever altered these lists. making them static until someone actually overrides them somewhere.
|
||||||
//Actual full digest modes
|
//Actual full digest modes
|
||||||
@@ -147,7 +150,11 @@
|
|||||||
"item_digest_mode",
|
"item_digest_mode",
|
||||||
"contaminates",
|
"contaminates",
|
||||||
"contamination_flavor",
|
"contamination_flavor",
|
||||||
"contamination_color"
|
"contamination_color",
|
||||||
|
"release_sound",
|
||||||
|
"fancy_vore",
|
||||||
|
"is_wet",
|
||||||
|
"wet_loop"
|
||||||
)
|
)
|
||||||
|
|
||||||
/obj/belly/New(var/newloc)
|
/obj/belly/New(var/newloc)
|
||||||
@@ -175,7 +182,11 @@
|
|||||||
|
|
||||||
//Sound w/ antispam flag setting
|
//Sound w/ antispam flag setting
|
||||||
if(vore_sound && !recent_sound)
|
if(vore_sound && !recent_sound)
|
||||||
var/soundfile = vore_sounds[vore_sound]
|
var/soundfile
|
||||||
|
if(!fancy_vore)
|
||||||
|
soundfile = classic_vore_sounds[vore_sound]
|
||||||
|
else
|
||||||
|
soundfile = fancy_vore_sounds[vore_sound]
|
||||||
if(soundfile)
|
if(soundfile)
|
||||||
playsound(src, soundfile, vol = 100, vary = 1, falloff = VORE_SOUND_FALLOFF, preference = /datum/client_preference/eating_noises)
|
playsound(src, soundfile, vol = 100, vary = 1, falloff = VORE_SOUND_FALLOFF, preference = /datum/client_preference/eating_noises)
|
||||||
recent_sound = TRUE
|
recent_sound = TRUE
|
||||||
@@ -196,7 +207,7 @@
|
|||||||
|
|
||||||
//Don't bother if we don't have contents
|
//Don't bother if we don't have contents
|
||||||
if(!contents.len)
|
if(!contents.len)
|
||||||
return 0
|
return FALSE
|
||||||
|
|
||||||
//Find where we should drop things into (certainly not the owner)
|
//Find where we should drop things into (certainly not the owner)
|
||||||
var/count = 0
|
var/count = 0
|
||||||
@@ -218,8 +229,13 @@
|
|||||||
//Print notifications/sound if necessary
|
//Print notifications/sound if necessary
|
||||||
if(!silent)
|
if(!silent)
|
||||||
owner.visible_message("<font color='green'><b>[owner] expels everything from their [lowertext(name)]!</b></font>")
|
owner.visible_message("<font color='green'><b>[owner] expels everything from their [lowertext(name)]!</b></font>")
|
||||||
if(release_sound)
|
var/soundfile
|
||||||
playsound(src, 'sound/effects/splat.ogg', vol = 100, vary = 1, falloff = VORE_SOUND_FALLOFF, preference = /datum/client_preference/eating_noises)
|
if(!fancy_vore)
|
||||||
|
soundfile = classic_release_sounds[release_sound]
|
||||||
|
else
|
||||||
|
soundfile = fancy_release_sounds[release_sound]
|
||||||
|
if(soundfile)
|
||||||
|
playsound(src, soundfile, vol = 100, vary = 1, falloff = VORE_SOUND_FALLOFF, preference = /datum/client_preference/eating_noises)
|
||||||
|
|
||||||
return count
|
return count
|
||||||
|
|
||||||
@@ -258,8 +274,13 @@
|
|||||||
//Print notifications/sound if necessary
|
//Print notifications/sound if necessary
|
||||||
if(!silent)
|
if(!silent)
|
||||||
owner.visible_message("<font color='green'><b>[owner] expels [M] from their [lowertext(name)]!</b></font>")
|
owner.visible_message("<font color='green'><b>[owner] expels [M] from their [lowertext(name)]!</b></font>")
|
||||||
if(release_sound)
|
var/soundfile
|
||||||
playsound(src, 'sound/effects/splat.ogg', vol = 100, vary = 1, falloff = VORE_SOUND_FALLOFF, preference = /datum/client_preference/eating_noises)
|
if(!fancy_vore)
|
||||||
|
soundfile = classic_release_sounds[release_sound]
|
||||||
|
else
|
||||||
|
soundfile = fancy_release_sounds[release_sound]
|
||||||
|
if(soundfile)
|
||||||
|
playsound(src, soundfile, vol = 100, vary = 1, falloff = VORE_SOUND_FALLOFF, preference = /datum/client_preference/eating_noises)
|
||||||
|
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
@@ -403,6 +424,8 @@
|
|||||||
else if(M.reagents)
|
else if(M.reagents)
|
||||||
M.reagents.trans_to_holder(Pred.bloodstr, M.reagents.total_volume, 0.5, TRUE)
|
M.reagents.trans_to_holder(Pred.bloodstr, M.reagents.total_volume, 0.5, TRUE)
|
||||||
|
|
||||||
|
//Incase they have the loop going, let's double check to stop it.
|
||||||
|
M.stop_sound_channel(CHANNEL_PREYLOOP)
|
||||||
// Delete the digested mob
|
// Delete the digested mob
|
||||||
qdel(M)
|
qdel(M)
|
||||||
|
|
||||||
@@ -515,9 +538,17 @@
|
|||||||
M.show_message(struggle_outer_message, 2) // hearable
|
M.show_message(struggle_outer_message, 2) // hearable
|
||||||
to_chat(R,struggle_user_message)
|
to_chat(R,struggle_user_message)
|
||||||
|
|
||||||
var/strpick = pick(struggle_sounds)
|
var/sound/struggle_snuggle
|
||||||
var/strsound = struggle_sounds[strpick]
|
var/sound/struggle_rustle = sound(get_sfx("rustle"))
|
||||||
playsound(src, strsound, vary = 1, vol = 100, falloff = VORE_SOUND_FALLOFF, preference = /datum/client_preference/digestion_noises)
|
|
||||||
|
if(is_wet)
|
||||||
|
if(!fancy_vore)
|
||||||
|
struggle_snuggle = sound(get_sfx("classic_struggle_sounds"))
|
||||||
|
else
|
||||||
|
struggle_snuggle = sound(get_sfx("fancy_prey_struggle"))
|
||||||
|
playsound(src, struggle_snuggle, vary = 1, vol = 75, falloff = VORE_SOUND_FALLOFF, preference = /datum/client_preference/digestion_noises)
|
||||||
|
else
|
||||||
|
playsound(src, struggle_rustle, vary = 1, vol = 75, falloff = VORE_SOUND_FALLOFF, preference = /datum/client_preference/digestion_noises)
|
||||||
|
|
||||||
if(escapable) //If the stomach has escapable enabled.
|
if(escapable) //If the stomach has escapable enabled.
|
||||||
if(prob(escapechance)) //Let's have it check to see if the prey escapes first.
|
if(prob(escapechance)) //Let's have it check to see if the prey escapes first.
|
||||||
@@ -601,7 +632,11 @@
|
|||||||
I.gurgle_contaminate(target.contents, target.contamination_flavor, target.contamination_color)
|
I.gurgle_contaminate(target.contents, target.contamination_flavor, target.contamination_color)
|
||||||
items_preserved -= content
|
items_preserved -= content
|
||||||
if(!silent && target.vore_sound && !recent_sound)
|
if(!silent && target.vore_sound && !recent_sound)
|
||||||
var/soundfile = vore_sounds[target.vore_sound]
|
var/soundfile
|
||||||
|
if(!fancy_vore)
|
||||||
|
soundfile = classic_vore_sounds[target.vore_sound]
|
||||||
|
else
|
||||||
|
soundfile = fancy_vore_sounds[target.vore_sound]
|
||||||
if(soundfile)
|
if(soundfile)
|
||||||
playsound(src, soundfile, vol = 100, vary = 1, falloff = VORE_SOUND_FALLOFF, preference = /datum/client_preference/digestion_noises)
|
playsound(src, soundfile, vol = 100, vary = 1, falloff = VORE_SOUND_FALLOFF, preference = /datum/client_preference/digestion_noises)
|
||||||
owner.updateVRPanel()
|
owner.updateVRPanel()
|
||||||
@@ -639,6 +674,10 @@
|
|||||||
dupe.contaminates = contaminates
|
dupe.contaminates = contaminates
|
||||||
dupe.contamination_flavor = contamination_flavor
|
dupe.contamination_flavor = contamination_flavor
|
||||||
dupe.contamination_color = contamination_color
|
dupe.contamination_color = contamination_color
|
||||||
|
dupe.release_sound = release_sound
|
||||||
|
dupe.fancy_vore = fancy_vore
|
||||||
|
dupe.is_wet = is_wet
|
||||||
|
dupe.wet_loop = wet_loop
|
||||||
|
|
||||||
//// Object-holding variables
|
//// Object-holding variables
|
||||||
//struggle_messages_outside - strings
|
//struggle_messages_outside - strings
|
||||||
|
|||||||
@@ -24,6 +24,35 @@
|
|||||||
if(M.digestable || digest_mode != DM_DIGEST) // don't give digesty messages to indigestible people
|
if(M.digestable || digest_mode != DM_DIGEST) // don't give digesty messages to indigestible people
|
||||||
to_chat(M,"<span class='notice'>[pick(EL)]</span>")
|
to_chat(M,"<span class='notice'>[pick(EL)]</span>")
|
||||||
|
|
||||||
|
///////////////////// Prey Loop Refresh/hack //////////////////////
|
||||||
|
for(var/mob/living/M in contents)
|
||||||
|
M.stop_sound_channel(CHANNEL_PREYLOOP) // sanity just in case, because byond is whack and you can't trust it
|
||||||
|
if(isbelly(M.loc)) //sanity check
|
||||||
|
if(world.time > M.next_preyloop) //We don't want it to overlap, but we also want it to replay.
|
||||||
|
if(is_wet && wet_loop) // Is it a fleshy environment, and does the pred have a fleshy heartbeat loop to play?
|
||||||
|
if(!M.client)
|
||||||
|
continue
|
||||||
|
if(M.is_preference_enabled(/datum/client_preference/digestion_noises)) //then we check if the mob has sounds enabled at all
|
||||||
|
var/sound/preyloop = sound('sound/vore/sunesound/prey/loop.ogg')
|
||||||
|
M.playsound_local(get_turf(src),preyloop, 80,0, channel = CHANNEL_PREYLOOP)
|
||||||
|
M.next_preyloop = (world.time + 52 SECONDS)
|
||||||
|
|
||||||
|
/////////////////////////// Sound Selections ///////////////////////////
|
||||||
|
var/sound/prey_digest
|
||||||
|
var/sound/prey_death
|
||||||
|
var/sound/pred_digest
|
||||||
|
var/sound/pred_death
|
||||||
|
if(!fancy_vore)
|
||||||
|
prey_digest = sound(get_sfx("classic_digestion_sounds"))
|
||||||
|
prey_death = sound(get_sfx("classic_death_sounds"))
|
||||||
|
pred_digest = sound(get_sfx("classic_digestion_sounds"))
|
||||||
|
pred_death = sound(get_sfx("classic_death_sounds"))
|
||||||
|
else
|
||||||
|
prey_digest = sound(get_sfx("fancy_digest_prey"))
|
||||||
|
prey_death = sound(get_sfx("fancy_death_prey"))
|
||||||
|
pred_digest = sound(get_sfx("fancy_digest_pred"))
|
||||||
|
pred_death = sound(get_sfx("fancy_death_pred"))
|
||||||
|
|
||||||
/////////////////////////// Exit Early ////////////////////////////
|
/////////////////////////// Exit Early ////////////////////////////
|
||||||
var/list/touchable_atoms = contents - items_preserved
|
var/list/touchable_atoms = contents - items_preserved
|
||||||
if(!length(touchable_atoms))
|
if(!length(touchable_atoms))
|
||||||
@@ -47,7 +76,7 @@
|
|||||||
else
|
else
|
||||||
items_preserved |= I
|
items_preserved |= I
|
||||||
if(prob(25)) //Less often than with normal digestion
|
if(prob(25)) //Less often than with normal digestion
|
||||||
play_sound = pick(digestion_sounds)
|
play_sound = pick(pred_digest)
|
||||||
else if(item_digest_mode == IM_DIGEST)
|
else if(item_digest_mode == IM_DIGEST)
|
||||||
if(I.digest_stage && I.digest_stage > 0)
|
if(I.digest_stage && I.digest_stage > 0)
|
||||||
digest_item(I)
|
digest_item(I)
|
||||||
@@ -56,7 +85,7 @@
|
|||||||
did_an_item = TRUE
|
did_an_item = TRUE
|
||||||
to_update = TRUE
|
to_update = TRUE
|
||||||
if(prob(25)) //Less often than with normal digestion
|
if(prob(25)) //Less often than with normal digestion
|
||||||
play_sound = pick(digestion_sounds)
|
play_sound = pick(pred_digest)
|
||||||
|
|
||||||
//Handle eaten mobs
|
//Handle eaten mobs
|
||||||
else if(isliving(A))
|
else if(isliving(A))
|
||||||
@@ -96,11 +125,15 @@
|
|||||||
else
|
else
|
||||||
items_preserved |= I
|
items_preserved |= I
|
||||||
if(prob(25)) //Less often than with normal digestion
|
if(prob(25)) //Less often than with normal digestion
|
||||||
play_sound = pick(digestion_sounds)
|
if(L && L.client && L.is_preference_enabled(/datum/client_preference/digestion_noises))
|
||||||
|
SEND_SOUND(L,prey_digest)
|
||||||
|
play_sound = pick(pred_digest)
|
||||||
else if(item_digest_mode == IM_DIGEST)
|
else if(item_digest_mode == IM_DIGEST)
|
||||||
digest_item(I)
|
digest_item(I)
|
||||||
if(prob(25)) //Less often than with normal digestion
|
if(prob(25)) //Less often than with normal digestion
|
||||||
play_sound = pick(digestion_sounds)
|
if(L && L.client && L.is_preference_enabled(/datum/client_preference/digestion_noises))
|
||||||
|
SEND_SOUND(L,prey_digest)
|
||||||
|
play_sound = pick(pred_digest)
|
||||||
to_update = TRUE
|
to_update = TRUE
|
||||||
break
|
break
|
||||||
//get rid of things like blood drops and gibs that end up in there
|
//get rid of things like blood drops and gibs that end up in there
|
||||||
@@ -115,7 +148,10 @@
|
|||||||
else if(digest_mode == DM_DIGEST)
|
else if(digest_mode == DM_DIGEST)
|
||||||
|
|
||||||
if(prob(50)) //Was SO OFTEN. AAAA.
|
if(prob(50)) //Was SO OFTEN. AAAA.
|
||||||
play_sound = pick(digestion_sounds)
|
for(var/mob/M in contents)
|
||||||
|
if(M && M.client && M.is_preference_enabled(/datum/client_preference/digestion_noises))
|
||||||
|
SEND_SOUND(M,prey_digest)
|
||||||
|
play_sound = pick(pred_digest)
|
||||||
|
|
||||||
for (var/target in touchable_mobs)
|
for (var/target in touchable_mobs)
|
||||||
var/mob/living/M = target
|
var/mob/living/M = target
|
||||||
@@ -142,7 +178,9 @@
|
|||||||
to_chat(owner,"<span class='notice'>" + digest_alert_owner + "</span>")
|
to_chat(owner,"<span class='notice'>" + digest_alert_owner + "</span>")
|
||||||
to_chat(M,"<span class='notice'>" + digest_alert_prey + "</span>")
|
to_chat(M,"<span class='notice'>" + digest_alert_prey + "</span>")
|
||||||
|
|
||||||
play_sound = pick(death_sounds)
|
play_sound = pick(pred_death)
|
||||||
|
if(M && M.client && M.is_preference_enabled(/datum/client_preference/digestion_noises))
|
||||||
|
SEND_SOUND(M,prey_death)
|
||||||
if((mode_flags & DM_FLAG_LEAVEREMAINS) && M.digest_leave_remains)
|
if((mode_flags & DM_FLAG_LEAVEREMAINS) && M.digest_leave_remains)
|
||||||
handle_remains_leaving(M)
|
handle_remains_leaving(M)
|
||||||
digestion_death(M)
|
digestion_death(M)
|
||||||
@@ -183,7 +221,9 @@
|
|||||||
for (var/target in touchable_mobs)
|
for (var/target in touchable_mobs)
|
||||||
var/mob/living/M = target
|
var/mob/living/M = target
|
||||||
if(prob(10)) //Less often than gurgles. People might leave this on forever.
|
if(prob(10)) //Less often than gurgles. People might leave this on forever.
|
||||||
play_sound = pick(digestion_sounds)
|
if(M && M.client && M.is_preference_enabled(/datum/client_preference/digestion_noises))
|
||||||
|
SEND_SOUND(M,prey_digest)
|
||||||
|
play_sound = pick(pred_digest)
|
||||||
|
|
||||||
if(M.absorbed)
|
if(M.absorbed)
|
||||||
continue
|
continue
|
||||||
@@ -216,7 +256,9 @@
|
|||||||
var/mob/living/M = target
|
var/mob/living/M = target
|
||||||
|
|
||||||
if(prob(10)) //Less often than gurgles. People might leave this on forever.
|
if(prob(10)) //Less often than gurgles. People might leave this on forever.
|
||||||
play_sound = pick(digestion_sounds)
|
if(M && M.client && M.is_preference_enabled(/datum/client_preference/digestion_noises))
|
||||||
|
SEND_SOUND(M,prey_digest)
|
||||||
|
play_sound = pick(pred_digest)
|
||||||
|
|
||||||
if(M.nutrition >= 100) //Drain them until there's no nutrients left.
|
if(M.nutrition >= 100) //Drain them until there's no nutrients left.
|
||||||
var/oldnutrition = (M.nutrition * 0.05)
|
var/oldnutrition = (M.nutrition * 0.05)
|
||||||
@@ -230,7 +272,9 @@
|
|||||||
var/mob/living/M = target
|
var/mob/living/M = target
|
||||||
|
|
||||||
if(prob(10)) //Infinite gurgles!
|
if(prob(10)) //Infinite gurgles!
|
||||||
play_sound = pick(digestion_sounds)
|
if(M && M.client && M.is_preference_enabled(/datum/client_preference/digestion_noises))
|
||||||
|
SEND_SOUND(M,prey_digest)
|
||||||
|
play_sound = pick(pred_digest)
|
||||||
|
|
||||||
if(M.size_multiplier > shrink_grow_size) //Shrink until smol.
|
if(M.size_multiplier > shrink_grow_size) //Shrink until smol.
|
||||||
M.resize(M.size_multiplier-0.01) //Shrink by 1% per tick.
|
M.resize(M.size_multiplier-0.01) //Shrink by 1% per tick.
|
||||||
@@ -247,7 +291,9 @@
|
|||||||
var/mob/living/M = target
|
var/mob/living/M = target
|
||||||
|
|
||||||
if(prob(10))
|
if(prob(10))
|
||||||
play_sound = pick(digestion_sounds)
|
if(M && M.client && M.is_preference_enabled(/datum/client_preference/digestion_noises))
|
||||||
|
SEND_SOUND(M,prey_digest)
|
||||||
|
play_sound = pick(pred_digest)
|
||||||
|
|
||||||
if(M.size_multiplier < shrink_grow_size) //Grow until large.
|
if(M.size_multiplier < shrink_grow_size) //Grow until large.
|
||||||
M.resize(M.size_multiplier+0.01) //Grow by 1% per tick.
|
M.resize(M.size_multiplier+0.01) //Grow by 1% per tick.
|
||||||
@@ -261,7 +307,9 @@
|
|||||||
var/mob/living/M = target
|
var/mob/living/M = target
|
||||||
|
|
||||||
if(prob(10))
|
if(prob(10))
|
||||||
play_sound = pick(digestion_sounds)
|
if(M && M.client && M.is_preference_enabled(/datum/client_preference/digestion_noises))
|
||||||
|
SEND_SOUND(M,prey_digest)
|
||||||
|
play_sound = pick(pred_digest)
|
||||||
|
|
||||||
if(M.size_multiplier > shrink_grow_size && owner.size_multiplier < 2) //Grow until either pred is large or prey is small.
|
if(M.size_multiplier > shrink_grow_size && owner.size_multiplier < 2) //Grow until either pred is large or prey is small.
|
||||||
owner.resize(owner.size_multiplier+0.01) //Grow by 1% per tick.
|
owner.resize(owner.size_multiplier+0.01) //Grow by 1% per tick.
|
||||||
@@ -276,7 +324,10 @@
|
|||||||
else if(digest_mode == DM_HEAL)
|
else if(digest_mode == DM_HEAL)
|
||||||
|
|
||||||
if(prob(50)) //Wet heals! The secret is you can leave this on for gurgle noises for fun.
|
if(prob(50)) //Wet heals! The secret is you can leave this on for gurgle noises for fun.
|
||||||
play_sound = pick(digestion_sounds)
|
for(var/mob/M in contents)
|
||||||
|
if(M && M.client && M.is_preference_enabled(/datum/client_preference/digestion_noises))
|
||||||
|
SEND_SOUND(M,prey_digest)
|
||||||
|
play_sound = pick(pred_digest)
|
||||||
|
|
||||||
for (var/target in touchable_mobs)
|
for (var/target in touchable_mobs)
|
||||||
var/mob/living/M = target
|
var/mob/living/M = target
|
||||||
@@ -303,7 +354,9 @@
|
|||||||
|
|
||||||
/////////////////////////// Make any noise ///////////////////////////
|
/////////////////////////// Make any noise ///////////////////////////
|
||||||
if(play_sound)
|
if(play_sound)
|
||||||
playsound(src, play_sound, vol = 100, vary = 1, falloff = VORE_SOUND_FALLOFF, ignore_walls = TRUE, preference = /datum/client_preference/digestion_noises)
|
for(var/mob/M in hearers(4, owner)) //so we don't fill the whole room with the sound effect
|
||||||
|
if(M && M.client && (isturf(M.loc) || (M.loc != src.contents)) && M.is_preference_enabled(/datum/client_preference/digestion_noises)) //to avoid people on the inside getting the outside sounds and their direct sounds + built in sound pref check
|
||||||
|
SEND_SOUND(M, play_sound) //these are all external sound triggers now, so it's ok.
|
||||||
if(to_update)
|
if(to_update)
|
||||||
for(var/mob/living/M in contents)
|
for(var/mob/living/M in contents)
|
||||||
if(M.client)
|
if(M.client)
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
///////////////////// Mob Living /////////////////////
|
///////////////////// Mob Living /////////////////////
|
||||||
/mob/living
|
/mob/living
|
||||||
var/digestable = 1 // Can the mob be digested inside a belly?
|
var/digestable = TRUE // Can the mob be digested inside a belly?
|
||||||
var/digest_leave_remains = 0 // Will this mob leave bones/skull/etc after the melty demise?
|
var/digest_leave_remains = FALSE // Will this mob leave bones/skull/etc after the melty demise?
|
||||||
var/allowmobvore = 1 // Will simplemobs attempt to eat the mob?
|
var/allowmobvore = TRUE // Will simplemobs attempt to eat the mob?
|
||||||
var/showvoreprefs = 1 // Determines if the mechanical vore preferences button will be displayed on the mob or not.
|
var/showvoreprefs = TRUE // Determines if the mechanical vore preferences button will be displayed on the mob or not.
|
||||||
var/obj/belly/vore_selected // Default to no vore capability.
|
var/obj/belly/vore_selected // Default to no vore capability.
|
||||||
var/list/vore_organs = list() // List of vore containers inside a mob
|
var/list/vore_organs = list() // List of vore containers inside a mob
|
||||||
var/absorbed = 0 // If a mob is absorbed into another
|
var/absorbed = FALSE // If a mob is absorbed into another
|
||||||
var/weight = 137 // Weight for mobs for weightgain system
|
var/weight = 137 // Weight for mobs for weightgain system
|
||||||
var/weight_gain = 1 // How fast you gain weight
|
var/weight_gain = 1 // How fast you gain weight
|
||||||
var/weight_loss = 0.5 // How fast you lose weight
|
var/weight_loss = 0.5 // How fast you lose weight
|
||||||
@@ -15,16 +15,17 @@
|
|||||||
var/revive_ready = REVIVING_READY // Only used for creatures that have the xenochimera regen ability, so far.
|
var/revive_ready = REVIVING_READY // Only used for creatures that have the xenochimera regen ability, so far.
|
||||||
var/metabolism = 0.0015
|
var/metabolism = 0.0015
|
||||||
var/vore_taste = null // What the character tastes like
|
var/vore_taste = null // What the character tastes like
|
||||||
var/no_vore = 0 // If the character/mob can vore.
|
var/no_vore = FALSE // If the character/mob can vore.
|
||||||
var/openpanel = 0 // Is the vore panel open?
|
var/openpanel = FALSE // Is the vore panel open?
|
||||||
var/noisy = 0 // Toggle audible hunger.
|
var/noisy = FALSE // Toggle audible hunger.
|
||||||
var/absorbing_prey = 0 // Determines if the person is using the succubus drain or not. See station_special_abilities_vr.
|
var/absorbing_prey = 0 // Determines if the person is using the succubus drain or not. See station_special_abilities_vr.
|
||||||
var/drain_finalized = 0 // Determines if the succubus drain will be KO'd/absorbed. Can be toggled on at any time.
|
var/drain_finalized = 0 // Determines if the succubus drain will be KO'd/absorbed. Can be toggled on at any time.
|
||||||
var/fuzzy = 1 // Preference toggle for sharp/fuzzy icon.
|
var/fuzzy = 1 // Preference toggle for sharp/fuzzy icon.
|
||||||
var/tail_alt = 0 // Tail layer toggle.
|
var/tail_alt = 0 // Tail layer toggle.
|
||||||
var/permit_healbelly = TRUE
|
var/permit_healbelly = TRUE
|
||||||
var/can_be_drop_prey = 0
|
var/can_be_drop_prey = FALSE
|
||||||
var/can_be_drop_pred = 1 // Mobs are pred by default.
|
var/can_be_drop_pred = TRUE // Mobs are pred by default.
|
||||||
|
var/next_preyloop // For Fancy sound internal loop
|
||||||
|
|
||||||
//
|
//
|
||||||
// Hook for generic creation of stuff on new creatures
|
// Hook for generic creation of stuff on new creatures
|
||||||
|
|||||||
@@ -19,6 +19,8 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
|
|||||||
|
|
||||||
-Aro <3 */
|
-Aro <3 */
|
||||||
|
|
||||||
|
#define VORE_VERSION 1 //This is a Define so you don't have to worry about magic numbers.
|
||||||
|
|
||||||
//
|
//
|
||||||
// Overrides/additions to stock defines go here, as well as hooks. Sort them by
|
// Overrides/additions to stock defines go here, as well as hooks. Sort them by
|
||||||
// the object they are overriding. So all /mob/living together, etc.
|
// the object they are overriding. So all /mob/living together, etc.
|
||||||
@@ -139,7 +141,7 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
|
|||||||
/datum/vore_preferences/proc/save_vore()
|
/datum/vore_preferences/proc/save_vore()
|
||||||
if(!path) return 0
|
if(!path) return 0
|
||||||
|
|
||||||
var/version = 1 //For "good times" use in the future
|
var/version = VORE_VERSION //For "good times" use in the future
|
||||||
var/list/settings_list = list(
|
var/list/settings_list = list(
|
||||||
"version" = version,
|
"version" = version,
|
||||||
"digestable" = digestable,
|
"digestable" = digestable,
|
||||||
|
|||||||
@@ -189,6 +189,13 @@
|
|||||||
dat += "<a href='?src=\ref[src];b_name=\ref[selected]'>Name:</a>"
|
dat += "<a href='?src=\ref[src];b_name=\ref[selected]'>Name:</a>"
|
||||||
dat += " '[selected.name]'"
|
dat += " '[selected.name]'"
|
||||||
|
|
||||||
|
//Belly Type button
|
||||||
|
dat += "<br><a href='?src=\ref[src];b_wetness=\ref[selected]'>Is this belly fleshy:</a>"
|
||||||
|
dat += "[selected.is_wet ? "Yes" : "No"]"
|
||||||
|
if(selected.is_wet)
|
||||||
|
dat += "<a href='?src=\ref[src];b_wetloop=\ref[selected]'>Internal loop for prey?:</a>"
|
||||||
|
dat += "[selected.wet_loop ? "Yes" : "No"]"
|
||||||
|
|
||||||
//Digest Mode Button
|
//Digest Mode Button
|
||||||
dat += "<br><a href='?src=\ref[src];b_mode=\ref[selected]'>Belly Mode:</a>"
|
dat += "<br><a href='?src=\ref[src];b_mode=\ref[selected]'>Belly Mode:</a>"
|
||||||
var/mode = selected.digest_mode
|
var/mode = selected.digest_mode
|
||||||
@@ -229,10 +236,18 @@
|
|||||||
dat += "<br><a href='?src=\ref[src];b_desc=\ref[selected]'>Flavor Text:</a>"
|
dat += "<br><a href='?src=\ref[src];b_desc=\ref[selected]'>Flavor Text:</a>"
|
||||||
dat += " '[selected.desc]'"
|
dat += " '[selected.desc]'"
|
||||||
|
|
||||||
|
//Belly Sound Fanciness
|
||||||
|
dat += "<br><a href='?src=\ref[src];b_fancy_sound=\ref[selected]'>Use Fancy Sounds:</a>"
|
||||||
|
dat += "[selected.fancy_vore ? "Yes" : "No"]"
|
||||||
|
|
||||||
//Belly sound
|
//Belly sound
|
||||||
dat += "<br><a href='?src=\ref[src];b_sound=\ref[selected]'>Set Vore Sound</a>"
|
dat += "<br><a href='?src=\ref[src];b_sound=\ref[selected]'>Vore Sound: [selected.vore_sound]</a>"
|
||||||
dat += "<a href='?src=\ref[src];b_soundtest=\ref[selected]'>Test</a>"
|
dat += "<a href='?src=\ref[src];b_soundtest=\ref[selected]'>Test</a>"
|
||||||
|
|
||||||
|
//Release sound
|
||||||
|
dat += "<br><a href='?src=\ref[src];b_release=\ref[selected]'>Release Sound: [selected.release_sound]</a>"
|
||||||
|
dat += "<a href='?src=\ref[src];b_releasesoundtest=\ref[selected]'>Test</a>"
|
||||||
|
|
||||||
//Belly messages
|
//Belly messages
|
||||||
dat += "<br><a href='?src=\ref[src];b_msgs=\ref[selected]'>Belly Messages</a>"
|
dat += "<br><a href='?src=\ref[src];b_msgs=\ref[selected]'>Belly Messages</a>"
|
||||||
|
|
||||||
@@ -293,27 +308,27 @@
|
|||||||
dat += "<HR>"
|
dat += "<HR>"
|
||||||
|
|
||||||
switch(user.digestable)
|
switch(user.digestable)
|
||||||
if(1)
|
if(TRUE)
|
||||||
dat += "<a href='?src=\ref[src];toggledg=1'>Toggle Digestable</a>"
|
dat += "<a href='?src=\ref[src];toggledg=1'>Toggle Digestable</a>"
|
||||||
if(0)
|
if(FALSE)
|
||||||
dat += "<a href='?src=\ref[src];toggledg=1'><span style='color:green;'>Toggle Digestable</span></a>"
|
dat += "<a href='?src=\ref[src];toggledg=1'><span style='color:green;'>Toggle Digestable</span></a>"
|
||||||
|
|
||||||
switch(user.digest_leave_remains)
|
switch(user.digest_leave_remains)
|
||||||
if(1)
|
if(TRUE)
|
||||||
dat += "<a href='?src=\ref[src];toggledlm=1'><span style='color:red;'>Toggle Leaving Remains</span></a>"
|
dat += "<a href='?src=\ref[src];toggledlm=1'><span style='color:red;'>Toggle Leaving Remains</span></a>"
|
||||||
if(0)
|
if(FALSE)
|
||||||
dat += "<a href='?src=\ref[src];toggledlm=1'>Toggle Leaving Remains</a>"
|
dat += "<a href='?src=\ref[src];toggledlm=1'>Toggle Leaving Remains</a>"
|
||||||
|
|
||||||
switch(user.allowmobvore)
|
switch(user.allowmobvore)
|
||||||
if(1)
|
if(TRUE)
|
||||||
dat += "<br><a href='?src=\ref[src];togglemv=1'>Toggle Mob Vore</a>"
|
dat += "<br><a href='?src=\ref[src];togglemv=1'>Toggle Mob Vore</a>"
|
||||||
if(0)
|
if(FALSE)
|
||||||
dat += "<br><a href='?src=\ref[src];togglemv=1'><span style='color:green;'>Toggle Mob Vore</span></a>"
|
dat += "<br><a href='?src=\ref[src];togglemv=1'><span style='color:green;'>Toggle Mob Vore</span></a>"
|
||||||
|
|
||||||
switch(user.permit_healbelly)
|
switch(user.permit_healbelly)
|
||||||
if(1)
|
if(TRUE)
|
||||||
dat += "<a href='?src=\ref[src];togglehealbelly=1'>Toggle Healbelly Permission</a>"
|
dat += "<a href='?src=\ref[src];togglehealbelly=1'>Toggle Healbelly Permission</a>"
|
||||||
if(0)
|
if(FALSE)
|
||||||
dat += "<a href='?src=\ref[src];togglehealbelly=1'><span style='color:red;'>Toggle Healbelly Permission</span></a>"
|
dat += "<a href='?src=\ref[src];togglehealbelly=1'><span style='color:red;'>Toggle Healbelly Permission</span></a>"
|
||||||
|
|
||||||
dat += "<br><a href='?src=\ref[src];toggle_dropnom_prey=1'>Toggle Drop-nom Prey</a>" //These two get their own, custom row, too.
|
dat += "<br><a href='?src=\ref[src];toggle_dropnom_prey=1'>Toggle Drop-nom Prey</a>" //These two get their own, custom row, too.
|
||||||
@@ -534,6 +549,12 @@
|
|||||||
|
|
||||||
selected.name = new_name
|
selected.name = new_name
|
||||||
|
|
||||||
|
if(href_list["b_wetness"])
|
||||||
|
selected.is_wet = !selected.is_wet
|
||||||
|
|
||||||
|
if(href_list["b_wetloop"])
|
||||||
|
selected.wet_loop = !selected.wet_loop
|
||||||
|
|
||||||
if(href_list["b_mode"])
|
if(href_list["b_mode"])
|
||||||
var/list/menu_list = selected.digest_modes.Copy()
|
var/list/menu_list = selected.digest_modes.Copy()
|
||||||
if(istype(usr,/mob/living/carbon/human))
|
if(istype(usr,/mob/living/carbon/human))
|
||||||
@@ -658,17 +679,54 @@
|
|||||||
|
|
||||||
selected.vore_verb = new_verb
|
selected.vore_verb = new_verb
|
||||||
|
|
||||||
if(href_list["b_sound"])
|
if(href_list["b_fancy_sound"])
|
||||||
var/choice = input(user,"Currently set to [selected.vore_sound]","Select Sound") as null|anything in vore_sounds
|
selected.fancy_vore = !selected.fancy_vore
|
||||||
|
selected.vore_sound = "Gulp"
|
||||||
|
selected.release_sound = "Splatter"
|
||||||
|
// defaults as to avoid potential bugs
|
||||||
|
|
||||||
|
if(href_list["b_release"])
|
||||||
|
var/choice
|
||||||
|
if(selected.fancy_vore)
|
||||||
|
choice = input(user,"Currently set to [selected.release_sound]","Select Sound") as null|anything in fancy_release_sounds
|
||||||
|
else
|
||||||
|
choice = input(user,"Currently set to [selected.release_sound]","Select Sound") as null|anything in classic_release_sounds
|
||||||
|
|
||||||
if(!choice)
|
if(!choice)
|
||||||
return 0
|
return FALSE
|
||||||
|
|
||||||
|
selected.release_sound = choice
|
||||||
|
|
||||||
|
if(href_list["b_releasesoundtest"])
|
||||||
|
var/sound/releasetest
|
||||||
|
if(selected.fancy_vore)
|
||||||
|
releasetest = fancy_release_sounds[selected.release_sound]
|
||||||
|
else
|
||||||
|
releasetest = classic_release_sounds[selected.release_sound]
|
||||||
|
|
||||||
|
if(releasetest)
|
||||||
|
SEND_SOUND(user, releasetest)
|
||||||
|
|
||||||
|
if(href_list["b_sound"])
|
||||||
|
var/choice
|
||||||
|
if(selected.fancy_vore)
|
||||||
|
choice = input(user,"Currently set to [selected.vore_sound]","Select Sound") as null|anything in fancy_vore_sounds
|
||||||
|
else
|
||||||
|
choice = input(user,"Currently set to [selected.vore_sound]","Select Sound") as null|anything in classic_vore_sounds
|
||||||
|
|
||||||
|
if(!choice)
|
||||||
|
return FALSE
|
||||||
|
|
||||||
selected.vore_sound = choice
|
selected.vore_sound = choice
|
||||||
|
|
||||||
if(href_list["b_soundtest"])
|
if(href_list["b_soundtest"])
|
||||||
var/soundfile = vore_sounds[selected.vore_sound]
|
var/sound/voretest
|
||||||
if(soundfile)
|
if(selected.fancy_vore)
|
||||||
user << soundfile
|
voretest = fancy_vore_sounds[selected.vore_sound]
|
||||||
|
else
|
||||||
|
voretest = classic_vore_sounds[selected.vore_sound]
|
||||||
|
if(voretest)
|
||||||
|
SEND_SOUND(user, voretest)
|
||||||
|
|
||||||
if(href_list["b_tastes"])
|
if(href_list["b_tastes"])
|
||||||
selected.can_taste = !selected.can_taste
|
selected.can_taste = !selected.can_taste
|
||||||
|
|||||||
37
html/changelogs/Poojawa - Sunesoundsntoggles.yml
Normal file
37
html/changelogs/Poojawa - Sunesoundsntoggles.yml
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
################################
|
||||||
|
# Example Changelog File
|
||||||
|
#
|
||||||
|
# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
|
||||||
|
#
|
||||||
|
# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
|
||||||
|
# When it is, any changes listed below will disappear.
|
||||||
|
#
|
||||||
|
# Valid Prefixes:
|
||||||
|
# bugfix
|
||||||
|
# wip (For works in progress)
|
||||||
|
# tweak
|
||||||
|
# soundadd
|
||||||
|
# sounddel
|
||||||
|
# rscadd (general adding of nice things)
|
||||||
|
# rscdel (general deleting of nice things)
|
||||||
|
# imageadd
|
||||||
|
# imagedel
|
||||||
|
# maptweak
|
||||||
|
# spellcheck (typo fixes)
|
||||||
|
# experiment
|
||||||
|
#################################
|
||||||
|
|
||||||
|
# Your name.
|
||||||
|
author: Poojawa
|
||||||
|
|
||||||
|
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
|
||||||
|
delete-after: True
|
||||||
|
|
||||||
|
# Any changes you've made. See valid prefix list above.
|
||||||
|
# INDENT WITH TWO SPACES. NOT TABS. SPACES.
|
||||||
|
# SCREW THIS UP AND IT WON'T WORK.
|
||||||
|
# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
|
||||||
|
# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
|
||||||
|
changes:
|
||||||
|
- soundadd: "Added my fancy vore sounds."
|
||||||
|
- rscadd: "Porting of a few QoL Citadel changes to vore menu related to sounds."
|
||||||
Reference in New Issue
Block a user