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/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 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)