diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index 8eddad2a9111..8900a25b384c 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -39,10 +39,12 @@ return ..() return FALSE -/datum/emote/living/carbon/human/glasses/run_emote(mob/user, params, type_override, intentional) +/datum/emote/living/carbon/human/glasses/run_emote(mob/living/carbon/human/user, params, type_override, intentional) . = ..() + if(!ishuman(user)) + return var/image/emote_animation = image('icons/mob/species/human/emote_visuals.dmi', user, "glasses") - flick_overlay_global(emote_animation, GLOB.clients, 1.6 SECONDS) + flick_overlay_global(user.apply_height_offsets(emote_animation, UPPER_BODY), GLOB.clients, 1.6 SECONDS) /datum/emote/living/carbon/human/grumble key = "grumble" diff --git a/code/modules/mob/living/emote.dm b/code/modules/mob/living/emote.dm index 47d142a54871..6b3cc3e60a31 100644 --- a/code/modules/mob/living/emote.dm +++ b/code/modules/mob/living/emote.dm @@ -394,12 +394,12 @@ monkestation edit end */ message_mime = "acts out an exaggerated silent sigh." emote_type = EMOTE_VISIBLE | EMOTE_AUDIBLE -/datum/emote/living/sigh/run_emote(mob/living/user, params, type_override, intentional) +/datum/emote/living/sigh/run_emote(mob/living/carbon/human/user, params, type_override, intentional) . = ..() if(!ishuman(user)) return var/image/emote_animation = image('icons/mob/species/human/emote_visuals.dmi', user, "sigh") - flick_overlay_global(emote_animation, GLOB.clients, 2.0 SECONDS) + flick_overlay_global(user.apply_height_offsets(emote_animation, UPPER_BODY), GLOB.clients, 2.0 SECONDS) /datum/emote/living/sit key = "sit" diff --git a/monkestation/code/modules/mob/living/carbon/emote.dm b/monkestation/code/modules/mob/living/carbon/emote.dm index 87d873cea9ed..17d218673745 100644 --- a/monkestation/code/modules/mob/living/carbon/emote.dm +++ b/monkestation/code/modules/mob/living/carbon/emote.dm @@ -115,3 +115,40 @@ /obj/item/gun/ballistic/fingergun_emote/eject_magazine() return + +/datum/emote/living/carbon/sweatdrop + key = "sweatdrop" + key_third_person = "sweatdrops" + message = "sweats" + emote_type = EMOTE_VISIBLE + vary = TRUE + sound = 'monkestation/sound/effects/sweatdrop.ogg' + +/datum/emote/living/carbon/sweatdrop/run_emote(mob/living/carbon/user, params, type_override, intentional) + . = ..() + if(!.) + return + var/image/emote_animation = image('monkestation/icons/mob/species/human/emote_visuals.dmi', user, "sweatdrop", pixel_x = 10, pixel_y = 10) + if(ishuman(user)) + var/mob/living/carbon/human/human_user = user + emote_animation = human_user.apply_height_offsets(emote_animation, UPPER_BODY) + flick_overlay_global(emote_animation, GLOB.clients, 3 SECONDS) + +/datum/emote/living/carbon/sweatdrop/sweat //This is entirely the same as sweatdrop, however people might use either, so I'm adding this one instead of editing the other one. + key = "sweat" + +/datum/emote/living/carbon/annoyed + key = "annoyed" + emote_type = EMOTE_VISIBLE + +/datum/emote/living/carbon/annoyed/run_emote(mob/living/carbon/user, params, type_override, intentional) + . = ..() + if(!.) + return + var/image/emote_animation = image('monkestation/icons/mob/species/human/emote_visuals.dmi', user, "annoyed", pixel_x = 10, pixel_y = 10) + if(ishuman(user)) + var/mob/living/carbon/human/human_user = user + emote_animation = human_user.apply_height_offsets(emote_animation, UPPER_BODY) + flick_overlay_global(emote_animation, GLOB.clients, 5 SECONDS) + // as this emote has no message, it won't play a sound due to the parent proc, so we play it manually here + playsound(user, 'monkestation/sound/effects/annoyed.ogg', vol = 50, vary = TRUE) diff --git a/monkestation/icons/mob/species/human/emote_visuals.dmi b/monkestation/icons/mob/species/human/emote_visuals.dmi new file mode 100644 index 000000000000..4cdebf4e3de7 Binary files /dev/null and b/monkestation/icons/mob/species/human/emote_visuals.dmi differ diff --git a/monkestation/sound/effects/annoyed.ogg b/monkestation/sound/effects/annoyed.ogg new file mode 100644 index 000000000000..d303a8815a1c Binary files /dev/null and b/monkestation/sound/effects/annoyed.ogg differ diff --git a/monkestation/sound/effects/sweatdrop.ogg b/monkestation/sound/effects/sweatdrop.ogg new file mode 100644 index 000000000000..3c5a8ae80d12 Binary files /dev/null and b/monkestation/sound/effects/sweatdrop.ogg differ