diff --git a/code/datums/emotes.dm b/code/datums/emotes.dm index 62d64dc8e61..8cc784d81f0 100644 --- a/code/datums/emotes.dm +++ b/code/datums/emotes.dm @@ -187,6 +187,10 @@ /datum/emote/proc/select_message_type(mob/user, msg, intentional) // Basically, we don't care that the others can use datum variables, because they're never going to change. . = msg + if(!isliving(user)) + return . + var/mob/living/living_user = user + if(!muzzle_ignore && user.is_muzzled() && emote_type & EMOTE_AUDIBLE) return "makes a [pick("strong ", "weak ", "")]noise." if(HAS_MIND_TRAIT(user, TRAIT_MIMING) && message_mime) @@ -195,15 +199,17 @@ . = message_alien else if(islarva(user) && message_larva) . = message_larva - else if(iscyborg(user) && message_robot) - . = message_robot else if(isAI(user) && message_AI) . = message_AI else if(ismonkey(user) && message_monkey) . = message_monkey + else if((iscyborg(user) || (living_user.mob_biotypes & MOB_ROBOTIC)) && message_robot) + . = message_robot else if(isanimal_or_basicmob(user) && message_animal_or_basic) . = message_animal_or_basic + return . + /** * Replaces the %t in the message in message_param by params. * diff --git a/code/modules/mob/living/emote.dm b/code/modules/mob/living/emote.dm index 2d3e487176b..83d2938860e 100644 --- a/code/modules/mob/living/emote.dm +++ b/code/modules/mob/living/emote.dm @@ -531,6 +531,8 @@ key_third_person = "yawns" message = "yawns." message_mime = "acts out an exaggerated silent yawn." + message_robot = "symphathetically yawns." + message_AI = "symphathetically yawns." emote_type = EMOTE_VISIBLE | EMOTE_AUDIBLE cooldown = 5 SECONDS