diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm
index b8257bb877f..d80ab50e0b0 100644
--- a/code/modules/mob/living/carbon/human/emote.dm
+++ b/code/modules/mob/living/carbon/human/emote.dm
@@ -118,6 +118,11 @@
on_CD = handle_emote_CD() //proc located in code\modules\mob\emote.dm'
else //Everyone else fails, skip the emote attempt
return
+ if("rattle", "rattles")
+ if(isskeleton(src) || isplasmaman(src)) //Only Plasmamen and Skeletons can rattle.
+ on_CD = handle_emote_CD() //proc located in code\modules\mob\emote.dm'
+ else //Everyone else fails, skip the emote attempt
+ return
if("scream", "screams")
on_CD = handle_emote_CD(50) //longer cooldown
@@ -269,6 +274,12 @@
playsound(loc, 'sound/machines/synth_no.ogg', 50, 1, frequency = get_age_pitch())
m_type = 2
+ if("rattle", "rattles")
+ var/M = handle_emote_param(param)
+
+ message = "[src] rattles [p_their()] bones[M ? " at [M]" : ""]."
+ m_type = 1
+
if("wag", "wags")
if(body_accessory)
if(body_accessory.try_restrictions(src))
@@ -966,6 +977,10 @@
emotelist += "\nVox specific emotes :- wag(s), swag(s), quill(s)"
if("Vulpkanin")
emotelist += "\nVulpkanin specific emotes :- wag(s), swag(s), growl(s)-none/mob, howl(s)-none/mob"
+ if("Plasmaman")
+ emotelist += "\nPlasmaman specific emotes :- rattle(s)-none/mob"
+ if("Skeleton")
+ emotelist += "\nSkeleton specific emotes :- rattle(s)-none/mob"
if(ismachineperson(src))
emotelist += "\nMachine specific emotes :- beep(s)-none/mob, buzz(es)-none/mob, no-none/mob, ping(s)-none/mob, yes-none/mob, buzz2-none/mob"