From bbbda7c452bd26de1ee6bd30c1636d015148f4ba Mon Sep 17 00:00:00 2001 From: Bruh-24 Date: Fri, 12 Jun 2026 13:11:58 +0300 Subject: [PATCH 1/4] =?UTF-8?q?=D0=B4=D0=B5=D0=BD=D1=8C=202=20=D0=BF=D0=BE?= =?UTF-8?q?=D0=BD=D0=B8=D0=B6=D0=B0=D0=B5=D0=BC=20=D1=82=D0=B5=D1=85=D0=BD?= =?UTF-8?q?=D0=B8=D1=87=D0=B5=D1=81=D0=BA=D0=B8=D0=B9=20=D0=B4=D0=BE=D0=BB?= =?UTF-8?q?=D0=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/modules/admin/verbs/adminpm.dm | 10 +++++++--- modular_meta/features/ntts-nd-tg-tts/code/picker.dm | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index fe3c5cdc0dd..d22a6343e69 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -409,8 +409,9 @@ ADMIN_VERB(cmd_admin_pm_panel, R_NONE, "Admin PM", "Show a list of clients to PM if(!already_logged) //Reply to an existing ticket SSblackbox.LogAhelp(recipient_ticket_id, "Reply", send_message, recip_ckey, our_ckey) + //MASSMETA EDIT START (bot topics) get_ticket_info(send_message, recipient_ticket_id, our_ckey, admin = TRUE, new_ticket = FALSE, engager = "admin") - + //MASSMETA EDIT END (bot topics) //always play non-admin recipients the adminhelp sound SEND_SOUND(recipient, sound('sound/effects/adminhelp.ogg')) return TRUE @@ -429,10 +430,10 @@ ADMIN_VERB(cmd_admin_pm_panel, R_NONE, "Admin PM", "Show a list of clients to PM confidential = TRUE) return FALSE ticket.MessageNoRecipient(send_message) - //MASSMETA EDIT START + //MASSMETA EDIT START (bot topics) get_ticket_info(send_message, ticket_id, our_ckey, admin = FALSE, new_ticket = FALSE, engager = "player") return TRUE - //MASSMETA EDIT END + //MASSMETA EDIT END (bot topics) // Ok by this point the recipient has to be an admin, and this is either an admin on admin event, or a player replying to an admin @@ -483,6 +484,9 @@ ADMIN_VERB(cmd_admin_pm_panel, R_NONE, "Admin PM", "Show a list of clients to PM player_message = player_interaction_message) SSblackbox.LogAhelp(ticket_id, "Reply", send_message, recip_ckey, our_ckey) + // MASSMETA EDIT START (bot topics) + get_ticket_info(send_message, ticket_id, our_ckey, admin = TRUE, new_ticket = FALSE, engager = "admin") + // MASSMETA EDIT END (bot topics) return TRUE // This is us (a player) trying to talk to the recipient (an admin) diff --git a/modular_meta/features/ntts-nd-tg-tts/code/picker.dm b/modular_meta/features/ntts-nd-tg-tts/code/picker.dm index 33e300c6268..93bed27e2c1 100644 --- a/modular_meta/features/ntts-nd-tg-tts/code/picker.dm +++ b/modular_meta/features/ntts-nd-tg-tts/code/picker.dm @@ -87,7 +87,7 @@ SStts.queued_radio_messages_compression[identifier] = 0 // SStts.queued_radio_messages_compression[identifier] = ion ? 31 : 0 COOLDOWN_START(middleware, tts_test_cooldown, 0.5 SECONDS) - INVOKE_ASYNC(SStts, TYPE_PROC_REF(/datum/controller/subsystem/tts, queue_tts_message), user.client, params["message"], speaker = params["voice"], pitch = preferences.read_preference(/datum/preference/numeric/tts_voice_pitch), listeners = list(), blip_base = get_blip_base(), blip_number = preferences.read_preference(/datum/preference/numeric/tts_blip_number), identifier = identifier) + INVOKE_ASYNC(SStts, TYPE_PROC_REF(/datum/controller/subsystem/tts, queue_tts_message), user.client, params["message"], language = /datum/language/common, speaker = params["voice"], pitch = preferences.read_preference(/datum/preference/numeric/tts_voice_pitch), listeners = list(), blip_base = get_blip_base(), blip_number = preferences.read_preference(/datum/preference/numeric/tts_blip_number), identifier = identifier) return TRUE /datum/tts_voice_picker/proc/play_mask(list/params, mob/user, obj/item/clothing/mask/mask_type) From aaabad303a0994d665f41605063696c8929a238b Mon Sep 17 00:00:00 2001 From: Bruh-24 Date: Fri, 12 Jun 2026 14:41:21 +0300 Subject: [PATCH 2/4] hms injector fixes --- .../antagonists/traitor/objectives/infect.dm | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/code/modules/antagonists/traitor/objectives/infect.dm b/code/modules/antagonists/traitor/objectives/infect.dm index fa38ddac243..394696444f7 100644 --- a/code/modules/antagonists/traitor/objectives/infect.dm +++ b/code/modules/antagonists/traitor/objectives/infect.dm @@ -160,15 +160,21 @@ //Was the injector used on someone yet? var/used = FALSE -/obj/item/reagent_containers/hypospray/medipen/manifoldinjector/attack(mob/living/affected_mob, mob/living/carbon/human/user) +/obj/item/reagent_containers/hypospray/medipen/manifoldinjector/interact_with_atom(mob/living/affected_mob, mob/living/user) if(used) - return ..() - to_chat(affected_mob, span_warning("You feel someone try to inject you with something.")) - balloon_alert(user, "injecting...") - log_combat(user, affected_mob, "attempted to inject", src) + return + + if(!affected_mob.can_inject(user, user.zone_selected)) + balloon_alert(user, "no exposed skin!") + return + if(!do_after(user, 1.5 SECONDS, hidden = TRUE)) balloon_alert(user, "interrupted!") return + + to_chat(affected_mob, span_warning("You feel someone try to inject you with something.")) + balloon_alert(user, "injecting...") + log_combat(user, affected_mob, "attempted to inject", src) var/datum/disease/chronic_illness/hms = new /datum/disease/chronic_illness() affected_mob.ForceContractDisease(hms) used = TRUE From c3e955bbfd6422b375bc3808580c117fae1ea943 Mon Sep 17 00:00:00 2001 From: Bruh-24 Date: Thu, 18 Jun 2026 18:18:16 +0300 Subject: [PATCH 3/4] radio_gibberish --- code/controllers/subsystem/tts.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/controllers/subsystem/tts.dm b/code/controllers/subsystem/tts.dm index e0460c1aa2a..ac3a6b1bd55 100644 --- a/code/controllers/subsystem/tts.dm +++ b/code/controllers/subsystem/tts.dm @@ -606,12 +606,14 @@ SUBSYSTEM_DEF(tts) var/file_name_blips = "tmp/tts/[identifier]_blips.ogg" var/file_name_radio = "tmp/tts/[identifier]_radio.ogg" var/file_name_blips_radio = "tmp/tts/[identifier]_blips_radio.ogg" + var/file_name_radio_gibberish = "tmp/tts/[identifier]_radio_gibberish.ogg" // MASSMETA EDIT START (ntts && /tg/tts) var/announcement_effect_param = announcement_effect ? "&announcement_effect=[url_encode(announcement_effect)]" : "" request.prepare(RUSTG_HTTP_METHOD_GET, "[CONFIG_GET(string/tts_http_url)]/tts?voice=[speaker]&identifier=[identifier]&filter=[tts_filter_encode(filter, speaker, pitch)]&pitch=[pitch]&special_filters=[url_encode(special_filters)][announcement_effect_param]", json_encode(list("text" = shell_scrubbed_input)), headers, file_name, timeout_seconds = CONFIG_GET(number/tts_http_timeout_seconds)) request_blips.prepare(RUSTG_HTTP_METHOD_GET, "[CONFIG_GET(string/tts_http_url)]/tts-blips?voice=[speaker]&identifier=[identifier]&filter=[tts_filter_encode(filter, speaker, pitch, blips = TRUE)]&pitch=[pitch]&special_filters=[url_encode(special_filters)]&blip_base=[blip_base]&blip_number=[blip_number]", json_encode(list("text" = shell_scrubbed_input)), headers, file_name_blips, timeout_seconds = CONFIG_GET(number/tts_http_timeout_seconds)) request_radio.prepare(RUSTG_HTTP_METHOD_GET, "[CONFIG_GET(string/tts_http_url)]/tts-radio?voice=[speaker]&identifier=[identifier]&filter=[tts_filter_encode(filter, speaker, pitch)]&pitch=[pitch]&special_filters=[url_encode(special_filters)][announcement_effect_param]", json_encode(list("text" = shell_scrubbed_input)), headers, file_name_radio, timeout_seconds = CONFIG_GET(number/tts_http_timeout_seconds)) request_blips_radio.prepare(RUSTG_HTTP_METHOD_GET, "[CONFIG_GET(string/tts_http_url)]/tts-blips-radio?voice=[speaker]&identifier=[identifier]&filter=[tts_filter_encode(filter, speaker, pitch, blips = TRUE)]&pitch=[pitch]&special_filters=[url_encode(special_filters)]&blip_base=[blip_base]&blip_number=[blip_number]", json_encode(list("text" = shell_scrubbed_input)), headers, file_name_blips_radio, timeout_seconds = CONFIG_GET(number/tts_http_timeout_seconds)) + request_radio_gibberish.prepare(RUSTG_HTTP_METHOD_GET, "[CONFIG_GET(string/tts_http_url)]/tts-radio?voice=[speaker]&identifier=[identifier]&filter=[tts_filter_encode(filter, speaker, pitch)]&pitch=[pitch]&special_filters=[url_encode(special_filters)][announcement_effect_param]", json_encode(list("raw_text" = shell_scrubbed_input, "gibberish_text" = shell_scrubbed_input)), headers, file_name_radio_gibberish, timeout_seconds = CONFIG_GET(number/tts_http_timeout_seconds)) var/datum/tts_request/current_request = new /datum/tts_request(identifier, request, request_blips, request_radio, request_blips_radio, request_radio_gibberish, shell_scrubbed_input, target, local, language, message_range, volume_offset, listeners, pitch, force_blips) // MASSMETA EDIT END (ntts && /tg/tts) var/list/player_queued_tts_messages = queued_tts_messages[target] From 0bbebf8f06b318b9ed6319aa889d64b3536f29f0 Mon Sep 17 00:00:00 2001 From: Bruh-24 Date: Thu, 18 Jun 2026 18:26:31 +0300 Subject: [PATCH 4/4] blya --- code/controllers/subsystem/tts.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/controllers/subsystem/tts.dm b/code/controllers/subsystem/tts.dm index ac3a6b1bd55..69dc719c468 100644 --- a/code/controllers/subsystem/tts.dm +++ b/code/controllers/subsystem/tts.dm @@ -601,7 +601,7 @@ SUBSYSTEM_DEF(tts) var/datum/http_request/request_radio = new() var/datum/http_request/request_blips_radio = new() // MASSMETA EDIT END (ntts && /tg/tts) - var/datum/http_request/request_radio_gibberish + var/datum/http_request/request_radio_gibberish = new() var/file_name = "tmp/tts/[identifier].ogg" var/file_name_blips = "tmp/tts/[identifier]_blips.ogg" var/file_name_radio = "tmp/tts/[identifier]_radio.ogg"