diff --git a/code/game/sound.dm b/code/game/sound.dm index 4c2cc64c88..bfc01ad2cc 100644 --- a/code/game/sound.dm +++ b/code/game/sound.dm @@ -291,3 +291,18 @@ var/list/keyboard_sound = list ('sound/effects/keyboard/keyboard1.ogg','sound/effects/keyboard/keyboard2.ogg','sound/effects/keyboard/keyboard3.ogg', 'sound/effects/keyboard/keyboard4.ogg') var/list/bodyfall_sound = list('sound/effects/bodyfall1.ogg','sound/effects/bodyfall2.ogg','sound/effects/bodyfall3.ogg','sound/effects/bodyfall4.ogg') var/list/teppi_sound = list('sound/voice/teppi/gyooh1.ogg', 'sound/voice/teppi/gyooh2.ogg', 'sound/voice/teppi/gyooh3.ogg', 'sound/voice/teppi/gyooh4.ogg', 'sound/voice/teppi/gyooh5.ogg', 'sound/voice/teppi/gyooh6.ogg', 'sound/voice/teppi/snoot1.ogg', 'sound/voice/teppi/snoot2.ogg') +var/list/talk_sound = list('sound/talksounds/a.ogg','sound/talksounds/b.ogg','sound/talksounds/c.ogg','sound/talksounds/d.ogg','sound/talksounds/e.ogg','sound/talksounds/f.ogg','sound/talksounds/g.ogg','sound/talksounds/h.ogg') +var/list/emote_sound = list('sound/talksounds/me_a.ogg','sound/talksounds/me_b.ogg','sound/talksounds/me_c.ogg','sound/talksounds/me_d.ogg','sound/talksounds/me_e.ogg','sound/talksounds/me_f.ogg') +var/list/goon_speak_one_sound = list('sound/talksounds/goon/speak_1.ogg', 'sound/talksounds/goon/speak_1_ask.ogg', 'sound/talksounds/goon/speak_1_exclaim.ogg') +var/list/goon_speak_two_sound = list('sound/talksounds/goon/speak_2.ogg', 'sound/talksounds/goon/speak_2_ask.ogg', 'sound/talksounds/goon/speak_2_exclaim.ogg') +var/list/goon_speak_three_sound = list('sound/talksounds/goon/speak_3.ogg', 'sound/talksounds/goon/speak_3_ask.ogg', 'sound/talksounds/goon/speak_3_exclaim.ogg') +var/list/goon_speak_four_sound = list('sound/talksounds/goon/speak_4.ogg', 'sound/talksounds/goon/speak_4_ask.ogg', 'sound/talksounds/goon/speak_4_exclaim.ogg') +var/list/goon_speak_blub_sound = list('sound/talksounds/goon/blub.ogg', 'sound/talksounds/goon/blub_ask.ogg', 'sound/talksounds/goon/blub_exclaim.ogg') +var/list/goon_speak_bottalk_sound = list('sound/talksounds/goon/bottalk_1.ogg', 'sound/talksounds/goon/bottalk_2.ogg', 'sound/talksounds/goon/bottalk_3.ogg', 'sound/talksounds/goon/bottalk_4.wav') +var/list/goon_speak_buwoo_sound = list('sound/talksounds/goon/buwoo.ogg', 'sound/talksounds/goon/buwoo_ask.ogg', 'sound/talksounds/goon/buwoo_exclaim.ogg') +var/list/goon_speak_cow_sound = list('sound/talksounds/goon/cow.ogg', 'sound/talksounds/goon/cow_ask.ogg', 'sound/talksounds/goon/cow_exclaim.ogg') +var/list/goon_speak_lizard_sound = list('sound/talksounds/goon/lizard.ogg', 'sound/talksounds/goon/lizard_ask.ogg', 'sound/talksounds/goon/lizard_exclaim.ogg') +var/list/goon_speak_pug_sound = list('sound/talksounds/goon/pug.ogg', 'sound/talksounds/goon/pug_ask.ogg', 'sound/talksounds/goon/pug_exclaim.ogg') +var/list/goon_speak_pugg_sound = list('sound/talksounds/goon/pugg.ogg', 'sound/talksounds/goon/pugg_ask.ogg', 'sound/talksounds/goon/pugg_exclaim.ogg') +var/list/goon_speak_roach_sound = list('sound/talksounds/goon/roach.ogg', 'sound/talksounds/goon/roach_ask.ogg', 'sound/talksounds/goon/roach_exclaim.ogg') +var/list/goon_speak_skelly_sound = list('sound/talksounds/goon/skelly.ogg', 'sound/talksounds/goon/skelly_ask.ogg', 'sound/talksounds/goon/skelly_exclaim.ogg') diff --git a/code/modules/client/preference_setup/global/setting_datums.dm b/code/modules/client/preference_setup/global/setting_datums.dm index bade14759f..a594492b7d 100644 --- a/code/modules/client/preference_setup/global/setting_datums.dm +++ b/code/modules/client/preference_setup/global/setting_datums.dm @@ -95,7 +95,7 @@ var/list/_client_preferences_by_type key = "DIGEST_NOISES" enabled_description = "Noisy" disabled_description = "Silent" - + /datum/client_preference/belch_noises // Belching noises - pref toggle for 'em description = "Burping" key = "BELCH_NOISES" @@ -301,6 +301,30 @@ var/list/_client_preferences_by_type enabled_description = "On" disabled_description = "Off" +/datum/client_preference/say_sounds + description = "Say Sounds" + key = "SAY_SOUNDS" + enabled_description = "On" + disabled_description = "Off" + +/datum/client_preference/emote_sounds + description = "Me Sounds" + key = "EMOTE_SOUNDS" + enabled_description = "On" + disabled_description = "Off" + +/datum/client_preference/whisper_sounds + description = "Whisper Sounds" + key = "WHISPER_SOUNDS" + enabled_description = "On" + disabled_description = "Off" + +/datum/client_preference/subtle_sounds + description = "Subtle Sounds" + key = "SUBTLE_SOUNDS" + enabled_description = "On" + disabled_description = "Off" + /datum/client_preference/runechat_mob description = "Runechat (Mobs)" key = "RUNECHAT_MOB" diff --git a/code/modules/client/preference_setup/vore/02_size.dm b/code/modules/client/preference_setup/vore/02_size.dm index 37a71587b1..bff1637e47 100644 --- a/code/modules/client/preference_setup/vore/02_size.dm +++ b/code/modules/client/preference_setup/vore/02_size.dm @@ -3,6 +3,8 @@ #define WEIGHT_MAX 500 #define WEIGHT_CHANGE_MIN 0 #define WEIGHT_CHANGE_MAX 100 +#define MAX_VOICE_FREQ 70000 +#define MIN_VOICE_FREQ 15000 // Define a place to save in character setup /datum/preferences @@ -12,6 +14,8 @@ var/weight_gain = 100 // Weight gain rate. var/weight_loss = 50 // Weight loss rate. var/fuzzy = 0 // Preference toggle for sharp/fuzzy icon. Default sharp. + var/voice_freq = 0 + var/voice_sound = "beep-boop" // Definition of the stuff for Sizing /datum/category_item/player_setup_item/vore/size @@ -24,6 +28,8 @@ S["weight_gain"] >> pref.weight_gain S["weight_loss"] >> pref.weight_loss S["fuzzy"] >> pref.fuzzy + S["voice_freq"] >> pref.voice_freq + S["voice_sound"] >> pref.voice_sound /datum/category_item/player_setup_item/vore/size/save_character(var/savefile/S) S["size_multiplier"] << pref.size_multiplier @@ -31,12 +37,17 @@ S["weight_gain"] << pref.weight_gain S["weight_loss"] << pref.weight_loss S["fuzzy"] << pref.fuzzy + S["voice_freq"] << pref.voice_freq + S["voice_sound"] << pref.voice_sound + /datum/category_item/player_setup_item/vore/size/sanitize_character() pref.weight_vr = sanitize_integer(pref.weight_vr, WEIGHT_MIN, WEIGHT_MAX, initial(pref.weight_vr)) pref.weight_gain = sanitize_integer(pref.weight_gain, WEIGHT_CHANGE_MIN, WEIGHT_CHANGE_MAX, initial(pref.weight_gain)) pref.weight_loss = sanitize_integer(pref.weight_loss, WEIGHT_CHANGE_MIN, WEIGHT_CHANGE_MAX, initial(pref.weight_loss)) pref.fuzzy = sanitize_integer(pref.fuzzy, 0, 1, initial(pref.fuzzy)) + if(pref.voice_freq != 0) + pref.voice_freq = sanitize_integer(pref.voice_freq, MIN_VOICE_FREQ, MAX_VOICE_FREQ, initial(pref.fuzzy)) if(pref.size_multiplier == null || pref.size_multiplier < RESIZE_TINY || pref.size_multiplier > RESIZE_HUGE) pref.size_multiplier = initial(pref.size_multiplier) @@ -45,12 +56,47 @@ character.weight_gain = pref.weight_gain character.weight_loss = pref.weight_loss character.fuzzy = pref.fuzzy + character.voice_freq = pref.voice_freq character.resize(pref.size_multiplier, animate = FALSE, ignore_prefs = TRUE) + if(!pref.voice_sound) + character.voice_sounds_list = talk_sound + else + switch(pref.voice_sound) + if("beep-boop") + character.voice_sounds_list = talk_sound + if("goon speak 1") + character.voice_sounds_list = goon_speak_one_sound + if("goon speak 2") + character.voice_sounds_list = goon_speak_two_sound + if("goon speak 3") + character.voice_sounds_list = goon_speak_three_sound + if("goon speak 4") + character.voice_sounds_list = goon_speak_four_sound + if("goon speak blub") + character.voice_sounds_list = goon_speak_blub_sound + if("goon speak bottalk") + character.voice_sounds_list = goon_speak_bottalk_sound + if("goon speak buwoo") + character.voice_sounds_list = goon_speak_buwoo_sound + if("goon speak cow") + character.voice_sounds_list = goon_speak_cow_sound + if("goon speak lizard") + character.voice_sounds_list = goon_speak_lizard_sound + if("goon speak pug") + character.voice_sounds_list = goon_speak_pug_sound + if("goon speak pugg") + character.voice_sounds_list = goon_speak_pugg_sound + if("goon speak roach") + character.voice_sounds_list = goon_speak_roach_sound + if("goon speak skelly") + character.voice_sounds_list = goon_speak_skelly_sound /datum/category_item/player_setup_item/vore/size/content(var/mob/user) . += "
" . += "Scale: [round(pref.size_multiplier*100)]%
" . += "Scaled Appearance: [pref.fuzzy ? "Fuzzy" : "Sharp"]
" + . += "Voice Frequency: [pref.voice_freq]
" + . += "Voice Sounds: [pref.voice_sound]
" . += "
" . += "Relative Weight: [pref.weight_vr]
" . += "Weight Gain Rate: [pref.weight_gain]
" @@ -104,4 +150,43 @@ pref.weight_loss = round(text2num(weight_loss_rate),1) return TOPIC_REFRESH + else if(href_list["voice_freq"]) + var/list/preset_voice_freqs = list("high" = MAX_VOICE_FREQ, "middle-high" = 56250, "middle" = 42500, "middle-low"= 28750, "low" = MIN_VOICE_FREQ, "custom" = 1, "random" = 0) + var/choice = tgui_input_list(usr, "What would you like to set your voice frequency to? ([MIN_VOICE_FREQ] - [MAX_VOICE_FREQ])", "Voice Frequency", preset_voice_freqs) + if(!choice) + return + choice = preset_voice_freqs[choice] + if(choice == 0) + pref.voice_freq = choice + return TOPIC_REFRESH + else if(choice == 1) + choice = tgui_input_number(user, "Choose your character's voice frequency, ranging from [MIN_VOICE_FREQ] to [MAX_VOICE_FREQ]", "Custom Voice Frequency", null, MAX_VOICE_FREQ, MIN_VOICE_FREQ, round_value = TRUE) + if(choice > MAX_VOICE_FREQ) + choice = MAX_VOICE_FREQ + else if(choice < MIN_VOICE_FREQ) + choice = MIN_VOICE_FREQ + + pref.voice_freq = choice + return TOPIC_REFRESH + else if(href_list["voice_sounds_list"]) + var/list/possible_voice_types = list( + "beep-boop", + "goon speak 1", + "goon speak 2", + "goon speak 3", + "goon speak 4", + "goon speak blub", + "goon speak bottalk", + "goon speak buwoo", + "goon speak cow", + "goon speak lizard", + "goon speak pug", + "goon speak pugg", + "goon speak roach", + "goon speak skelly") + var/choice = tgui_input_list(usr, "Which set of sounds would you like to use for your character's speech sounds?", "Voice Sounds", possible_voice_types) + if(!choice) + pref.voice_sound = "beep-boop" + else + pref.voice_sound = choice return ..(); diff --git a/code/modules/client/preferences_toggle_procs.dm b/code/modules/client/preferences_toggle_procs.dm index c4b02a91eb..4aacfe7dcb 100644 --- a/code/modules/client/preferences_toggle_procs.dm +++ b/code/modules/client/preferences_toggle_procs.dm @@ -406,6 +406,58 @@ feedback_add_details("admin_verb","TRadioSounds") +/client/verb/toggle_say_sounds() + set name = "Sound Toggle: Say" + set category = "Preferences" + set desc = "Toggle hearing a sound when somebody speaks using say." + + var/pref_path = /datum/client_preference/say_sounds + toggle_preference(pref_path) + SScharacter_setup.queue_preferences_save(prefs) + + to_chat(src, "You will now [(is_preference_enabled(/datum/client_preference/say_sounds)) ? "hear" : "not hear"] say sounds.") + + feedback_add_details("admin_verb","TSaySounds") + +/client/verb/toggle_emote_sounds() + set name = "Sound Toggle: Me" + set category = "Preferences" + set desc = "Toggle hearing a sound when somebody speaks using me ." + + var/pref_path = /datum/client_preference/emote_sounds + toggle_preference(pref_path) + SScharacter_setup.queue_preferences_save(prefs) + + to_chat(src, "You will now [(is_preference_enabled(/datum/client_preference/emote_sounds)) ? "hear" : "not hear"] me sounds.") + + feedback_add_details("admin_verb","TMeSounds") + +/client/verb/toggle_whisper_sounds() + set name = "Sound Toggle: Whisper" + set category = "Preferences" + set desc = "Toggle hearing a sound when somebody speaks using whisper." + + var/pref_path = /datum/client_preference/whisper_sounds + toggle_preference(pref_path) + SScharacter_setup.queue_preferences_save(prefs) + + to_chat(src, "You will now [(is_preference_enabled(/datum/client_preference/whisper_sounds)) ? "hear" : "not hear"] whisper sounds.") + + feedback_add_details("admin_verb","TWhisperSounds") + +/client/verb/toggle_subtle_sounds() + set name = "Toggle Subtle Sounds" + set category = "Preferences" + set desc = "Toggle hearing a sound when somebody uses subtle." + + var/pref_path = /datum/client_preference/subtle_sounds + toggle_preference(pref_path) + SScharacter_setup.queue_preferences_save(prefs) + + to_chat(src, "You will now [(is_preference_enabled(/datum/client_preference/subtle_sounds)) ? "hear" : "not hear"] subtle sounds.") + + feedback_add_details("admin_verb","TSubtleSounds") + // Not attached to a pref datum because those are strict binary toggles /client/verb/toggle_examine_mode() set name = "Toggle Examine Mode" diff --git a/code/modules/clothing/under/miscellaneous_vr.dm b/code/modules/clothing/under/miscellaneous_vr.dm index e52df06471..ef719641c9 100644 --- a/code/modules/clothing/under/miscellaneous_vr.dm +++ b/code/modules/clothing/under/miscellaneous_vr.dm @@ -109,7 +109,7 @@ /obj/item/clothing/under/hyperfiber/bluespace/mob_can_unequip(mob/M, slot, disable_warning = 0) . = ..() - if(. && ishuman(M) && original_size) + if(. && ishuman(M) && original_size && !disable_warning) var/mob/living/carbon/human/H = M H.resize(original_size, ignore_prefs = TRUE) original_size = null @@ -129,7 +129,7 @@ /obj/item/clothing/gloves/bluespace/mob_can_equip(mob/M, gloves, disable_warning = 0) . = ..() - if(. && ishuman(M)) + if(. && ishuman(M) && !disable_warning) var/mob/living/carbon/human/H = M if(!H.resizable) return @@ -145,7 +145,7 @@ /obj/item/clothing/gloves/bluespace/mob_can_unequip(mob/M, gloves, disable_warning = 0) . = ..() - if(. && ishuman(M) && original_size) + if(. && ishuman(M) && original_size && !disable_warning) var/mob/living/carbon/human/H = M if(!H.resizable) return diff --git a/code/modules/emotes/emote_mob.dm b/code/modules/emotes/emote_mob.dm index 2d8ada5caf..29e8ed58e3 100644 --- a/code/modules/emotes/emote_mob.dm +++ b/code/modules/emotes/emote_mob.dm @@ -191,16 +191,21 @@ if(message) message = encode_html_emphasis(message) + var/ourfreq = null + if(isliving(src)) + var/mob/living/L = src + if(L.voice_freq > 0 ) + ourfreq = L.voice_freq + + // Hearing gasp and such every five seconds is not good emotes were not global for a reason. // Maybe some people are okay with that. var/turf/T = get_turf(src) + if(!T) return -<<<<<<< HEAD -======= + if(client) playsound(T, pick(emote_sound), 25, TRUE, falloff = 1 , is_global = TRUE, frequency = ourfreq, ignore_walls = FALSE, preference = /datum/client_preference/emote_sounds) - ->>>>>>> 26ae8528a9... Merge pull request #13339 from Very-Soft/saysound var/list/in_range = get_mobs_and_objs_in_view_fast(T,range,2,remote_ghosts = client ? TRUE : FALSE) var/list/m_viewers = in_range["mobs"] var/list/o_viewers = in_range["objs"] diff --git a/code/modules/mob/living/living_vr.dm b/code/modules/mob/living/living_vr.dm index 9689953ebb..e4b639533c 100644 --- a/code/modules/mob/living/living_vr.dm +++ b/code/modules/mob/living/living_vr.dm @@ -33,4 +33,75 @@ to_chat(usr, "OOC notes updated.") log_admin("[key_name(usr)] updated their OOC notes mid-round.") +/mob/living/verb/set_voice_freq() + set name = "Set Voice Frequency" + set desc = "Sets your voice frequency to be higher or lower pitched!" + set category = "OOC" + var/list/preset_voice_freqs = list("high" = MAX_VOICE_FREQ, "middle-high" = 56250, "middle" = 425000, "middle-low"= 28750, "low" = MIN_VOICE_FREQ, "custom" = 1, "random" = 0) + var/choice = tgui_input_list(src, "What would you like to set your voice frequency to?", "Voice Frequency", preset_voice_freqs) + if(!choice) + return + choice = preset_voice_freqs[choice] + if(choice == 0) + voice_freq = choice + return + else if(choice == 1) + choice = tgui_input_number(src, "Choose your character's voice frequency, ranging from [MIN_VOICE_FREQ] to [MAX_VOICE_FREQ]", "Custom Voice Frequency", null, MAX_VOICE_FREQ, MIN_VOICE_FREQ, round_value = TRUE) + else if(choice > MAX_VOICE_FREQ) + choice = MAX_VOICE_FREQ + else if(choice < MIN_VOICE_FREQ) + choice = MIN_VOICE_FREQ + voice_freq = choice +/mob/living/verb/set_voice_type() + set name = "Set Voice Type" + set desc = "Sets your voice style!" + set category = "OOC" + + var/list/possible_voice_types = list( + "beep-boop", + "goon speak 1", + "goon speak 2", + "goon speak 3", + "goon speak 4", + "goon speak blub", + "goon speak bottalk", + "goon speak buwoo", + "goon speak cow", + "goon speak lizard", + "goon speak pug", + "goon speak pugg", + "goon speak roach", + "goon speak skelly") + var/choice = tgui_input_list(usr, "Which set of sounds would you like to use for your character's speech sounds?", "Voice Sounds", possible_voice_types) + if(!choice) + voice_sounds_list = talk_sound + switch(choice) + if("beep-boop") + voice_sounds_list = talk_sound + if("goon speak 1") + voice_sounds_list = goon_speak_one_sound + if("goon speak 2") + voice_sounds_list = goon_speak_two_sound + if("goon speak 3") + voice_sounds_list = goon_speak_three_sound + if("goon speak 4") + voice_sounds_list = goon_speak_four_sound + if("goon speak blub") + voice_sounds_list = goon_speak_blub_sound + if("goon speak bottalk") + voice_sounds_list = goon_speak_bottalk_sound + if("goon speak buwoo") + voice_sounds_list = goon_speak_buwoo_sound + if("goon speak cow") + voice_sounds_list = goon_speak_cow_sound + if("goon speak lizard") + voice_sounds_list = goon_speak_lizard_sound + if("goon speak pug") + voice_sounds_list = goon_speak_pug_sound + if("goon speak pugg") + voice_sounds_list = goon_speak_pugg_sound + if("goon speak roach") + voice_sounds_list = goon_speak_roach_sound + if("goon speak skelly") + voice_sounds_list = goon_speak_skelly_sound diff --git a/code/modules/mob/living/login.dm b/code/modules/mob/living/login.dm index 18aef57d34..d7abf3bcc1 100644 --- a/code/modules/mob/living/login.dm +++ b/code/modules/mob/living/login.dm @@ -13,13 +13,13 @@ to_chat(src,"Mob AI disabled while you are controlling the mob.") AddComponent(/datum/component/character_setup) - + // Vore stuff verbs |= /mob/living/proc/escapeOOC verbs |= /mob/living/proc/lick verbs |= /mob/living/proc/smell verbs |= /mob/living/proc/switch_scaling - + if(!no_vore) verbs |= /mob/living/proc/vorebelly_printout if(!vorePanel) @@ -29,4 +29,40 @@ verbs += /mob/living/proc/vore_check_reagents //CHOMP If mob doesnt have bellies it cant use this verb for anything verbs += /mob/living/proc/vore_bellyrub //CHOMP If mob doesnt have bellies it probably won't be needing this anyway + //VOREStation Add Start + if(!voice_sounds_list.len || !voice_sounds_list) + if(client.prefs.voice_sound) + var/prefsound = client.prefs.voice_sound + switch(prefsound) + if("beep-boop") + voice_sounds_list = talk_sound + if("goon speak 1") + voice_sounds_list = goon_speak_one_sound + if("goon speak 2") + voice_sounds_list = goon_speak_two_sound + if("goon speak 3") + voice_sounds_list = goon_speak_three_sound + if("goon speak 4") + voice_sounds_list = goon_speak_four_sound + if("goon speak blub") + voice_sounds_list = goon_speak_blub_sound + if("goon speak bottalk") + voice_sounds_list = goon_speak_bottalk_sound + if("goon speak buwoo") + voice_sounds_list = goon_speak_buwoo_sound + if("goon speak cow") + voice_sounds_list = goon_speak_cow_sound + if("goon speak lizard") + voice_sounds_list = goon_speak_lizard_sound + if("goon speak pug") + voice_sounds_list = goon_speak_pug_sound + if("goon speak pugg") + voice_sounds_list = goon_speak_pugg_sound + if("goon speak roach") + voice_sounds_list = goon_speak_roach_sound + if("goon speak skelly") + voice_sounds_list = goon_speak_skelly_sound + else + voice_sounds_list = talk_sound + //VOREStation Add End return . diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index 766a7adbcb..da722c0aa4 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -259,6 +259,9 @@ var/list/channel_to_radio_key = new //Default range and italics, may be overridden past here var/message_range = world.view var/italics = 0 + var/do_sound = TRUE + if(!voice_sounds_list || !voice_sounds_list.len) + do_sound = FALSE //Speaking into radios if(used_radios.len) @@ -302,6 +305,7 @@ var/list/channel_to_radio_key = new for(var/datum/multilingual_say_piece/S in message_pieces) if((S.speaking.flags & NONVERBAL) || (S.speaking.flags & INAUDIBLE)) custom_emote(1, "[pick(S.speaking.signlang_verb)].") + do_sound = FALSE //These will contain the main receivers of the message var/list/listening = list() @@ -398,12 +402,20 @@ var/list/channel_to_radio_key = new C.images -= I qdel(I) + var/ourfreq = null + if(voice_freq > 0 ) + ourfreq = voice_freq //Log the message to file if(message_mode) message = "([message_mode == "headset" ? "Common" : capitalize(message_mode)]) [message]" //Adds radio keys used if available if(whispering) + if(do_sound && message) + playsound(T, pick(voice_sounds_list), 25, TRUE, extrarange = -6, falloff = 1 , is_global = TRUE, frequency = ourfreq, ignore_walls = FALSE, preference = /datum/client_preference/whisper_sounds) + log_whisper(message, src) else + if(do_sound && message) + playsound(T, pick(voice_sounds_list), 75, TRUE, falloff = 1 , is_global = TRUE, frequency = ourfreq, ignore_walls = FALSE, preference = /datum/client_preference/say_sounds) log_say(message, src) return 1 diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index 6238ea7d5e..c79d777efb 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -145,6 +145,7 @@ // Vorestation Edit: Meta Info for pAI if (client.prefs) ooc_notes = client.prefs.metadata + src << sound('sound/effects/pai_login.ogg', volume = 75) //VOREStation Add // this function shows the information about being silenced as a pAI in the Status panel /mob/living/silicon/pai/proc/show_silenced() diff --git a/code/modules/mob/say_vr.dm b/code/modules/mob/say_vr.dm index bd338109b4..39a396b19c 100644 --- a/code/modules/mob/say_vr.dm +++ b/code/modules/mob/say_vr.dm @@ -67,6 +67,8 @@ else spawn(0) M.show_message(message, 2) + if(M.is_preference_enabled(/datum/client_preference/subtle_sounds)) + M << sound('sound/talksounds/subtle_sound.ogg', volume = 50) for(var/obj/O as anything in vis_objs) spawn(0) @@ -145,10 +147,14 @@ else pb = db.pred_body to_chat(pb, "The captive mind of \the [M] thinks, \"[message]\"") //To our pred if dominated brain + if(pb.is_preference_enabled(/datum/client_preference/subtle_sounds)) + pb << sound('sound/talksounds/subtle_sound.ogg', volume = 50) f = TRUE else if(M.absorbed && isbelly(M.loc)) pb = M.loc.loc to_chat(pb, "\The [M] thinks, \"[message]\"") //To our pred if absorbed + if(pb.is_preference_enabled(/datum/client_preference/subtle_sounds)) + pb << sound('sound/talksounds/subtle_sound.ogg', volume = 50) f = TRUE if(pb) //We are prey, let's do the prey thing. @@ -157,11 +163,15 @@ if(istype(I, /mob/living/dominated_brain) && I != M) var/mob/living/dominated_brain/db = I to_chat(db, "The captive mind of \the [M] thinks, \"[message]\"") //To any dominated brains in the pred + if(db.is_preference_enabled(/datum/client_preference/subtle_sounds)) + db << sound('sound/talksounds/subtle_sound.ogg', volume = 50) f = TRUE for(var/B in pb.vore_organs) for(var/mob/living/L in B) if(L.absorbed && L != M && L.ckey) to_chat(L, "\The [M] thinks, \"[message]\"") //To any absorbed people in the pred + if(L.is_preference_enabled(/datum/client_preference/subtle_sounds)) + L << sound('sound/talksounds/subtle_sound.ogg', volume = 50) f = TRUE //Let's also check and see if there's anyone inside of us to send the message to. @@ -169,18 +179,26 @@ if(istype(I, /mob/living/dominated_brain)) var/mob/living/dominated_brain/db = I to_chat(db, "\The [M] thinks, \"[message]\"") //To any dominated brains inside us + if(db.is_preference_enabled(/datum/client_preference/subtle_sounds)) + db << sound('sound/talksounds/subtle_sound.ogg', volume = 50) f = TRUE for(var/B in M.vore_organs) for(var/mob/living/L in B) if(L.absorbed) to_chat(L, "\The [M] thinks, \"[message]\"") //To any absorbed people inside us + if(L.is_preference_enabled(/datum/client_preference/subtle_sounds)) + L << sound('sound/talksounds/subtle_sound.ogg', volume = 50) f = TRUE if(f) //We found someone to send the message to if(pb) to_chat(M, "You think \"[message]\"") //To us if we are the prey + if(M.is_preference_enabled(/datum/client_preference/subtle_sounds)) + M << sound('sound/talksounds/subtle_sound.ogg', volume = 50) else to_chat(M, "You think \"[message]\"") //To us if we are the pred + if(M.is_preference_enabled(/datum/client_preference/subtle_sounds)) + M << sound('sound/talksounds/subtle_sound.ogg', volume = 50) for (var/mob/G in player_list) if (istype(G, /mob/new_player)) continue @@ -225,11 +243,15 @@ else pb = db.pred_body to_chat(pb, "\The [M] [message]") //To our pred if dominated brain + if(pb.is_preference_enabled(/datum/client_preference/subtle_sounds)) + pb << sound('sound/talksounds/subtle_sound.ogg', volume = 50) f = TRUE else if(M.absorbed && isbelly(M.loc)) pb = M.loc.loc to_chat(pb, "\The [M] [message]") //To our pred if absorbed + if(pb.is_preference_enabled(/datum/client_preference/subtle_sounds)) + pb << sound('sound/talksounds/subtle_sound.ogg', volume = 50) f = TRUE if(pb) //We are prey, let's do the prey thing. @@ -238,11 +260,15 @@ if(istype(I, /mob/living/dominated_brain) && I != M) var/mob/living/dominated_brain/db = I to_chat(db, "\The [M] [message]") //To any dominated brains in the pred + if(db.is_preference_enabled(/datum/client_preference/subtle_sounds)) + db << sound('sound/talksounds/subtle_sound.ogg', volume = 50) f = TRUE for(var/B in pb.vore_organs) for(var/mob/living/L in B) if(L.absorbed && L != M && L.ckey) to_chat(L, "\The [M] [message]") //To any absorbed people in the pred + if(L.is_preference_enabled(/datum/client_preference/subtle_sounds)) + L << sound('sound/talksounds/subtle_sound.ogg', volume = 50) f = TRUE //Let's also check and see if there's anyone inside of us to send the message to. @@ -250,18 +276,26 @@ if(istype(I, /mob/living/dominated_brain)) var/mob/living/dominated_brain/db = I to_chat(db, "\The [M] [message]") //To any dominated brains inside us + if(db.is_preference_enabled(/datum/client_preference/subtle_sounds)) + db << sound('sound/talksounds/subtle_sound.ogg', volume = 50) f = TRUE for(var/B in M.vore_organs) for(var/mob/living/L in B) if(L.absorbed) to_chat(L, "\The [M] [message]") //To any absorbed people inside us + if(L.is_preference_enabled(/datum/client_preference/subtle_sounds)) + L << sound('sound/talksounds/subtle_sound.ogg', volume = 50) f = TRUE if(f) //We found someone to send the message to if(pb) to_chat(M, "\The [M] [message]") //To us if we are the prey + if(M.is_preference_enabled(/datum/client_preference/subtle_sounds)) + M << sound('sound/talksounds/subtle_sound.ogg', volume = 50) else to_chat(M, "\The [M] [message]") //To us if we are the pred + if(M.is_preference_enabled(/datum/client_preference/subtle_sounds)) + M << sound('sound/talksounds/subtle_sound.ogg', volume = 50) for (var/mob/G in player_list) if (istype(G, /mob/new_player)) continue diff --git a/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living_vr.dm index 838ff53f1b..7730a6087e 100644 --- a/code/modules/vore/eating/living_vr.dm +++ b/code/modules/vore/eating/living_vr.dm @@ -30,6 +30,8 @@ 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/fuzzy = 0 // Preference toggle for sharp/fuzzy icon. + var/voice_freq = 0 // Preference for character voice frequency + var/list/voice_sounds_list = list() // The sound list containing our voice sounds! var/permit_healbelly = TRUE var/stumble_vore = TRUE //Enabled by default since you have to enable drop pred/prey to do this anyway var/slip_vore = TRUE //Enabled by default since you have to enable drop pred/prey to do this anyway diff --git a/sound/effects/pai_login.ogg b/sound/effects/pai_login.ogg new file mode 100644 index 0000000000..b3aa132905 Binary files /dev/null and b/sound/effects/pai_login.ogg differ diff --git a/sound/talksounds/a.ogg b/sound/talksounds/a.ogg new file mode 100644 index 0000000000..5c9920eaff Binary files /dev/null and b/sound/talksounds/a.ogg differ diff --git a/sound/talksounds/b.ogg b/sound/talksounds/b.ogg new file mode 100644 index 0000000000..294af704dc Binary files /dev/null and b/sound/talksounds/b.ogg differ diff --git a/sound/talksounds/c.ogg b/sound/talksounds/c.ogg new file mode 100644 index 0000000000..54d1dce5b4 Binary files /dev/null and b/sound/talksounds/c.ogg differ diff --git a/sound/talksounds/d.ogg b/sound/talksounds/d.ogg new file mode 100644 index 0000000000..e82bd21a8b Binary files /dev/null and b/sound/talksounds/d.ogg differ diff --git a/sound/talksounds/e.ogg b/sound/talksounds/e.ogg new file mode 100644 index 0000000000..2637136bbb Binary files /dev/null and b/sound/talksounds/e.ogg differ diff --git a/sound/talksounds/f.ogg b/sound/talksounds/f.ogg new file mode 100644 index 0000000000..2a30912e27 Binary files /dev/null and b/sound/talksounds/f.ogg differ diff --git a/sound/talksounds/g.ogg b/sound/talksounds/g.ogg new file mode 100644 index 0000000000..5f61e4b39d Binary files /dev/null and b/sound/talksounds/g.ogg differ diff --git a/sound/talksounds/goon/blub.ogg b/sound/talksounds/goon/blub.ogg new file mode 100644 index 0000000000..ee6de6ede4 Binary files /dev/null and b/sound/talksounds/goon/blub.ogg differ diff --git a/sound/talksounds/goon/blub_ask.ogg b/sound/talksounds/goon/blub_ask.ogg new file mode 100644 index 0000000000..193c3952b0 Binary files /dev/null and b/sound/talksounds/goon/blub_ask.ogg differ diff --git a/sound/talksounds/goon/blub_exclaim.ogg b/sound/talksounds/goon/blub_exclaim.ogg new file mode 100644 index 0000000000..b879fbd464 Binary files /dev/null and b/sound/talksounds/goon/blub_exclaim.ogg differ diff --git a/sound/talksounds/goon/bottalk_1.ogg b/sound/talksounds/goon/bottalk_1.ogg new file mode 100644 index 0000000000..b727224998 Binary files /dev/null and b/sound/talksounds/goon/bottalk_1.ogg differ diff --git a/sound/talksounds/goon/bottalk_2.ogg b/sound/talksounds/goon/bottalk_2.ogg new file mode 100644 index 0000000000..745b1a4edc Binary files /dev/null and b/sound/talksounds/goon/bottalk_2.ogg differ diff --git a/sound/talksounds/goon/bottalk_3.ogg b/sound/talksounds/goon/bottalk_3.ogg new file mode 100644 index 0000000000..e91f6bc156 Binary files /dev/null and b/sound/talksounds/goon/bottalk_3.ogg differ diff --git a/sound/talksounds/goon/bottalk_4.wav b/sound/talksounds/goon/bottalk_4.wav new file mode 100644 index 0000000000..130dfc3a8e Binary files /dev/null and b/sound/talksounds/goon/bottalk_4.wav differ diff --git a/sound/talksounds/goon/buwoo.ogg b/sound/talksounds/goon/buwoo.ogg new file mode 100644 index 0000000000..45bcbd50c6 Binary files /dev/null and b/sound/talksounds/goon/buwoo.ogg differ diff --git a/sound/talksounds/goon/buwoo_ask.ogg b/sound/talksounds/goon/buwoo_ask.ogg new file mode 100644 index 0000000000..d7011219b5 Binary files /dev/null and b/sound/talksounds/goon/buwoo_ask.ogg differ diff --git a/sound/talksounds/goon/buwoo_exclaim.ogg b/sound/talksounds/goon/buwoo_exclaim.ogg new file mode 100644 index 0000000000..935a802862 Binary files /dev/null and b/sound/talksounds/goon/buwoo_exclaim.ogg differ diff --git a/sound/talksounds/goon/cow.ogg b/sound/talksounds/goon/cow.ogg new file mode 100644 index 0000000000..db6c0a63ca Binary files /dev/null and b/sound/talksounds/goon/cow.ogg differ diff --git a/sound/talksounds/goon/cow_ask.ogg b/sound/talksounds/goon/cow_ask.ogg new file mode 100644 index 0000000000..aabd6f75c1 Binary files /dev/null and b/sound/talksounds/goon/cow_ask.ogg differ diff --git a/sound/talksounds/goon/cow_exclaim.ogg b/sound/talksounds/goon/cow_exclaim.ogg new file mode 100644 index 0000000000..dfac225463 Binary files /dev/null and b/sound/talksounds/goon/cow_exclaim.ogg differ diff --git a/sound/talksounds/goon/lizard.ogg b/sound/talksounds/goon/lizard.ogg new file mode 100644 index 0000000000..48638b0f23 Binary files /dev/null and b/sound/talksounds/goon/lizard.ogg differ diff --git a/sound/talksounds/goon/lizard_ask.ogg b/sound/talksounds/goon/lizard_ask.ogg new file mode 100644 index 0000000000..60cf84ff09 Binary files /dev/null and b/sound/talksounds/goon/lizard_ask.ogg differ diff --git a/sound/talksounds/goon/lizard_exclaim.ogg b/sound/talksounds/goon/lizard_exclaim.ogg new file mode 100644 index 0000000000..20d3c0b768 Binary files /dev/null and b/sound/talksounds/goon/lizard_exclaim.ogg differ diff --git a/sound/talksounds/goon/pug.ogg b/sound/talksounds/goon/pug.ogg new file mode 100644 index 0000000000..86d50225a5 Binary files /dev/null and b/sound/talksounds/goon/pug.ogg differ diff --git a/sound/talksounds/goon/pug_ask.ogg b/sound/talksounds/goon/pug_ask.ogg new file mode 100644 index 0000000000..4cdf1c8a5e Binary files /dev/null and b/sound/talksounds/goon/pug_ask.ogg differ diff --git a/sound/talksounds/goon/pug_exclaim.ogg b/sound/talksounds/goon/pug_exclaim.ogg new file mode 100644 index 0000000000..ed47bcf1c6 Binary files /dev/null and b/sound/talksounds/goon/pug_exclaim.ogg differ diff --git a/sound/talksounds/goon/pugg.ogg b/sound/talksounds/goon/pugg.ogg new file mode 100644 index 0000000000..90fa070e8b Binary files /dev/null and b/sound/talksounds/goon/pugg.ogg differ diff --git a/sound/talksounds/goon/pugg_ask.ogg b/sound/talksounds/goon/pugg_ask.ogg new file mode 100644 index 0000000000..463aa0afa0 Binary files /dev/null and b/sound/talksounds/goon/pugg_ask.ogg differ diff --git a/sound/talksounds/goon/pugg_exclaim.ogg b/sound/talksounds/goon/pugg_exclaim.ogg new file mode 100644 index 0000000000..c8d4ae1b4f Binary files /dev/null and b/sound/talksounds/goon/pugg_exclaim.ogg differ diff --git a/sound/talksounds/goon/radio.ogg b/sound/talksounds/goon/radio.ogg new file mode 100644 index 0000000000..0dcb87214f Binary files /dev/null and b/sound/talksounds/goon/radio.ogg differ diff --git a/sound/talksounds/goon/radio2.ogg b/sound/talksounds/goon/radio2.ogg new file mode 100644 index 0000000000..a9364857a5 Binary files /dev/null and b/sound/talksounds/goon/radio2.ogg differ diff --git a/sound/talksounds/goon/radio_ai.ogg b/sound/talksounds/goon/radio_ai.ogg new file mode 100644 index 0000000000..97eaf17417 Binary files /dev/null and b/sound/talksounds/goon/radio_ai.ogg differ diff --git a/sound/talksounds/goon/roach.ogg b/sound/talksounds/goon/roach.ogg new file mode 100644 index 0000000000..55a2ad8ac7 Binary files /dev/null and b/sound/talksounds/goon/roach.ogg differ diff --git a/sound/talksounds/goon/roach_ask.ogg b/sound/talksounds/goon/roach_ask.ogg new file mode 100644 index 0000000000..dc15d884cd Binary files /dev/null and b/sound/talksounds/goon/roach_ask.ogg differ diff --git a/sound/talksounds/goon/roach_exclaim.ogg b/sound/talksounds/goon/roach_exclaim.ogg new file mode 100644 index 0000000000..3a5a17d47a Binary files /dev/null and b/sound/talksounds/goon/roach_exclaim.ogg differ diff --git a/sound/talksounds/goon/skelly.ogg b/sound/talksounds/goon/skelly.ogg new file mode 100644 index 0000000000..b8e1a2921a Binary files /dev/null and b/sound/talksounds/goon/skelly.ogg differ diff --git a/sound/talksounds/goon/skelly_ask.ogg b/sound/talksounds/goon/skelly_ask.ogg new file mode 100644 index 0000000000..e81552d8df Binary files /dev/null and b/sound/talksounds/goon/skelly_ask.ogg differ diff --git a/sound/talksounds/goon/skelly_exclaim.ogg b/sound/talksounds/goon/skelly_exclaim.ogg new file mode 100644 index 0000000000..79eb112d1a Binary files /dev/null and b/sound/talksounds/goon/skelly_exclaim.ogg differ diff --git a/sound/talksounds/goon/speak_1.ogg b/sound/talksounds/goon/speak_1.ogg new file mode 100644 index 0000000000..ab8ddde4a6 Binary files /dev/null and b/sound/talksounds/goon/speak_1.ogg differ diff --git a/sound/talksounds/goon/speak_1_ask.ogg b/sound/talksounds/goon/speak_1_ask.ogg new file mode 100644 index 0000000000..89d631c6f6 Binary files /dev/null and b/sound/talksounds/goon/speak_1_ask.ogg differ diff --git a/sound/talksounds/goon/speak_1_exclaim.ogg b/sound/talksounds/goon/speak_1_exclaim.ogg new file mode 100644 index 0000000000..3be20fef39 Binary files /dev/null and b/sound/talksounds/goon/speak_1_exclaim.ogg differ diff --git a/sound/talksounds/goon/speak_2.ogg b/sound/talksounds/goon/speak_2.ogg new file mode 100644 index 0000000000..a8c9444a52 Binary files /dev/null and b/sound/talksounds/goon/speak_2.ogg differ diff --git a/sound/talksounds/goon/speak_2_ask.ogg b/sound/talksounds/goon/speak_2_ask.ogg new file mode 100644 index 0000000000..a2c9c86385 Binary files /dev/null and b/sound/talksounds/goon/speak_2_ask.ogg differ diff --git a/sound/talksounds/goon/speak_2_exclaim.ogg b/sound/talksounds/goon/speak_2_exclaim.ogg new file mode 100644 index 0000000000..7e0838d721 Binary files /dev/null and b/sound/talksounds/goon/speak_2_exclaim.ogg differ diff --git a/sound/talksounds/goon/speak_3.ogg b/sound/talksounds/goon/speak_3.ogg new file mode 100644 index 0000000000..33ec079b84 Binary files /dev/null and b/sound/talksounds/goon/speak_3.ogg differ diff --git a/sound/talksounds/goon/speak_3_ask.ogg b/sound/talksounds/goon/speak_3_ask.ogg new file mode 100644 index 0000000000..13156c332e Binary files /dev/null and b/sound/talksounds/goon/speak_3_ask.ogg differ diff --git a/sound/talksounds/goon/speak_3_exclaim.ogg b/sound/talksounds/goon/speak_3_exclaim.ogg new file mode 100644 index 0000000000..e10eb615b0 Binary files /dev/null and b/sound/talksounds/goon/speak_3_exclaim.ogg differ diff --git a/sound/talksounds/goon/speak_4.ogg b/sound/talksounds/goon/speak_4.ogg new file mode 100644 index 0000000000..6de26114ae Binary files /dev/null and b/sound/talksounds/goon/speak_4.ogg differ diff --git a/sound/talksounds/goon/speak_4_ask.ogg b/sound/talksounds/goon/speak_4_ask.ogg new file mode 100644 index 0000000000..76421d8fdd Binary files /dev/null and b/sound/talksounds/goon/speak_4_ask.ogg differ diff --git a/sound/talksounds/goon/speak_4_exclaim.ogg b/sound/talksounds/goon/speak_4_exclaim.ogg new file mode 100644 index 0000000000..ae6f3985be Binary files /dev/null and b/sound/talksounds/goon/speak_4_exclaim.ogg differ diff --git a/sound/talksounds/h.ogg b/sound/talksounds/h.ogg new file mode 100644 index 0000000000..9ed1f01341 Binary files /dev/null and b/sound/talksounds/h.ogg differ diff --git a/sound/talksounds/me_a.ogg b/sound/talksounds/me_a.ogg new file mode 100644 index 0000000000..8cb55c54f5 Binary files /dev/null and b/sound/talksounds/me_a.ogg differ diff --git a/sound/talksounds/me_b.ogg b/sound/talksounds/me_b.ogg new file mode 100644 index 0000000000..48e6b61d59 Binary files /dev/null and b/sound/talksounds/me_b.ogg differ diff --git a/sound/talksounds/me_c.ogg b/sound/talksounds/me_c.ogg new file mode 100644 index 0000000000..65476ee720 Binary files /dev/null and b/sound/talksounds/me_c.ogg differ diff --git a/sound/talksounds/me_d.ogg b/sound/talksounds/me_d.ogg new file mode 100644 index 0000000000..45d44bf2a1 Binary files /dev/null and b/sound/talksounds/me_d.ogg differ diff --git a/sound/talksounds/me_e.ogg b/sound/talksounds/me_e.ogg new file mode 100644 index 0000000000..d56c27d97d Binary files /dev/null and b/sound/talksounds/me_e.ogg differ diff --git a/sound/talksounds/me_f.ogg b/sound/talksounds/me_f.ogg new file mode 100644 index 0000000000..25e9754fec Binary files /dev/null and b/sound/talksounds/me_f.ogg differ diff --git a/sound/talksounds/subtle_sound.ogg b/sound/talksounds/subtle_sound.ogg new file mode 100644 index 0000000000..b8986f13fc Binary files /dev/null and b/sound/talksounds/subtle_sound.ogg differ