mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-07-18 18:46:24 +01:00
fix: MUTE trait no longer blocks say emotes (\! prefix) or radio say emotes (;\!) (#19302)
Noise language is used for audible emotes when '\!' is prefixed in say. handle_speech_problems() was unconditionally clearing the message for any mob with sdisabilities & MUTE, including Noise language pieces. '*emote' in say() bypasses mute entirely by redirecting to emote() before handle_speech_problems is reached. '\!emote' and ';\!emote' should be consistent with that: MUTE suppresses speech but not emote actions. Now, when MUTE is the sole reason the suppression block fires (not silent or paralysis), Noise language pieces fall through to the parent proc instead of being cleared.
This commit is contained in:
@@ -142,6 +142,13 @@
|
||||
|
||||
/mob/living/carbon/human/handle_speech_problems(var/list/message_data)
|
||||
if(silent || (sdisabilities & MUTE) || is_paralyzed())
|
||||
// MUTE shouldn't suppress noise language (audible say emotes), consistent with * emotes bypassing mute in say().
|
||||
if((sdisabilities & MUTE) && !silent && !is_paralyzed())
|
||||
var/list/pieces = message_data[1]
|
||||
if(islist(pieces) && LAZYLEN(pieces))
|
||||
var/datum/multilingual_say_piece/first = pieces[1]
|
||||
if(istype(first) && first.speaking == GLOB.all_languages["Noise"])
|
||||
return ..()
|
||||
message_data[1] = ""
|
||||
. = 1
|
||||
|
||||
|
||||
Reference in New Issue
Block a user