mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-22 04:30:44 +01:00
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:
@@ -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!"))
|
||||
|
||||
@@ -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
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user