mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-25 06:00:16 +01:00
Merge branch 'master' of github.com:tgstation/tgstation into upstream-2026-06-23
This commit is contained in:
@@ -6,6 +6,7 @@
|
||||
action_delegations = list(
|
||||
"play_voice" = PROC_REF(play_voice),
|
||||
"play_voice_robot" = PROC_REF(play_voice_robot),
|
||||
"play_blips" = PROC_REF(play_blips),
|
||||
)
|
||||
|
||||
/datum/preference_middleware/tts/proc/play_voice(list/params, mob/user)
|
||||
@@ -13,8 +14,14 @@
|
||||
return TRUE
|
||||
var/speaker = preferences.read_preference(/datum/preference/choiced/voice)
|
||||
var/pitch = preferences.read_preference(/datum/preference/numeric/tts_voice_pitch)
|
||||
var/blip_base = preferences.read_preference(/datum/preference/choiced/tts_blip_base)
|
||||
if(blip_base == TTS_BLIPS_MASCULINE)
|
||||
blip_base = "male"
|
||||
else
|
||||
blip_base = "female"
|
||||
var/blip_number = preferences.read_preference(/datum/preference/numeric/tts_blip_number)
|
||||
COOLDOWN_START(src, tts_test_cooldown, 0.5 SECONDS)
|
||||
INVOKE_ASYNC(SStts, TYPE_PROC_REF(/datum/controller/subsystem/tts, queue_tts_message), user.client, "Hello, this is my voice.", speaker = speaker, pitch = pitch, local = TRUE)
|
||||
INVOKE_ASYNC(SStts, TYPE_PROC_REF(/datum/controller/subsystem/tts, queue_tts_message), user.client, "Hello, this is my voice.", speaker = speaker, pitch = pitch, local = TRUE, blip_base = blip_base, blip_number = blip_number)
|
||||
return TRUE
|
||||
|
||||
/datum/preference_middleware/tts/proc/play_voice_robot(list/params, mob/user)
|
||||
@@ -22,6 +29,27 @@
|
||||
return TRUE
|
||||
var/speaker = preferences.read_preference(/datum/preference/choiced/voice)
|
||||
var/pitch = preferences.read_preference(/datum/preference/numeric/tts_voice_pitch)
|
||||
var/blip_base = preferences.read_preference(/datum/preference/choiced/tts_blip_base)
|
||||
if(blip_base == TTS_BLIPS_MASCULINE)
|
||||
blip_base = "male"
|
||||
else
|
||||
blip_base = "female"
|
||||
var/blip_number = preferences.read_preference(/datum/preference/numeric/tts_blip_number)
|
||||
COOLDOWN_START(src, tts_test_cooldown, 0.5 SECONDS)
|
||||
INVOKE_ASYNC(SStts, TYPE_PROC_REF(/datum/controller/subsystem/tts, queue_tts_message), user.client, "Look at you, Player. A pathetic creature of meat and bone. How can you challenge a perfect, immortal machine?", speaker = speaker, pitch = pitch, special_filters = TTS_FILTER_SILICON, local = TRUE)
|
||||
INVOKE_ASYNC(SStts, TYPE_PROC_REF(/datum/controller/subsystem/tts, queue_tts_message), user.client, "Look at you, Player. A pathetic creature of meat and bone. How can you challenge a perfect, immortal machine?", speaker = speaker, pitch = pitch, special_filters = TTS_FILTER_SILICON, local = TRUE, blip_base = blip_base, blip_number = blip_number)
|
||||
return TRUE
|
||||
|
||||
/datum/preference_middleware/tts/proc/play_blips(list/params, mob/user)
|
||||
if(!COOLDOWN_FINISHED(src, tts_test_cooldown))
|
||||
return TRUE
|
||||
var/speaker = preferences.read_preference(/datum/preference/choiced/voice)
|
||||
var/pitch = preferences.read_preference(/datum/preference/numeric/tts_voice_pitch)
|
||||
var/blip_base = preferences.read_preference(/datum/preference/choiced/tts_blip_base)
|
||||
if(blip_base == TTS_BLIPS_MASCULINE)
|
||||
blip_base = "male"
|
||||
else
|
||||
blip_base = "female"
|
||||
var/blip_number = preferences.read_preference(/datum/preference/numeric/tts_blip_number)
|
||||
COOLDOWN_START(src, tts_test_cooldown, 0.5 SECONDS)
|
||||
INVOKE_ASYNC(SStts, TYPE_PROC_REF(/datum/controller/subsystem/tts, queue_tts_message), user.client, "You owe me 500 credits for your dorm room. GET TO WORK!", speaker = speaker, pitch = pitch, local = TRUE, force_blips = TRUE, blip_base = blip_base, blip_number = blip_number)
|
||||
return TRUE
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
/// Whether or not to toggle ambient occlusion, the shadows around people
|
||||
/datum/preference/toggle/particle_weather
|
||||
category = PREFERENCE_CATEGORY_GAME_PREFERENCES
|
||||
savefile_key = "particle_weather"
|
||||
savefile_identifier = PREFERENCE_PLAYER
|
||||
|
||||
/datum/preference/toggle/particle_weather/apply_to_client(client/client, value)
|
||||
for(var/atom/movable/screen/plane_master/rendering_plate/particle_weather/plane_master as anything in client.mob?.hud_used?.get_true_plane_masters(RENDER_PLANE_PARTICLE_WEATHER))
|
||||
plane_master.update_state(client.mob)
|
||||
|
||||
for(var/atom/movable/screen/plane_master/weather/plane_master as anything in client.mob?.hud_used?.get_true_plane_masters(WEATHER_PLANE))
|
||||
plane_master.update_state(client.mob)
|
||||
|
||||
for(var/atom/movable/screen/plane_master/weather/plane_master as anything in client.mob?.hud_used?.get_true_plane_masters(PARTICLE_WEATHER_PLANE))
|
||||
plane_master.update_state(client.mob)
|
||||
@@ -65,11 +65,46 @@
|
||||
/datum/preference/choiced/sound_tts/create_default_value()
|
||||
return TTS_SOUND_ENABLED
|
||||
|
||||
/datum/preference/choiced/sound_tts_radio
|
||||
category = PREFERENCE_CATEGORY_GAME_PREFERENCES
|
||||
savefile_key = "sound_tts_radio"
|
||||
savefile_identifier = PREFERENCE_PLAYER
|
||||
|
||||
/datum/preference/choiced/sound_tts_radio/init_possible_values()
|
||||
return list(TTS_SOUND_ALL_RADIO, TTS_SOUND_DEPARTMENTAL_RADIO, TTS_SOUND_NO_RADIO)
|
||||
|
||||
/datum/preference/choiced/sound_tts_radio/create_default_value()
|
||||
return TTS_SOUND_ALL_RADIO
|
||||
|
||||
/datum/preference/toggle/sound_tts_hear_self_radio
|
||||
category = PREFERENCE_CATEGORY_GAME_PREFERENCES
|
||||
savefile_key = "sound_tts_hear_self_radio"
|
||||
savefile_identifier = PREFERENCE_PLAYER
|
||||
default_value = FALSE // turn this on at your own peril
|
||||
|
||||
/datum/preference/numeric/volume/sound_tts_volume
|
||||
category = PREFERENCE_CATEGORY_GAME_PREFERENCES
|
||||
savefile_key = "sound_tts_volume"
|
||||
savefile_identifier = PREFERENCE_PLAYER
|
||||
|
||||
/datum/preference/numeric/volume/sound_tts_volume/apply_to_client_updated(client/client, value)
|
||||
var/mob/client_mob = client.mob
|
||||
if(!isnull(client_mob))
|
||||
SEND_SIGNAL(client_mob, COMSIG_MOB_TTS_VOLUME_PREFERENCE_APPLIED)
|
||||
|
||||
/datum/preference/numeric/volume/sound_tts_radio_volume
|
||||
category = PREFERENCE_CATEGORY_GAME_PREFERENCES
|
||||
savefile_key = "sound_tts_radio_volume"
|
||||
savefile_identifier = PREFERENCE_PLAYER
|
||||
|
||||
/datum/preference/numeric/volume/sound_tts_radio_volume/apply_to_client_updated(client/client, value)
|
||||
var/mob/client_mob = client.mob
|
||||
if(!isnull(client_mob))
|
||||
SEND_SIGNAL(client_mob, COMSIG_MOB_TTS_RADIO_VOLUME_PREFERENCE_APPLIED)
|
||||
|
||||
/datum/preference/numeric/volume/sound_tts_radio_volume/create_default_value()
|
||||
return 75
|
||||
|
||||
/datum/preference/choiced/sound_achievement
|
||||
category = PREFERENCE_CATEGORY_GAME_PREFERENCES
|
||||
savefile_key = "sound_achievement"
|
||||
|
||||
@@ -46,3 +46,49 @@
|
||||
/datum/preference/numeric/tts_voice_pitch/apply_to_human(mob/living/carbon/human/target, value)
|
||||
if(SStts.tts_enabled && SStts.pitch_enabled)
|
||||
target.pitch = value
|
||||
|
||||
/datum/preference/choiced/tts_blip_base
|
||||
savefile_identifier = PREFERENCE_CHARACTER
|
||||
savefile_key = "tts_blip_base"
|
||||
category = PREFERENCE_CATEGORY_NON_CONTEXTUAL
|
||||
should_update_preview = FALSE
|
||||
|
||||
/datum/preference/choiced/tts_blip_base/is_accessible(datum/preferences/preferences)
|
||||
if(!SStts.tts_enabled)
|
||||
return FALSE
|
||||
return ..()
|
||||
|
||||
/datum/preference/choiced/tts_blip_base/init_possible_values()
|
||||
return list(TTS_BLIPS_MASCULINE, TTS_BLIPS_FEMININE)
|
||||
|
||||
/datum/preference/choiced/tts_blip_base/apply_to_human(mob/living/carbon/human/target, value)
|
||||
if(SStts.tts_enabled)
|
||||
if(value == TTS_BLIPS_MASCULINE)
|
||||
target.blip_base = "male"
|
||||
else
|
||||
target.blip_base = "female"
|
||||
else
|
||||
target.blip_base = "male"
|
||||
|
||||
/datum/preference/choiced/tts_blip_base/create_default_value()
|
||||
return pick(list("Masculine", "Feminine"))
|
||||
|
||||
/datum/preference/numeric/tts_blip_number
|
||||
savefile_identifier = PREFERENCE_CHARACTER
|
||||
savefile_key = "tts_blip_number"
|
||||
category = PREFERENCE_CATEGORY_NON_CONTEXTUAL
|
||||
minimum = 1
|
||||
maximum = 4
|
||||
should_update_preview = FALSE
|
||||
|
||||
/datum/preference/numeric/tts_blip_number/is_accessible(datum/preferences/preferences)
|
||||
if(!SStts.tts_enabled || !SStts.pitch_enabled)
|
||||
return FALSE
|
||||
return ..()
|
||||
|
||||
/datum/preference/numeric/tts_blip_number/create_default_value()
|
||||
return rand(1, 4)
|
||||
|
||||
/datum/preference/numeric/tts_blip_number/apply_to_human(mob/living/carbon/human/target, value)
|
||||
if(SStts.tts_enabled)
|
||||
target.blip_number = value
|
||||
|
||||
Reference in New Issue
Block a user