mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-19 21:46:42 +00:00
Reverts tgstation/tgstation#77640  This is causing big problems right now and we've agreed to a, at minimum, temporary revert so that we can re-approach this at a later date and do things properly @MrStonedOne pls i need that TTS repo im begging you pls
28 lines
1.4 KiB
Plaintext
28 lines
1.4 KiB
Plaintext
/// Middleware to handle quirks
|
|
/datum/preference_middleware/tts
|
|
/// Cooldown on requesting a TTS preview.
|
|
COOLDOWN_DECLARE(tts_test_cooldown)
|
|
|
|
action_delegations = list(
|
|
"play_voice" = PROC_REF(play_voice),
|
|
"play_voice_robot" = PROC_REF(play_voice_robot),
|
|
)
|
|
|
|
/datum/preference_middleware/tts/proc/play_voice(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)
|
|
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)
|
|
return TRUE
|
|
|
|
/datum/preference_middleware/tts/proc/play_voice_robot(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)
|
|
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, silicon = TRUE, local = TRUE)
|
|
return TRUE
|