mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-29 08:08:49 +01:00
Fixes body purist headrevs from getting mad at their implant by making them unaware of it (#74346)
## About The Pull Request Body purists no longer mind implants with a special trait for "hidden implants". This special trait is replacing the "syndicate implant" variable and was just used to hide certain implants from medical scanners. ## Why It's Good For The Game fixes #74180 ## Changelog 🆑 fix: Body purist headrevs having a bad time with their implant /🆑
This commit is contained in:
@@ -13,6 +13,8 @@
|
||||
#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)
|
||||
|
||||
// Flags for the bodypart_flags var on /obj/item/bodypart
|
||||
/// Bodypart cannot be dismembered or amputated
|
||||
|
||||
@@ -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."
|
||||
|
||||
@@ -367,7 +367,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 += "<span class='notice ml-1'>Detected cybernetic modifications:</span>\n"
|
||||
|
||||
@@ -388,7 +388,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"
|
||||
|
||||
@@ -373,7 +373,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)
|
||||
. += "<span class='notice ml-1'>Detected cybernetic modifications:</span>"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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))
|
||||
|
||||
Reference in New Issue
Block a user