From ffa3c68f4956968abf6145ef87ebd2700bbac490 Mon Sep 17 00:00:00 2001 From: Artemchik542 Date: Sun, 19 Apr 2026 17:14:40 +0700 Subject: [PATCH] done --- code/controllers/subsystem/tts.dm | 14 ++++++++++++++ code/modules/vending/vendor/_vending.dm | 3 ++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/code/controllers/subsystem/tts.dm b/code/controllers/subsystem/tts.dm index e2917e86b6da..80449d2935b1 100644 --- a/code/controllers/subsystem/tts.dm +++ b/code/controllers/subsystem/tts.dm @@ -444,3 +444,17 @@ SUBSYSTEM_DEF(tts) return request.is_complete() && request_blips.is_complete() #undef SHIFT_DATA_ARRAY + + +// MASSMETA ADD BEGIN +/// Helper to get a random TTS voice for a vendor +/datum/controller/subsystem/tts/proc/radnom_vendor_voice() + if(!tts_enabled) + return null + + for (var/voice in available_speakers) + if (findtext(voice, "Vendor")) + return voice + CRASH("Cant find voice for vendor! At least one voice must me for vendors") + return pick(available_speakers) +// MASSMETA ADD END diff --git a/code/modules/vending/vendor/_vending.dm b/code/modules/vending/vendor/_vending.dm index cf51b6eb2915..12f71ad7e07d 100644 --- a/code/modules/vending/vendor/_vending.dm +++ b/code/modules/vending/vendor/_vending.dm @@ -215,7 +215,8 @@ if(SStts.tts_enabled) var/static/vendor_voice_by_type = list() if(!vendor_voice_by_type[type]) - vendor_voice_by_type[type] = pick(SStts.available_speakers) + vendor_voice_by_type[type] = SStts.radnom_vendor_voice() // //MASSMETA ADD START (vendor one voice) Original: vendor_voice_by_type[type] = pick(SStts.available_speakers) + voice = vendor_voice_by_type[type] slogan_list = splittext(product_slogans, ";")