Fixes SSMobs Shattering due to Proteans

Port of https://github.com/PolarisSS13/Polaris/pull/8073
This commit is contained in:
Unknown
2021-05-11 01:46:57 -04:00
committed by Shadow-Quill
parent 8d92f1037b
commit fd3a02f318
12 changed files with 14 additions and 20 deletions

View File

@@ -5,7 +5,7 @@
emote_message_3p = "is sweating heavily." emote_message_3p = "is sweating heavily."
/decl/emote/exertion/biological/check_user(mob/living/user) /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 ..()
return FALSE return FALSE
@@ -30,7 +30,7 @@
emote_message_3p = "USER's actuators whine with strain." emote_message_3p = "USER's actuators whine with strain."
/decl/emote/exertion/synthetic/check_user(mob/living/user) /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 ..()
return FALSE return FALSE

View File

@@ -1,11 +1,5 @@
/decl/emote/human
key = "vomit"
/decl/emote/human/check_user(var/mob/living/carbon/human/user) /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()) return istype(user)
/decl/emote/human/do_emote(var/mob/living/carbon/human/user)
user.vomit()
/decl/emote/human/deathgasp /decl/emote/human/deathgasp
key = "deathgasp" key = "deathgasp"

View File

@@ -4,7 +4,7 @@
emote_sound = 'sound/machines/twobeep.ogg' emote_sound = 'sound/machines/twobeep.ogg'
/decl/emote/audible/synth/check_user(var/mob/living/user) /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 ..()
return FALSE return FALSE

View File

@@ -4,7 +4,7 @@
/decl/emote/visible/vomit/do_emote(var/atom/user, var/extra_params) /decl/emote/visible/vomit/do_emote(var/atom/user, var/extra_params)
if(isliving(user)) if(isliving(user))
var/mob/living/M = user var/mob/living/M = user
if(!M.isSynthetic()) if(!M.isSynthetic(skip_emote_update = TRUE))
M.vomit() M.vomit()
return return
to_chat(src, SPAN_WARNING("You are unable to vomit.")) to_chat(src, SPAN_WARNING("You are unable to vomit."))

View File

@@ -172,7 +172,7 @@
return key return key
/decl/emote/proc/check_synthetic(var/mob/living/user) /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) if(!. && ishuman(user) && message_type == AUDIBLE_MESSAGE)
var/mob/living/carbon/human/H = user var/mob/living/carbon/human/H = user
if(H.should_have_organ(O_LUNGS)) if(H.should_have_organ(O_LUNGS))

View File

@@ -457,5 +457,5 @@
return 0 return 0
/mob/living/bot/isSynthetic() //Robots are synthetic, no? /mob/living/bot/isSynthetic(var/skip_emote_update) //Robots are synthetic, no?
return 1 return 1

View File

@@ -42,7 +42,7 @@
canmove = 0 canmove = 0
return canmove return canmove
/mob/living/carbon/brain/isSynthetic() /mob/living/carbon/brain/isSynthetic(var/skip_emote_update)
return istype(loc, /obj/item/device/mmi) return istype(loc, /obj/item/device/mmi)
/mob/living/carbon/brain/set_typing_indicator(var/state) /mob/living/carbon/brain/set_typing_indicator(var/state)

View File

@@ -33,7 +33,6 @@ var/list/_human_default_emotes = list(
/decl/emote/audible/grunt, /decl/emote/audible/grunt,
/decl/emote/audible/slap, /decl/emote/audible/slap,
/decl/emote/audible/crack, /decl/emote/audible/crack,
/decl/emote/human,
/decl/emote/human/deathgasp, /decl/emote/human/deathgasp,
/decl/emote/audible/giggle, /decl/emote/audible/giggle,
/decl/emote/audible/scream, /decl/emote/audible/scream,

View File

@@ -97,7 +97,7 @@
// This is the 'mechanical' check for synthetic-ness, not appearance // This is the 'mechanical' check for synthetic-ness, not appearance
// Returns the company that made the synthetic // Returns the company that made the synthetic
/mob/living/carbon/human/isSynthetic() /mob/living/carbon/human/isSynthetic(var/skip_emote_update)
if(synthetic) if(synthetic)
return synthetic //Your synthetic-ness is not going away return synthetic //Your synthetic-ness is not going away
var/obj/item/organ/external/T = organs_by_name[BP_TORSO] var/obj/item/organ/external/T = organs_by_name[BP_TORSO]
@@ -108,7 +108,8 @@
src.verbs += /mob/living/carbon/human/proc/setmonitor_state src.verbs += /mob/living/carbon/human/proc/setmonitor_state
var/datum/robolimb/R = all_robolimbs[T.model] var/datum/robolimb/R = all_robolimbs[T.model]
synthetic = R synthetic = R
update_emotes() if(!skip_emote_update)
update_emotes()
return synthetic return synthetic
return FALSE return FALSE

View File

@@ -18,7 +18,7 @@
poison_resist = 1.0 poison_resist = 1.0
shock_resist = -0.5 shock_resist = -0.5
/mob/living/simple_mob/mechanical/isSynthetic() /mob/living/simple_mob/mechanical/isSynthetic(var/skip_emote_update)
return TRUE return TRUE
/mob/living/simple_mob/mechanical/speech_bubble_appearance() /mob/living/simple_mob/mechanical/speech_bubble_appearance()

View File

@@ -1073,7 +1073,7 @@ mob/verb/shifteast()
if(src.throw_icon) if(src.throw_icon)
src.throw_icon.icon_state = "act_throw_on" src.throw_icon.icon_state = "act_throw_on"
/mob/proc/isSynthetic() /mob/proc/isSynthetic(var/skip_emote_update)
return 0 return 0
/mob/proc/is_muzzled() /mob/proc/is_muzzled()

View File

@@ -33,7 +33,7 @@
return L.mob_size <= MOB_MINISCULE return L.mob_size <= MOB_MINISCULE
return 0 return 0
/mob/living/silicon/isSynthetic() /mob/living/silicon/isSynthetic(var/skip_emote_update)
return 1 return 1
/mob/proc/isMonkey() /mob/proc/isMonkey()