mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 18:53:06 +00:00
Merge branch 'master' into upstream-merge-13339
This commit is contained in:
@@ -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')
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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)
|
||||
. += "<br>"
|
||||
. += "<b>Scale:</b> <a href='?src=\ref[src];size_multiplier=1'>[round(pref.size_multiplier*100)]%</a><br>"
|
||||
. += "<b>Scaled Appearance:</b> <a [pref.fuzzy ? "" : ""] href='?src=\ref[src];toggle_fuzzy=1'><b>[pref.fuzzy ? "Fuzzy" : "Sharp"]</b></a><br>"
|
||||
. += "<b>Voice Frequency:</b> <a href='?src=\ref[src];voice_freq=1'>[pref.voice_freq]</a><br>"
|
||||
. += "<b>Voice Sounds:</b> <a href='?src=\ref[src];voice_sounds_list=1'>[pref.voice_sound]</a><br>"
|
||||
. += "<br>"
|
||||
. += "<b>Relative Weight:</b> <a href='?src=\ref[src];weight=1'>[pref.weight_vr]</a><br>"
|
||||
. += "<b>Weight Gain Rate:</b> <a href='?src=\ref[src];weight_gain=1'>[pref.weight_gain]</a><br>"
|
||||
@@ -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 ..();
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"]
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -13,13 +13,13 @@
|
||||
to_chat(src,"<span class='notice'>Mob AI disabled while you are controlling the mob.</span>")
|
||||
|
||||
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 .
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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, "<span class='changeling'>The captive mind of \the [M] thinks, \"[message]\"</span>") //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, "<span class='changeling'>\The [M] thinks, \"[message]\"</span>") //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, "<span class='changeling'>The captive mind of \the [M] thinks, \"[message]\"</span>") //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, "<span class='changeling'>\The [M] thinks, \"[message]\"</span>") //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, "<span class='changeling'><b>\The [M] thinks, \"[message]\"</b></span>") //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, "<span class='changeling'><b>\The [M] thinks, \"[message]\"</b></span>") //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, "<span class='changeling'>You think \"[message]\"</span>") //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, "<span class='changeling'><b>You think \"[message]\"</b></span>") //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, "<span class='changeling'>\The [M] [message]</span>") //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, "<span class='changeling'>\The [M] [message]</span>") //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, "<span class='changeling'>\The [M] [message]</span>") //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, "<span class='changeling'>\The [M] [message]</span>") //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, "<span class='changeling'><b>\The [M] [message]</b></span>") //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, "<span class='changeling'><b>\The [M] [message]</b></span>") //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, "<span class='changeling'>\The [M] [message]</span>") //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, "<span class='changeling'><b>\The [M] [message]</b></span>") //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
|
||||
|
||||
@@ -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
|
||||
|
||||
BIN
sound/effects/pai_login.ogg
Normal file
BIN
sound/effects/pai_login.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/a.ogg
Normal file
BIN
sound/talksounds/a.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/b.ogg
Normal file
BIN
sound/talksounds/b.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/c.ogg
Normal file
BIN
sound/talksounds/c.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/d.ogg
Normal file
BIN
sound/talksounds/d.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/e.ogg
Normal file
BIN
sound/talksounds/e.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/f.ogg
Normal file
BIN
sound/talksounds/f.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/g.ogg
Normal file
BIN
sound/talksounds/g.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/goon/blub.ogg
Normal file
BIN
sound/talksounds/goon/blub.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/goon/blub_ask.ogg
Normal file
BIN
sound/talksounds/goon/blub_ask.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/goon/blub_exclaim.ogg
Normal file
BIN
sound/talksounds/goon/blub_exclaim.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/goon/bottalk_1.ogg
Normal file
BIN
sound/talksounds/goon/bottalk_1.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/goon/bottalk_2.ogg
Normal file
BIN
sound/talksounds/goon/bottalk_2.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/goon/bottalk_3.ogg
Normal file
BIN
sound/talksounds/goon/bottalk_3.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/goon/bottalk_4.wav
Normal file
BIN
sound/talksounds/goon/bottalk_4.wav
Normal file
Binary file not shown.
BIN
sound/talksounds/goon/buwoo.ogg
Normal file
BIN
sound/talksounds/goon/buwoo.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/goon/buwoo_ask.ogg
Normal file
BIN
sound/talksounds/goon/buwoo_ask.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/goon/buwoo_exclaim.ogg
Normal file
BIN
sound/talksounds/goon/buwoo_exclaim.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/goon/cow.ogg
Normal file
BIN
sound/talksounds/goon/cow.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/goon/cow_ask.ogg
Normal file
BIN
sound/talksounds/goon/cow_ask.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/goon/cow_exclaim.ogg
Normal file
BIN
sound/talksounds/goon/cow_exclaim.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/goon/lizard.ogg
Normal file
BIN
sound/talksounds/goon/lizard.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/goon/lizard_ask.ogg
Normal file
BIN
sound/talksounds/goon/lizard_ask.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/goon/lizard_exclaim.ogg
Normal file
BIN
sound/talksounds/goon/lizard_exclaim.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/goon/pug.ogg
Normal file
BIN
sound/talksounds/goon/pug.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/goon/pug_ask.ogg
Normal file
BIN
sound/talksounds/goon/pug_ask.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/goon/pug_exclaim.ogg
Normal file
BIN
sound/talksounds/goon/pug_exclaim.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/goon/pugg.ogg
Normal file
BIN
sound/talksounds/goon/pugg.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/goon/pugg_ask.ogg
Normal file
BIN
sound/talksounds/goon/pugg_ask.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/goon/pugg_exclaim.ogg
Normal file
BIN
sound/talksounds/goon/pugg_exclaim.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/goon/radio.ogg
Normal file
BIN
sound/talksounds/goon/radio.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/goon/radio2.ogg
Normal file
BIN
sound/talksounds/goon/radio2.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/goon/radio_ai.ogg
Normal file
BIN
sound/talksounds/goon/radio_ai.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/goon/roach.ogg
Normal file
BIN
sound/talksounds/goon/roach.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/goon/roach_ask.ogg
Normal file
BIN
sound/talksounds/goon/roach_ask.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/goon/roach_exclaim.ogg
Normal file
BIN
sound/talksounds/goon/roach_exclaim.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/goon/skelly.ogg
Normal file
BIN
sound/talksounds/goon/skelly.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/goon/skelly_ask.ogg
Normal file
BIN
sound/talksounds/goon/skelly_ask.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/goon/skelly_exclaim.ogg
Normal file
BIN
sound/talksounds/goon/skelly_exclaim.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/goon/speak_1.ogg
Normal file
BIN
sound/talksounds/goon/speak_1.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/goon/speak_1_ask.ogg
Normal file
BIN
sound/talksounds/goon/speak_1_ask.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/goon/speak_1_exclaim.ogg
Normal file
BIN
sound/talksounds/goon/speak_1_exclaim.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/goon/speak_2.ogg
Normal file
BIN
sound/talksounds/goon/speak_2.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/goon/speak_2_ask.ogg
Normal file
BIN
sound/talksounds/goon/speak_2_ask.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/goon/speak_2_exclaim.ogg
Normal file
BIN
sound/talksounds/goon/speak_2_exclaim.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/goon/speak_3.ogg
Normal file
BIN
sound/talksounds/goon/speak_3.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/goon/speak_3_ask.ogg
Normal file
BIN
sound/talksounds/goon/speak_3_ask.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/goon/speak_3_exclaim.ogg
Normal file
BIN
sound/talksounds/goon/speak_3_exclaim.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/goon/speak_4.ogg
Normal file
BIN
sound/talksounds/goon/speak_4.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/goon/speak_4_ask.ogg
Normal file
BIN
sound/talksounds/goon/speak_4_ask.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/goon/speak_4_exclaim.ogg
Normal file
BIN
sound/talksounds/goon/speak_4_exclaim.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/h.ogg
Normal file
BIN
sound/talksounds/h.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/me_a.ogg
Normal file
BIN
sound/talksounds/me_a.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/me_b.ogg
Normal file
BIN
sound/talksounds/me_b.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/me_c.ogg
Normal file
BIN
sound/talksounds/me_c.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/me_d.ogg
Normal file
BIN
sound/talksounds/me_d.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/me_e.ogg
Normal file
BIN
sound/talksounds/me_e.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/me_f.ogg
Normal file
BIN
sound/talksounds/me_f.ogg
Normal file
Binary file not shown.
BIN
sound/talksounds/subtle_sound.ogg
Normal file
BIN
sound/talksounds/subtle_sound.ogg
Normal file
Binary file not shown.
Reference in New Issue
Block a user