diff --git a/code/datums/quirks/negative_quirks/prosthetic_organ.dm b/code/datums/quirks/negative_quirks/prosthetic_organ.dm index 37310da6b4d..2ea9a56fa2e 100644 --- a/code/datums/quirks/negative_quirks/prosthetic_organ.dm +++ b/code/datums/quirks/negative_quirks/prosthetic_organ.dm @@ -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 - */ + diff --git a/code/modules/mob/living/brain/brain_cybernetic.dm b/code/modules/mob/living/brain/brain_cybernetic.dm index 3e8d67e00a4..11cc1e759d8 100644 --- a/code/modules/mob/living/brain/brain_cybernetic.dm +++ b/code/modules/mob/living/brain/brain_cybernetic.dm @@ -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!")) diff --git a/modular_skyrat/modules/organs/code/brain.dm b/modular_skyrat/modules/organs/code/brain.dm index 5da730fe422..c27079adba7 100644 --- a/modular_skyrat/modules/organs/code/brain.dm +++ b/modular_skyrat/modules/organs/code/brain.dm @@ -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 - diff --git a/modular_zubbers/code/datums/quirks/negative_quirks/prosthetic_organ_bubber.dm b/modular_zubbers/code/datums/quirks/negative_quirks/prosthetic_organ_bubber.dm deleted file mode 100644 index af0a3c33f4d..00000000000 --- a/modular_zubbers/code/datums/quirks/negative_quirks/prosthetic_organ_bubber.dm +++ /dev/null @@ -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. \ - Removal of these organs is known to be dangerous to the patient as well as the practitioner." - 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 diff --git a/tgstation.dme b/tgstation.dme index 56c229f46d0..530e79ef52c 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -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"