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