diff --git a/code/datums/emote.dm b/code/datums/emote.dm index 8e15c6f29e0..938e73e5a66 100644 --- a/code/datums/emote.dm +++ b/code/datums/emote.dm @@ -237,9 +237,6 @@ * Returns TRUE if the emote was able to be run (or failed successfully), or FALSE if the emote is unusable. */ /datum/emote/proc/try_run_emote(mob/user, params, type_override, intentional = FALSE) - if(!can_run_emote(user, intentional = intentional)) - return FALSE - // You can use this signal to block execution of emotes from components/other sources. var/sig_res = SEND_SIGNAL(user, COMSIG_MOB_PREEMOTE, key, intentional) switch(sig_res) diff --git a/code/modules/mob/mob_emote.dm b/code/modules/mob/mob_emote.dm index ab8a2760a59..0c350fd2e7e 100644 --- a/code/modules/mob/mob_emote.dm +++ b/code/modules/mob/mob_emote.dm @@ -28,6 +28,9 @@ return FALSE var/silenced = FALSE for(var/datum/emote/P in key_emotes) + // can this mob run the emote at all? + if(!P.can_run_emote(src, intentional)) + continue if(!P.check_cooldown(src, intentional)) // if an emote's on cooldown, don't spam them with messages of not being able to use it silenced = TRUE