mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-22 12:41:09 +01:00
[MODULAR] Adds synth versions of fix ears and fix eyes. (#3871)
## About The Pull Request Fixes blood being applied to hands when operating on a robotic bodypart. Adds a synthetic / mechanical version of fix ears and fix eyes. Adds sounds for fix ears and fix eyes. Mechanical versions too. Ears: Step by step: - screwdriver - open hatch (hand) - Wrench - multitool - Screwdriver - Wrench - Screwdriver Eyes: Step by step: - screwdriver - open hatch (hand) - multitool - screwdriver - screwdriver ## Why It's Good For The Game Robotic limbs don't have bone (for the most part) so having to saw into a synthetic's head to repair their ears made no sense. You shouldn't be getting blood splashed on your hands if there is no blood / its robotic to begin with! ## Proof Of Testing Loaded up, checked available surgeries, went through each surgery, it worked. Yippie. Made sure ear surgery and eye surgery for organics still worked. It did. Yippie 2x. <details> <summary>Screenshots/Videos</summary> Auditory Sensor Repair:  Optical Sensor Repair:  Preexisting sounds used for the surgery: Organic: Preop https://github.com/user-attachments/assets/575c4b28-2322-4876-9716-f8fe1ab6549d Failure https://github.com/user-attachments/assets/00995ef2-0100-40e1-8c24-133517a3cc5f Success https://github.com/user-attachments/assets/db62542c-ab54-4347-ac68-bd390a737ddf Mechanic: Prepop https://github.com/user-attachments/assets/4778fe6a-fc48-43ae-bed6-88a9b02578ac Failure https://github.com/user-attachments/assets/b8daa66d-b111-406f-89da-abdefbd7bb26 Success https://github.com/user-attachments/assets/c795a54d-c1b0-436e-9619-303d042a0567 </details> ## Changelog 🆑 add: Added sounds for eye and ear surgery. add: Added synthetic versions of fix ears and fix eyes (Repair Auditory Sensors and Repair Optical Sensors) fix: fixed blood being applied to a surgeon's hands when the patient's limb was robotic. /🆑
This commit is contained in:
@@ -245,11 +245,24 @@
|
||||
span_notice("[user] succeeds!"),
|
||||
span_notice("[user] finishes."),
|
||||
)
|
||||
// BUBBER EDIT: prevents blood from being splashed / added to the surgeon's gloves if the patient's limb / organ (eyes) are robotic
|
||||
if(ishuman(user))
|
||||
var/mob/living/carbon/human/surgeon = user
|
||||
surgeon.add_blood_DNA_to_items(target.get_blood_dna_list(), ITEM_SLOT_GLOVES)
|
||||
if (ishuman(target))
|
||||
var/mob/living/carbon/human/human_target = target
|
||||
var/obj/item/bodypart/target_bodypart = target.get_bodypart(target_zone)
|
||||
var/obj/item/organ/eyes/target_eyes = target.get_organ_slot(ORGAN_SLOT_EYES)
|
||||
if(target_bodypart)
|
||||
if(target_bodypart.bodytype != BODYTYPE_ROBOTIC && !HAS_TRAIT(human_target, TRAIT_NOBLOOD))
|
||||
surgeon.add_blood_DNA_to_items(target.get_blood_dna_list(), ITEM_SLOT_GLOVES)
|
||||
else if(target_eyes) // snowflake case for eyes
|
||||
if(target_eyes.organ_flags != ORGAN_ROBOTIC && !HAS_TRAIT(human_target, TRAIT_NOBLOOD))
|
||||
surgeon.add_blood_DNA_to_items(target.get_blood_dna_list(), ITEM_SLOT_GLOVES)
|
||||
else
|
||||
surgeon.add_blood_DNA_to_items(target.get_blood_dna_list(), ITEM_SLOT_GLOVES)
|
||||
else
|
||||
user.add_mob_blood(target)
|
||||
// BUBBER EDIT END
|
||||
return TRUE
|
||||
|
||||
/datum/surgery_step/proc/play_success_sound(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
/datum/surgery/ear_surgery
|
||||
requires_bodypart_type = BODYTYPE_ORGANIC | BODYTYPE_ALIEN | BODYTYPE_NANO | BODYTYPE_SHADOW
|
||||
|
||||
/datum/surgery/ear_surgery/mechanic
|
||||
name = "Auditory Sensor repair"
|
||||
requires_bodypart_type = BODYTYPE_ROBOTIC
|
||||
steps = list(
|
||||
/datum/surgery_step/mechanic_open,
|
||||
/datum/surgery_step/open_hatch,
|
||||
/datum/surgery_step/mechanic_unwrench,
|
||||
/datum/surgery_step/prepare_electronics,
|
||||
/datum/surgery_step/fix_ears/mechanic,
|
||||
/datum/surgery_step/mechanic_wrench,
|
||||
/datum/surgery_step/mechanic_close
|
||||
)
|
||||
|
||||
/datum/surgery_step/fix_ears
|
||||
preop_sound = 'sound/items/handling/surgery/hemostat1.ogg'
|
||||
success_sound = 'sound/items/handling/surgery/retractor2.ogg'
|
||||
failure_sound = 'sound/items/handling/surgery/organ2.ogg'
|
||||
|
||||
/datum/surgery_step/fix_ears/mechanic
|
||||
name = "repair auditory sensor (screwdriver/hemostat)"
|
||||
implements = list(
|
||||
TOOL_SCREWDRIVER = 100,
|
||||
TOOL_HEMOSTAT = 45,
|
||||
/obj/item/pen = 25)
|
||||
preop_sound = 'sound/items/taperecorder/tape_flip.ogg'
|
||||
success_sound = 'sound/items/taperecorder/taperecorder_close.ogg'
|
||||
failure_sound = 'sound/items/handling/disk_drop.ogg'
|
||||
@@ -0,0 +1,28 @@
|
||||
/datum/surgery/eye_surgery
|
||||
requires_bodypart_type = BODYTYPE_ORGANIC | BODYTYPE_ALIEN | BODYTYPE_NANO | BODYTYPE_SHADOW
|
||||
|
||||
/datum/surgery/eye_surgery/mechanic
|
||||
name = "Optical Sensor repair"
|
||||
requires_bodypart_type = BODYTYPE_ROBOTIC
|
||||
steps = list(
|
||||
/datum/surgery_step/mechanic_open,
|
||||
/datum/surgery_step/open_hatch,
|
||||
/datum/surgery_step/prepare_electronics,
|
||||
/datum/surgery_step/fix_eyes/mechanic,
|
||||
/datum/surgery_step/mechanic_close
|
||||
)
|
||||
|
||||
/datum/surgery_step/fix_eyes
|
||||
preop_sound = 'sound/items/handling/surgery/hemostat1.ogg'
|
||||
success_sound = 'sound/items/handling/surgery/retractor2.ogg'
|
||||
failure_sound = 'sound/items/handling/surgery/organ2.ogg'
|
||||
|
||||
/datum/surgery_step/fix_eyes/mechanic
|
||||
name = "repair optical sensor (screwdriver/hemostat)"
|
||||
implements = list(
|
||||
TOOL_SCREWDRIVER = 100,
|
||||
TOOL_HEMOSTAT = 45,
|
||||
/obj/item/pen = 25)
|
||||
preop_sound = 'sound/items/taperecorder/tape_flip.ogg'
|
||||
success_sound = 'sound/items/taperecorder/taperecorder_close.ogg'
|
||||
failure_sound = 'sound/items/handling/disk_drop.ogg'
|
||||
@@ -14,3 +14,4 @@
|
||||
return TRUE
|
||||
|
||||
return FALSE
|
||||
|
||||
|
||||
@@ -9634,6 +9634,8 @@
|
||||
#include "modular_zubbers\code\modules\surgery\advanced\trauma_surgery.dm"
|
||||
#include "modular_zubbers\code\modules\surgery\bodyparts\dismemberment.dm"
|
||||
#include "modular_zubbers\code\modules\surgery\bodyparts\species_parts\misc_bodyparts.dm"
|
||||
#include "modular_zubbers\code\modules\surgery\organs\ear_surgery.dm"
|
||||
#include "modular_zubbers\code\modules\surgery\organs\eye_surgery.dm"
|
||||
#include "modular_zubbers\code\modules\surgery\organs\external\antennae.dm"
|
||||
#include "modular_zubbers\code\modules\surgery\organs\external\wings.dm"
|
||||
#include "modular_zubbers\code\modules\surgery\organs\internal\ears\_ears.dm"
|
||||
|
||||
Reference in New Issue
Block a user