diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm
index e49da2374f..8d05c06977 100644
--- a/code/__DEFINES/traits.dm
+++ b/code/__DEFINES/traits.dm
@@ -109,6 +109,7 @@
#define TRAIT_NODEATH "nodeath"
#define TRAIT_NOHARDCRIT "nohardcrit"
#define TRAIT_NOSOFTCRIT "nosoftcrit"
+#define TRAIT_MINDSHIELD "mindshield"
#define TRAIT_DISSECTED "dissected"
#define TRAIT_FEARLESS "fearless"
#define TRAIT_UNSTABLE "unstable"
diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm
index df86756676..9501a56992 100644
--- a/code/modules/mob/mob_helpers.dm
+++ b/code/modules/mob/mob_helpers.dm
@@ -491,5 +491,5 @@ It's fairly easy to fix if dealing with single letters but not so much with comp
/mob/proc/common_trait_examine()
. = ""
- if(has_trait(TRAIT_DISSECTED))
+ if(HAS_TRAIT(src, TRAIT_DISSECTED))
. += "This body has been dissected and analyzed. It is no longer worth experimenting on.
"
\ No newline at end of file
diff --git a/code/modules/surgery/advanced/bioware/experimental_dissection.dm b/code/modules/surgery/advanced/bioware/experimental_dissection.dm
index 8406f2496e..77f6847832 100644
--- a/code/modules/surgery/advanced/bioware/experimental_dissection.dm
+++ b/code/modules/surgery/advanced/bioware/experimental_dissection.dm
@@ -12,7 +12,7 @@
/datum/surgery/advanced/experimental_dissection/can_start(mob/user, mob/living/carbon/target)
. = ..()
- if(target.has_trait(TRAIT_DISSECTED))
+ if(HAS_TRAIT(target, TRAIT_DISSECTED))
return FALSE
if(iscyborg(user))
return FALSE //robots cannot be creative
@@ -55,7 +55,7 @@
SSresearch.science_tech.add_point_list(list(TECHWEB_POINT_TYPE_GENERIC = check_value(target)))
var/obj/item/bodypart/L = target.get_bodypart(BODY_ZONE_CHEST)
target.apply_damage(80, BRUTE, L)
- target.add_trait(TRAIT_DISSECTED)
+ ADD_TRAIT(target, TRAIT_DISSECTED, "surgery")
return TRUE
/datum/surgery_step/dissection/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
@@ -65,5 +65,5 @@
SSresearch.science_tech.add_point_list(list(TECHWEB_POINT_TYPE_GENERIC = (check_value(target) * 0.2)))
var/obj/item/bodypart/L = target.get_bodypart(BODY_ZONE_CHEST)
target.apply_damage(80, BRUTE, L)
- target.add_trait(TRAIT_DISSECTED)
+ ADD_TRAIT(target, TRAIT_DISSECTED, "surgery")
return TRUE
\ No newline at end of file
diff --git a/code/modules/surgery/advanced/toxichealing.dm b/code/modules/surgery/advanced/toxichealing.dm
index a82287831c..10fd624f9d 100644
--- a/code/modules/surgery/advanced/toxichealing.dm
+++ b/code/modules/surgery/advanced/toxichealing.dm
@@ -11,7 +11,7 @@
/datum/surgery_step/toxichealing,
/datum/surgery_step/close)
- species = list(/mob/living/carbon/human, /mob/living/carbon/monkey)
+ target_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/monkey)
possible_locs = list(BODY_ZONE_CHEST)
requires_bodypart_type = 0
diff --git a/code/modules/surgery/embalming.dm b/code/modules/surgery/embalming.dm
index f74d864245..f7e64f12a0 100644
--- a/code/modules/surgery/embalming.dm
+++ b/code/modules/surgery/embalming.dm
@@ -5,7 +5,7 @@
/datum/surgery_step/embalming,
/datum/surgery_step/close)
- species = list(/mob/living/carbon/human, /mob/living/carbon/monkey)
+ target_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/monkey)
possible_locs = list(BODY_ZONE_CHEST)
requires_bodypart_type = 0
diff --git a/code/modules/surgery/helpers.dm b/code/modules/surgery/helpers.dm
index 73596466e5..f52bf97147 100644
--- a/code/modules/surgery/helpers.dm
+++ b/code/modules/surgery/helpers.dm
@@ -32,7 +32,7 @@
continue
else if(C && S.requires_bodypart) //mob with no limb in surgery zone when we need a limb
continue
- if(S.lying_required && !(M.mobility_flags & MOBILITY_STAND))
+ if(S.lying_required && !(M.lying))
continue
if(!S.can_start(user, M))
continue
@@ -62,7 +62,7 @@
return
else if(C && S.requires_bodypart)
return
- if(S.lying_required && !(M.mobility_flags & MOBILITY_STAND))
+ if(S.lying_required && !(M.lying))
return
if(!S.can_start(user, M))
return