Autohiss/Stutter Repeat Fix (#19335)

Autohiss/stutter no longer procs twice when using `say :w` to whisper

**PLEASE TESTMERGE THIS BEFORE MERGE**. Say proc is spaghetti so had to
touch alot of things to get this to work.

Co-authored-by: Ben10083 <Ben10083@users.noreply.github.com>
This commit is contained in:
Ben
2024-06-14 14:19:45 +00:00
committed by GitHub
co-authored by Ben10083
parent 5082ed7db3
commit 2e3b21ec41
16 changed files with 78 additions and 20 deletions
+1 -1
View File
@@ -160,7 +160,7 @@
return
return attack_hand(user)
/mob/living/bot/say(var/message, var/datum/language/speaking = null, var/verb="says", var/alt_name="", var/ghost_hearing = GHOSTS_ALL_HEAR, var/whisper = FALSE)
/mob/living/bot/say(var/message, var/datum/language/speaking = null, var/verb="says", var/alt_name="", var/ghost_hearing = GHOSTS_ALL_HEAR, var/whisper = FALSE, var/skip_edit = FALSE)
..(message, null, "beeps")
/mob/living/bot/Collide(atom/A)
+1 -1
View File
@@ -1,5 +1,5 @@
//TODO: Convert this over for languages.
/mob/living/carbon/brain/say(var/message, var/datum/language/speaking = null, var/verb="says", var/alt_name="", var/ghost_hearing = GHOSTS_ALL_HEAR, var/whisper = FALSE)
/mob/living/carbon/brain/say(var/message, var/datum/language/speaking = null, var/verb="says", var/alt_name="", var/ghost_hearing = GHOSTS_ALL_HEAR, var/whisper = FALSE, var/skip_edit = FALSE)
if (silent)
return
+1 -1
View File
@@ -238,7 +238,7 @@
used_radios += R
R.talk_into(src,message,null,verb,speaking)
if("whisper")
whisper(message, speaking, is_singing)
whisper(message, speaking, is_singing, say_verb = TRUE)
return TRUE
else
if(message_mode)
+1 -1
View File
@@ -1,4 +1,4 @@
/mob/living/carbon/slime/say(var/message, var/datum/language/speaking = null, var/verb="says", var/alt_name="", var/ghost_hearing = GHOSTS_ALL_HEAR, var/whisper = FALSE)
/mob/living/carbon/slime/say(var/message, var/datum/language/speaking = null, var/verb="says", var/alt_name="", var/ghost_hearing = GHOSTS_ALL_HEAR, var/whisper = FALSE, var/skip_edit = FALSE)
verb = say_quote(message)
if(copytext(message,1,2) == "*")
+3 -3
View File
@@ -150,7 +150,7 @@ var/list/channel_to_radio_key = new
I.talk_into(src, message, verb, speaking)
if(message_mode == "whisper" && !whisper)
whisper(message, speaking)
whisper(message, speaking, say_verb = TRUE)
return TRUE
return FALSE
@@ -185,7 +185,7 @@ var/list/channel_to_radio_key = new
return "statement"
/mob/living/say(var/message, var/datum/language/speaking = null, var/verb, var/alt_name="", var/ghost_hearing = GHOSTS_ALL_HEAR, var/whisper = FALSE)
/mob/living/say(var/message, var/datum/language/speaking = null, var/verb, var/alt_name="", var/ghost_hearing = GHOSTS_ALL_HEAR, var/whisper = FALSE, var/skip_edit = FALSE)
if(stat)
if(stat == DEAD)
return say_dead(message)
@@ -252,7 +252,7 @@ var/list/channel_to_radio_key = new
message = trim_left(message)
var/message_range = world.view
if(!(speaking && (speaking.flags & NO_STUTTER)))
if(!skip_edit && !(speaking && (speaking.flags & NO_STUTTER)))
message = handle_autohiss(message, speaking)
var/list/hsp_params = handle_speech_problems(message, verb, message_mode, message_range)
if(hsp_params)
+1 -1
View File
@@ -1,4 +1,4 @@
/mob/living/silicon/pai/say(var/message, var/datum/language/speaking = null, var/verb="says", var/alt_name="", var/ghost_hearing = GHOSTS_ALL_HEAR, var/whisper = FALSE)
/mob/living/silicon/pai/say(var/message, var/datum/language/speaking = null, var/verb="says", var/alt_name="", var/ghost_hearing = GHOSTS_ALL_HEAR, var/whisper = FALSE, var/skip_edit = FALSE)
if(silence_time)
to_chat(src, "<font color=green>Communication circuits remain uninitialized.</font>")
return
+3 -3
View File
@@ -16,7 +16,7 @@
/mob/living/silicon/robot/handle_message_mode(message_mode, message, verb, speaking, used_radios, alt_name, whisper)
if(message_mode == "whisper" && !whisper)
whisper(message, speaking)
whisper(message, speaking, say_verb = TRUE)
return TRUE
if(message_mode)
if(!is_component_functioning("radio"))
@@ -32,7 +32,7 @@
/mob/living/silicon/ai/handle_message_mode(message_mode, message, verb, speaking, used_radios, alt_name, whisper)
if(message_mode == "whisper" && !whisper)
whisper(message, speaking)
whisper(message, speaking, say_verb = TRUE)
return TRUE
if(message_mode == "department")
log_say("[key_name(src)] : [message]",ckey=key_name(src))
@@ -49,7 +49,7 @@
/mob/living/silicon/pai/handle_message_mode(message_mode, message, verb, speaking, used_radios, alt_name, whisper)
if(message_mode)
if(message_mode == "whisper" && !whisper)
whisper(message, speaking)
whisper(message, speaking, say_verb = TRUE)
return TRUE
if(message_mode == "general")
message_mode = null
@@ -6,7 +6,7 @@
var/datum/progressbar/resist_bar
var/resist_start_time = 0
/mob/living/captive_brain/say(var/message, var/datum/language/speaking = null, var/verb="says", var/alt_name="", var/ghost_hearing = GHOSTS_ALL_HEAR, var/whisper = FALSE)
/mob/living/captive_brain/say(var/message, var/datum/language/speaking = null, var/verb="says", var/alt_name="", var/ghost_hearing = GHOSTS_ALL_HEAR, var/whisper = FALSE, var/skip_edit = FALSE)
if(istype(src.loc,/mob/living/simple_animal/borer))
if(!message)
return
@@ -1,4 +1,4 @@
/mob/living/simple_animal/borer/say(var/message, var/datum/language/speaking = null, var/verb="says", var/alt_name="", var/ghost_hearing = GHOSTS_ALL_HEAR, var/whisper = FALSE)
/mob/living/simple_animal/borer/say(var/message, var/datum/language/speaking = null, var/verb="says", var/alt_name="", var/ghost_hearing = GHOSTS_ALL_HEAR, var/whisper = FALSE, var/skip_edit = FALSE)
message = capitalize(message)
if(!message)
@@ -339,7 +339,7 @@
switch(message_mode)
if("whisper")
if(!whisper)
whisper(message, speaking)
whisper(message, speaking, say_verb = TRUE)
return TRUE
if("headset")
radio.talk_into(src, message, null, verb, speaking)
@@ -679,7 +679,7 @@
to_chat(src, SPAN_WARNING("There is no perch nearby to sit on."))
return
/mob/living/simple_animal/parrot/say(var/message, var/datum/language/speaking = null, var/verb="says", var/alt_name="", var/ghost_hearing = GHOSTS_ALL_HEAR, var/whisper = FALSE)
/mob/living/simple_animal/parrot/say(var/message, var/datum/language/speaking = null, var/verb="says", var/alt_name="", var/ghost_hearing = GHOSTS_ALL_HEAR, var/whisper = FALSE, var/skip_edit = FALSE)
if(stat)
return
@@ -204,7 +204,7 @@
heard_dying_message = 0
to_chat(src, SPAN_NOTICE("The soothing echoes of life reinvigorate you."))
/mob/living/simple_animal/shade/bluespace/say(var/message, var/datum/language/speaking = null, var/verb="says", var/alt_name="", var/ghost_hearing = GHOSTS_ALL_HEAR, var/whisper = FALSE)
/mob/living/simple_animal/shade/bluespace/say(var/message, var/datum/language/speaking = null, var/verb="says", var/alt_name="", var/ghost_hearing = GHOSTS_ALL_HEAR, var/whisper = FALSE, var/skip_edit = FALSE)
if(!possessive)
var/list/words_in_memory = dd_text2List(last_message_heard, " ")
var/list/words_in_message = dd_text2List(message, " ")
@@ -808,7 +808,7 @@
/mob/living/simple_animal/proc/reset_sound_time()
sound_time = TRUE
/mob/living/simple_animal/say(var/message, var/datum/language/speaking = null, var/verb="says", var/alt_name="", var/ghost_hearing = GHOSTS_ALL_HEAR, var/whisper = FALSE)
/mob/living/simple_animal/say(var/message, var/datum/language/speaking = null, var/verb="says", var/alt_name="", var/ghost_hearing = GHOSTS_ALL_HEAR, var/whisper = FALSE, var/skip_edit = FALSE)
if(speak_emote.len)
verb = pick(speak_emote)
+2 -2
View File
@@ -14,7 +14,7 @@
whisper(message)
/mob/living/whisper(var/message, var/datum/language/speaking, var/is_singing = FALSE)
/mob/living/whisper(var/message, var/datum/language/speaking, var/is_singing = FALSE, var/say_verb = FALSE)
if(is_muzzled())
to_chat(src, SPAN_DANGER("You're muzzled and cannot speak!"))
return
@@ -89,4 +89,4 @@
for (var/mob/M in watching)
M.show_message(rendered, 2)
say(message, speaking, whisper_text, whisper = TRUE)
say(message, speaking, whisper_text, whisper = TRUE, skip_edit = say_verb)