diff --git a/code/modules/mob/living/emote.dm b/code/modules/mob/living/emote.dm index aba640c550..102f53f9d7 100644 --- a/code/modules/mob/living/emote.dm +++ b/code/modules/mob/living/emote.dm @@ -200,25 +200,25 @@ message_param = "blows a kiss to %t." emote_type = EMOTE_AUDIBLE -/datum/emote/living/laugh +/datum/emote/living/audio_emote + emote_type = EMOTE_AUDIBLE + +/datum/emote/living/audio_emote/can_run_emote(mob/living/user, status_check = TRUE) + . = ..() + if(. && iscarbon(user)) + var/mob/living/carbon/C = user + return !C.silent && (!C.mind || !C.mind.miming) + +/datum/emote/living/audio_emote/laugh key = "laugh" key_third_person = "laughs" message = "laughs." message_mime = "laughs silently!" - emote_type = EMOTE_AUDIBLE -/datum/emote/living/laugh/can_run_emote(mob/living/user, status_check = TRUE) - . = ..() - if(. && iscarbon(user)) - var/mob/living/carbon/C = user - return !C.silent - -/datum/emote/living/laugh/run_emote(mob/user, params) +/datum/emote/living/audio_emote/laugh/run_emote(mob/user, params) . = ..() if(. && iscarbon(user)) //Citadel Edit because this is hilarious var/mob/living/carbon/C = user - if(!C.mind || C.mind.miming) - return if(iscatperson(C)) //we ask for is cat first because they're a subtype that tests true for ishumanbasic because HERESY playsound(C, pick('sound/voice/catpeople/nyahaha1.ogg', 'sound/voice/catpeople/nyahaha2.ogg', @@ -226,12 +226,27 @@ 'sound/voice/catpeople/nyahehe.ogg'), 50, 1) return - if(ishumanbasic(C)) + else if(ismoth(C)) + playsound(C, 'sound/voice/moth/mothlaugh.ogg', 50, 1) + else if(ishumanbasic(C)) if(user.gender == FEMALE) playsound(C, 'sound/voice/human/womanlaugh.ogg', 50, 1) else playsound(C, pick('sound/voice/human/manlaugh1.ogg', 'sound/voice/human/manlaugh2.ogg'), 50, 1) +/datum/emote/living/audio_emote/chitter + key = "chitter" + key_third_person = "chitters" + message = "chitters." + message_mime = "chitters silently!" + +/datum/emote/living/audio_emote/chitter/run_emote(mob/user, params) + . = ..() + if(. && iscarbon(user)) //Citadel Edit because this is hilarious + var/mob/living/carbon/C = user + if(ismoth(C)) + playsound(C, 'sound/voice/moth/mothlaugh.ogg', 50, 1) + /datum/emote/living/look key = "look" key_third_person = "looks" diff --git a/sound/voice/moth/mothchitter.ogg b/sound/voice/moth/mothchitter.ogg new file mode 100644 index 0000000000..842bcf8e53 Binary files /dev/null and b/sound/voice/moth/mothchitter.ogg differ diff --git a/sound/voice/moth/mothlaugh.ogg b/sound/voice/moth/mothlaugh.ogg new file mode 100644 index 0000000000..391d6c5aef Binary files /dev/null and b/sound/voice/moth/mothlaugh.ogg differ