reverts specifically the prosthetic organ part of the cyber brain update + 1 minor change (#5333)

## About The Pull Request
That part wasn't finished. It won't! The other change just makes it so
non-vox aug brains can die from emps.

## Proof Of Testing
it didn't work then, it's gone now

## Changelog

🆑
balance: vox get to keep their min brain health threshold from emps,
removed it from roundstart aug brains.
del: surplus cybernetic brain is gone again
/🆑
This commit is contained in:
aKromatopzia
2026-03-23 13:19:48 +01:00
committed by GitHub
parent b124e6f5f3
commit 67f3e336f1
5 changed files with 7 additions and 111 deletions
@@ -1,5 +1,4 @@
// BUBBER EDIT: moved to modular_zubbers\code\datums\quirks\negative_quirks\prosthetic_organ_bubber.dm
/* /datum/quirk/prosthetic_organ
/datum/quirk/prosthetic_organ
name = "Prosthetic Organ"
desc = "An accident caused you to lose one of your organs. Because of this, you now have a surplus prosthetic!"
icon = FA_ICON_LUNGS
@@ -73,4 +72,4 @@
if(old_organ)
old_organ.Insert(quirk_holder, special = TRUE)
old_organ = null
*/
@@ -5,7 +5,7 @@
organ_flags = ORGAN_ROBOTIC | ORGAN_VITAL | ORGAN_PROMINENT //BUBBER EDIT - Added ORGAN_PROMINENT
failing_desc = "seems to be broken, and will not work without repairs."
shade_color = null
var/emp_dmg_mult = 1 //BUBBER EDIT - Variable multiplier for damage from EMPs. Note the base damage is 20.
var/emp_dmg_mult = 1 //BUBBER EDIT - Variable multiplier for damage from EMPs. Note the base damage is 20/10.
var/emp_dmg_max = 999 ///BUBBER EDIT - Threshold before the organ simply stops taking damage from EMPs. Defaults to kill
/* BUBBER EDIT - Reformatted this to change text based on flags
@@ -43,6 +43,7 @@
/* BUBBER EDIT - Expands this proc for hybrid brain_size.
ORIGINAL:
/obj/item/organ/brain/cybernetic/check_for_repair(obj/item/item, mob/user)
if (item.tool_behaviour == TOOL_MULTITOOL) //attempt to repair the brain
if (brainmob?.health <= HEALTH_THRESHOLD_DEAD) //if the brain is fucked anyway, do nothing
to_chat(user, span_warning("[src] is far too damaged, there's nothing else we can do for it!"))
+3 -4
View File
@@ -8,7 +8,6 @@
icon_state = "brain-c"
organ_flags = ORGAN_ORGANIC | ORGAN_ROBOTIC | ORGAN_VITAL | ORGAN_PROMINENT //it's a bit weird to be both organic and robotic, but yk
emp_dmg_mult = 1.5 //Note that the base damage is 20/10
emp_dmg_max = 150
//Extra effects
/obj/item/organ/brain/cybernetic/cortical/emp_act(severity)
@@ -33,12 +32,13 @@
desc = "A brain which has been in some part mechanized. The components are seamlessly integrated into the flesh, which protect that grey matter from biological processes."
organ_flags = ORGAN_ROBOTIC | ORGAN_VITAL | ORGAN_PROMINENT //Vox brains weren't organic originally. See no reason to change it
emp_dmg_mult = 1 //20/10 is the voxs' original damage factor
emp_dmg_max = 150 //this was originally in vox stuffs, as well
//surplus; Used in prosthetic organ quirk
//surplus; unused
//note that this is a direct child of the android brain, and is thus not organic
/obj/item/organ/brain/cybernetic/surplus
name = "surplus augmented brain"
desc = "A mostly-mechanized brain. Not much of the flesh remains. Does this make them an IPC? "
desc = "A mostly-mechanized brain. Not much of the flesh remains. Does this make them an IPC?"
maxHealth = BRAIN_DAMAGE_DEATH*0.75 //200 -> 150, per original intention
emp_dmg_mult = 1.5 //Note that the base damage is 20/10
emp_dmg_max = 999
@@ -46,4 +46,3 @@
/obj/item/organ/brain/cybernetic/surplus/Initialize(mapload)
. = ..()
AddElement(/datum/element/dangerous_organ_removal, /*surgical = */ TRUE, /*annihilate = */ FALSE) //annihilate just means it wont qdel when removed
@@ -1,102 +0,0 @@
/datum/quirk/prosthetic_organ
name = "Prosthetic Organ"
desc = "An accident caused you to lose one of your organs. Because of this, you now have a surplus prosthetic!"
icon = FA_ICON_LUNGS
value = -3
medical_record_text = "During physical examination, patient was found to have a low-budget prosthetic organ. \
<b>Removal of these organs is known to be dangerous to the patient as well as the practitioner.</b>"
hardcore_value = 3
mail_goodies = list(/obj/item/storage/organbox)
/// The slot to replace, in string form
var/slot_string = "organ"
/// The original organ from before the prosthetic was applied
var/obj/item/organ/old_organ
/datum/quirk_constant_data/prosthetic_organ
associated_typepath = /datum/quirk/prosthetic_organ
customization_options = list(/datum/preference/choiced/prosthetic_organ)
/datum/quirk/prosthetic_organ/add_unique(client/client_source)
var/mob/living/carbon/human/human_holder = quirk_holder
var/static/list/organ_slots = list(
ORGAN_SLOT_HEART,
ORGAN_SLOT_LUNGS,
ORGAN_SLOT_LIVER,
ORGAN_SLOT_STOMACH,
ORGAN_SLOT_BRAIN,
)
var/preferred_organ = GLOB.organ_choice[client_source?.prefs?.read_preference(/datum/preference/choiced/prosthetic_organ)]
if(isnull(preferred_organ)) //Client is gone or they chose a random prosthetic
preferred_organ = GLOB.organ_choice[pick(GLOB.organ_choice)]
var/list/possible_organ_slots = organ_slots.Copy()
if(!CAN_HAVE_BLOOD(human_holder))
possible_organ_slots -= ORGAN_SLOT_HEART
if(HAS_TRAIT(human_holder, TRAIT_NOBREATH))
possible_organ_slots -= ORGAN_SLOT_LUNGS
if(HAS_TRAIT(human_holder, TRAIT_LIVERLESS_METABOLISM))
possible_organ_slots -= ORGAN_SLOT_LIVER
if(HAS_TRAIT(human_holder, TRAIT_NOHUNGER))
possible_organ_slots -= ORGAN_SLOT_STOMACH
if(HAS_TRAIT(human_holder, TRAIT_BRAINLESS_CARBON))
possible_organ_slots -= ORGAN_SLOT_BRAIN
if(!length(organ_slots)) //what the hell
return
var/organ_slot = pick(possible_organ_slots)
if(preferred_organ in possible_organ_slots)
organ_slot = preferred_organ
var/obj/item/organ/prosthetic
switch(organ_slot)
if(ORGAN_SLOT_HEART)
prosthetic = new /obj/item/organ/heart/cybernetic/surplus
slot_string = "heart"
if(ORGAN_SLOT_LUNGS)
prosthetic = new /obj/item/organ/lungs/cybernetic/surplus
slot_string = "lungs"
if(ORGAN_SLOT_LIVER)
prosthetic = new /obj/item/organ/liver/cybernetic/surplus
slot_string = "liver"
if(ORGAN_SLOT_STOMACH)
prosthetic = new /obj/item/organ/stomach/cybernetic/surplus
slot_string = "stomach"
if(ORGAN_SLOT_BRAIN)
prosthetic = new /obj/item/organ/brain/cybernetic/surplus
slot_string = "brain"
medical_record_text = "During physical examination, patient was found to have a low-budget prosthetic [slot_string]. \
Removal of these organs is known to be dangerous to the patient as well as the practitioner."
old_organ = human_holder.get_organ_slot(organ_slot)
prosthetic.Insert(human_holder, special = TRUE)
old_organ.moveToNullspace()
STOP_PROCESSING(SSobj, old_organ)
/datum/quirk/prosthetic_organ/post_add()
to_chat(quirk_holder, span_bolddanger("Your [slot_string] has been replaced with a surplus organ. It is weak and highly unstable. \
Additionally, any EMP will make it cease full functions for a time."))
/datum/quirk/prosthetic_organ/remove()
var/mob/living/carbon/human/human_holder = quirk_holder
if(old_organ)
if(old_organ.slot == AUGMENT_SLOT_BRAIN) //there's no way this works again
var/obj/item/organ/brain/current_brain = human_holder.get_organ_slot(ORGAN_SLOT_BRAIN)
var/obj/item/organ/brain/insert_brain = old_organ //less confusing name
var/datum/mind/holder_mind = human_holder.mind
insert_brain.modular_persistence = current_brain.modular_persistence
insert_brain.modular_persistence?.owner = insert_brain
current_brain.modular_persistence = null
insert_brain.copy_traits_from(current_brain)
insert_brain.Insert(human_holder, special = TRUE)
current_brain.moveToNullspace() // Maybe this works also lmao
STOP_PROCESSING(SSobj, current_brain)
if(!holder_mind)
return
holder_mind.transfer_to(human_holder, TRUE)
else
old_organ.Insert(quirk_holder, special = TRUE)
old_organ = null
-1
View File
@@ -8968,7 +8968,6 @@
#include "modular_zubbers\code\datums\quirks\negative_quirks\nerve_staple.dm"
#include "modular_zubbers\code\datums\quirks\negative_quirks\numb_override.dm"
#include "modular_zubbers\code\datums\quirks\negative_quirks\permanent_limp.dm"
#include "modular_zubbers\code\datums\quirks\negative_quirks\prosthetic_organ_bubber.dm"
#include "modular_zubbers\code\datums\quirks\negative_quirks\sensitive_snout.dm"
#include "modular_zubbers\code\datums\quirks\negative_quirks\sol_weakness.dm"
#include "modular_zubbers\code\datums\quirks\neutral_quirks\bald.dm"