diff --git a/code/__DEFINES/surgery.dm b/code/__DEFINES/surgery.dm index 76a0bb9d7ec..8cfb61fe63b 100644 --- a/code/__DEFINES/surgery.dm +++ b/code/__DEFINES/surgery.dm @@ -13,9 +13,11 @@ #define ORGAN_SYNTHETIC_EMP (1<<5) ///Can't be removed using surgery #define ORGAN_UNREMOVABLE (1<<6) +/// Can't be seen by scanners, doesn't anger body purists +#define ORGAN_HIDDEN (1<<7) // SKYRAT EDIT START - Customization /// Synthetic organ granted by a species (for use for organ replacements between species) -#define ORGAN_SYNTHETIC_FROM_SPECIES (1<<7) +#define ORGAN_SYNTHETIC_FROM_SPECIES (1<<8) // SKYRAT EDIT END // Flags for the bodypart_flags var on /obj/item/bodypart diff --git a/code/datums/quirks/negative_quirks.dm b/code/datums/quirks/negative_quirks.dm index 6015545d078..6369d6d0891 100644 --- a/code/datums/quirks/negative_quirks.dm +++ b/code/datums/quirks/negative_quirks.dm @@ -1110,7 +1110,7 @@ if(!IS_ORGANIC_LIMB(limb)) cybernetics_level++ for(var/obj/item/organ/organ as anything in owner.organs) - if(organ.organ_flags & ORGAN_SYNTHETIC) + if((organ.organ_flags & ORGAN_SYNTHETIC || organ.status == ORGAN_ROBOTIC) && !(organ.organ_flags & ORGAN_HIDDEN)) cybernetics_level++ update_mood() @@ -1121,13 +1121,13 @@ /datum/quirk/body_purist/proc/on_organ_gain(datum/source, obj/item/organ/new_organ, special) SIGNAL_HANDLER - if(new_organ.organ_flags & ORGAN_SYNTHETIC || new_organ.status == ORGAN_ROBOTIC) //why the fuck are there 2 of them + if((new_organ.organ_flags & ORGAN_SYNTHETIC || new_organ.status == ORGAN_ROBOTIC) && !(new_organ.organ_flags & ORGAN_HIDDEN)) //why the fuck are there 2 of them cybernetics_level++ update_mood() /datum/quirk/body_purist/proc/on_organ_lose(datum/source, obj/item/organ/old_organ, special) SIGNAL_HANDLER - if(old_organ.organ_flags & ORGAN_SYNTHETIC || old_organ.status == ORGAN_ROBOTIC) + if((old_organ.organ_flags & ORGAN_SYNTHETIC || old_organ.status == ORGAN_ROBOTIC) && !(old_organ.organ_flags & ORGAN_HIDDEN)) cybernetics_level-- update_mood() @@ -1142,6 +1142,7 @@ if(!IS_ORGANIC_LIMB(old_limb)) cybernetics_level-- update_mood() + /datum/quirk/cursed name = "Cursed" desc = "You are cursed with bad luck. You are much more likely to suffer from accidents and mishaps. When it rains, it pours." diff --git a/code/game/objects/items/devices/scanners/health_analyzer.dm b/code/game/objects/items/devices/scanners/health_analyzer.dm index 213aaa7dffb..f8ece4b9cf5 100644 --- a/code/game/objects/items/devices/scanners/health_analyzer.dm +++ b/code/game/objects/items/devices/scanners/health_analyzer.dm @@ -372,7 +372,7 @@ var/mob/living/carbon/carbontarget = target var/cyberimp_detect for(var/obj/item/organ/internal/cyberimp/CI in carbontarget.organs) - if(CI.status == ORGAN_ROBOTIC && !CI.syndicate_implant) + if(CI.status == ORGAN_ROBOTIC && !(CI.organ_flags & ORGAN_HIDDEN)) cyberimp_detect += "[!cyberimp_detect ? "[CI.get_examine_string(user)]" : ", [CI.get_examine_string(user)]"]" if(cyberimp_detect) render_list += "Detected cybernetic modifications:\n" diff --git a/code/modules/antagonists/revolution/revolution.dm b/code/modules/antagonists/revolution/revolution.dm index 7186ce845a6..8850d2868d2 100644 --- a/code/modules/antagonists/revolution/revolution.dm +++ b/code/modules/antagonists/revolution/revolution.dm @@ -406,7 +406,11 @@ if(give_hud) var/obj/item/organ/internal/cyberimp/eyes/hud/security/syndicate/S = new() S.Insert(C) - to_chat(C, "Your eyes have been implanted with a cybernetic security HUD which will help you keep track of who is mindshield-implanted, and therefore unable to be recruited.") + if(C.get_quirk(/datum/quirk/body_purist)) + to_chat(C, "Being a body purist, you would never accept cybernetic implants. Upon hearing this, your employers signed you up for a special program, which... for \ + some odd reason, you just can't remember... either way, the program must have worked, because you have gained the ability to keep track of who is mindshield-implanted, and therefore unable to be recruited.") + else + to_chat(C, "Your eyes have been implanted with a cybernetic security HUD which will help you keep track of who is mindshield-implanted, and therefore unable to be recruited.") /datum/team/revolution name = "\improper Revolution" diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index 8222c90d426..31381eed30d 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -415,7 +415,7 @@ if(HAS_TRAIT(user, TRAIT_MEDICAL_HUD)) var/cyberimp_detect for(var/obj/item/organ/internal/cyberimp/CI in organs) - if(CI.status == ORGAN_ROBOTIC && !CI.syndicate_implant) + if(CI.status == ORGAN_ROBOTIC && !(CI.organ_flags & ORGAN_HIDDEN)) cyberimp_detect += "[!cyberimp_detect ? "[CI.get_examine_string(user)]" : ", [CI.get_examine_string(user)]"]" if(cyberimp_detect) . += "Detected cybernetic modifications:" diff --git a/code/modules/surgery/organs/augments_eyes.dm b/code/modules/surgery/organs/augments_eyes.dm index 3e9f48e37ab..21422828f24 100644 --- a/code/modules/surgery/organs/augments_eyes.dm +++ b/code/modules/surgery/organs/augments_eyes.dm @@ -53,4 +53,4 @@ /obj/item/organ/internal/cyberimp/eyes/hud/security/syndicate name = "Contraband Security HUD Implant" desc = "A Cybersun Industries brand Security HUD Implant. These illicit cybernetic eye implants will display a security HUD over everything you see." - syndicate_implant = TRUE + organ_flags = ORGAN_SYNTHETIC | ORGAN_HIDDEN diff --git a/code/modules/surgery/organs/augments_internal.dm b/code/modules/surgery/organs/augments_internal.dm index 2cb1e29e4e2..0ae0cbc962a 100644 --- a/code/modules/surgery/organs/augments_internal.dm +++ b/code/modules/surgery/organs/augments_internal.dm @@ -7,7 +7,6 @@ organ_flags = ORGAN_SYNTHETIC var/implant_color = "#FFFFFF" var/implant_overlay - var/syndicate_implant = FALSE //Makes the implant invisible to health analyzers and medical HUDs. /obj/item/organ/internal/cyberimp/New(mob/implanted_mob = null) if(iscarbon(implanted_mob))