diff --git a/code/modules/emotes/definitions/exertion.dm b/code/modules/emotes/definitions/exertion.dm index ac0061cca3..9d85bbb39a 100644 --- a/code/modules/emotes/definitions/exertion.dm +++ b/code/modules/emotes/definitions/exertion.dm @@ -5,7 +5,7 @@ emote_message_3p = "is sweating heavily." /decl/emote/exertion/biological/check_user(mob/living/user) - if(istype(user) && !user.isSynthetic()) + if(istype(user) && !user.isSynthetic(skip_emote_update = TRUE)) return ..() return FALSE @@ -30,7 +30,7 @@ emote_message_3p = "USER's actuators whine with strain." /decl/emote/exertion/synthetic/check_user(mob/living/user) - if(istype(user) && user.isSynthetic()) + if(istype(user) && user.isSynthetic(skip_emote_update = TRUE)) return ..() return FALSE diff --git a/code/modules/emotes/definitions/human.dm b/code/modules/emotes/definitions/human.dm index 982e472c5f..182e8df51a 100644 --- a/code/modules/emotes/definitions/human.dm +++ b/code/modules/emotes/definitions/human.dm @@ -1,11 +1,5 @@ -/decl/emote/human - key = "vomit" - /decl/emote/human/check_user(var/mob/living/carbon/human/user) - return (istype(user))//VOREStation Edit - What does a mouth have to do with wagging?? && user.check_has_mouth() && !user.isSynthetic()) - -/decl/emote/human/do_emote(var/mob/living/carbon/human/user) - user.vomit() + return istype(user) /decl/emote/human/deathgasp key = "deathgasp" diff --git a/code/modules/emotes/definitions/synthetics.dm b/code/modules/emotes/definitions/synthetics.dm index 2e31a07f8f..659a1eff44 100644 --- a/code/modules/emotes/definitions/synthetics.dm +++ b/code/modules/emotes/definitions/synthetics.dm @@ -4,7 +4,7 @@ emote_sound = 'sound/machines/twobeep.ogg' /decl/emote/audible/synth/check_user(var/mob/living/user) - if(istype(user) && user.isSynthetic()) + if(istype(user) && user.isSynthetic(skip_emote_update = TRUE)) return ..() return FALSE diff --git a/code/modules/emotes/definitions/visible_vomit.dm b/code/modules/emotes/definitions/visible_vomit.dm index 1ec79dea6a..f60522eeeb 100644 --- a/code/modules/emotes/definitions/visible_vomit.dm +++ b/code/modules/emotes/definitions/visible_vomit.dm @@ -4,7 +4,7 @@ /decl/emote/visible/vomit/do_emote(var/atom/user, var/extra_params) if(isliving(user)) var/mob/living/M = user - if(!M.isSynthetic()) + if(!M.isSynthetic(skip_emote_update = TRUE)) M.vomit() return to_chat(src, SPAN_WARNING("You are unable to vomit.")) diff --git a/code/modules/emotes/emote_define.dm b/code/modules/emotes/emote_define.dm index 845a5202d3..2d311f2ceb 100644 --- a/code/modules/emotes/emote_define.dm +++ b/code/modules/emotes/emote_define.dm @@ -172,7 +172,7 @@ return key /decl/emote/proc/check_synthetic(var/mob/living/user) - . = istype(user) && user.isSynthetic() + . = istype(user) && user.isSynthetic(skip_emote_update = TRUE) if(!. && ishuman(user) && message_type == AUDIBLE_MESSAGE) var/mob/living/carbon/human/H = user if(H.should_have_organ(O_LUNGS)) diff --git a/code/modules/mob/living/bot/bot.dm b/code/modules/mob/living/bot/bot.dm index 16731edef9..89068554ba 100644 --- a/code/modules/mob/living/bot/bot.dm +++ b/code/modules/mob/living/bot/bot.dm @@ -457,5 +457,5 @@ return 0 -/mob/living/bot/isSynthetic() //Robots are synthetic, no? +/mob/living/bot/isSynthetic(var/skip_emote_update) //Robots are synthetic, no? return 1 diff --git a/code/modules/mob/living/carbon/brain/brain.dm b/code/modules/mob/living/carbon/brain/brain.dm index 89ff4151fb..fff4159f9b 100644 --- a/code/modules/mob/living/carbon/brain/brain.dm +++ b/code/modules/mob/living/carbon/brain/brain.dm @@ -42,7 +42,7 @@ canmove = 0 return canmove -/mob/living/carbon/brain/isSynthetic() +/mob/living/carbon/brain/isSynthetic(var/skip_emote_update) return istype(loc, /obj/item/device/mmi) /mob/living/carbon/brain/set_typing_indicator(var/state) diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index a705f03450..794f0f1308 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -33,7 +33,6 @@ var/list/_human_default_emotes = list( /decl/emote/audible/grunt, /decl/emote/audible/slap, /decl/emote/audible/crack, - /decl/emote/human, /decl/emote/human/deathgasp, /decl/emote/audible/giggle, /decl/emote/audible/scream, diff --git a/code/modules/mob/living/carbon/human/human_helpers.dm b/code/modules/mob/living/carbon/human/human_helpers.dm index 83a5b301ab..c46e179ac3 100644 --- a/code/modules/mob/living/carbon/human/human_helpers.dm +++ b/code/modules/mob/living/carbon/human/human_helpers.dm @@ -97,7 +97,7 @@ // This is the 'mechanical' check for synthetic-ness, not appearance // Returns the company that made the synthetic -/mob/living/carbon/human/isSynthetic() +/mob/living/carbon/human/isSynthetic(var/skip_emote_update) if(synthetic) return synthetic //Your synthetic-ness is not going away var/obj/item/organ/external/T = organs_by_name[BP_TORSO] @@ -108,7 +108,8 @@ src.verbs += /mob/living/carbon/human/proc/setmonitor_state var/datum/robolimb/R = all_robolimbs[T.model] synthetic = R - update_emotes() + if(!skip_emote_update) + update_emotes() return synthetic return FALSE diff --git a/code/modules/mob/living/simple_mob/subtypes/mechanical/mechanical.dm b/code/modules/mob/living/simple_mob/subtypes/mechanical/mechanical.dm index f61212ba75..beba4b35fc 100644 --- a/code/modules/mob/living/simple_mob/subtypes/mechanical/mechanical.dm +++ b/code/modules/mob/living/simple_mob/subtypes/mechanical/mechanical.dm @@ -18,7 +18,7 @@ poison_resist = 1.0 shock_resist = -0.5 -/mob/living/simple_mob/mechanical/isSynthetic() +/mob/living/simple_mob/mechanical/isSynthetic(var/skip_emote_update) return TRUE /mob/living/simple_mob/mechanical/speech_bubble_appearance() diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index f21ada00f7..7a9ad45242 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -1073,7 +1073,7 @@ mob/verb/shifteast() if(src.throw_icon) src.throw_icon.icon_state = "act_throw_on" -/mob/proc/isSynthetic() +/mob/proc/isSynthetic(var/skip_emote_update) return 0 /mob/proc/is_muzzled() diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index 3df55d2715..4679565c60 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -33,7 +33,7 @@ return L.mob_size <= MOB_MINISCULE return 0 -/mob/living/silicon/isSynthetic() +/mob/living/silicon/isSynthetic(var/skip_emote_update) return 1 /mob/proc/isMonkey()