From 8d1e36e0769415c27538e01ae01f36bd9d51793a Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Wed, 4 Mar 2020 15:49:47 -0700 Subject: [PATCH] k --- code/__DEFINES/mobs.dm | 2 ++ code/modules/mob/mob_defines.dm | 2 -- code/modules/mob/typing_indicator.dm | 7 ++++--- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index dc67de3150..f70f8c55bc 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -277,3 +277,5 @@ #define PULL_PRONE_SLOWDOWN 0.6 #define HUMAN_CARRY_SLOWDOWN 0 + +#define TYPING_INDICATOR_TIMEOUT 10 SECONDS diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index 7a3959ed8f..8cda504149 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -136,5 +136,3 @@ var/typing_indicator_state = /obj/effect/overlay/typing_indicator /// The timer that will remove our indicator for early aborts (like when an user finishes their message) var/typing_indicator_timerid - /// Default typing indicator timeout - var/typing_indicator_timeout = 30 SECONDS diff --git a/code/modules/mob/typing_indicator.dm b/code/modules/mob/typing_indicator.dm index 7ca9eb72e9..b8a68b336a 100644 --- a/code/modules/mob/typing_indicator.dm +++ b/code/modules/mob/typing_indicator.dm @@ -21,11 +21,12 @@ GLOBAL_LIST_EMPTY(typing_indicator_overlays) * @param state_override - Sets the state that we will fetch. Defaults to src.get_typing_indicator_icon_state() * @param force - shows even if src.typing_indcator_enabled is FALSE. */ -/mob/proc/display_typing_indicator(timeout_override = typing_indicator_timeout, state_override = get_typing_indicator_icon_state(), force = FALSE) - if(!typing_indicator_enabled && !force) +/mob/proc/display_typing_indicator(timeout_override = TYPING_INDICATOR_TIMEOUT, state_override = get_typing_indicator_icon_state(), force = FALSE) + if((!typing_indicator_enabled && !force) || typing_indicator_timerid) return + typing_indicator_timerid = addtimer(CALLBACK(src, .proc/clear_typing_indicator, state_override), timeout_override, TIMER_STOPPABLE) + var/overlay = get_indicator_overlay(state_override) add_overlay(get_indicator_overlay(state_override)) - addtimer(CALLBACK(src, .proc/clear_typing_indicator, state_override), timeout_override, TIMER_STOPPABLE) /** * Removes typing indicator.