mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-16 20:16:09 +00:00
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may not be viewable. --> <!-- You can view Contributing.MD for a detailed description of the pull request process. --> ## About The Pull Request ### Cybernetic variant surgeries Many of the surgeries able to be performed on organic limbs now have a version for robotic limbs. This includes; ### NONE OF THESE ARE SELF SURGERY OPTIONS - Organ repair surgeries - Stomach Pumps - Blood filtering - Autopsies - Lobotomies - Pacification - Lipoplasty - Amputation - Brainwashing (including the Sleeper Agent protocol) - Nerve Splicing and Nerve Grounding - Vein Threading and Vein Muscle Membrane - Ligament Hook and Ligament Reinforcement - Cortex Folding and Cortex Imprint These utilize mechanical steps and unique versions of their special step that uses mechanical tools. But many of these are able to be performed using standard surgery tools. In fact, I've improved the chances for doing surgery using standard tools for mechanical steps, recognizing that medical is often going to end up with synths in medbay whether we like it or not. ### NONE OF THESE ARE SELF SURGERY OPTIONS ### Organ Repair Surgeries correct EMP Failure Cascades When you repair a synthetic organ using the organ repair surgery, it reverses the effects of organ failure from an EMP. That is, the permanent failure of an organ. This allows for an alternative method to replacing that organ wholesale, which makes treating synths a lot easier for medical and EMPs less of a RNG death knell for people with cybernetic organs. However, it still needs the surgery to correct the error, so this isn't removing the danger of being EMP'd. ### Health Scanners report EMP Failure Cascades Scanning someone with a cybernetic organ now actually tells you that the organ is failing. Wow, why wasn't this already the case? ## Why It's Good For The Game #### Surgeries With the new techweb changes, augmented crew are becoming a lot, lot more common place, as are the implantation of cybernetics. These are required for research to be able to progress both medical and robotics technology. Therefore, those using these items are becoming a lot more common place. However, our medical system is quite blind to these people as of the moment. A lot of surgeries that are critical to recovering the injured/dead do not work on them outright, and medical can't resolve the problems that come with cybernetic organs entirely. This change hopefully modernizes our surgeries to account for these synthetic/cybernetically-altered crew members that neither forces people to choose between taking them to medical or robotics (they're often going to end up in medical regardless), and letting either department to function as a place for these crew to obtain medical services. Also gives them some cooler flavour to their surgeries, which I think is the most important part of this change. It actually feels like you're more than human without getting too much in the way of gameplay loops and over complicating things. Edit: To provide a bit of extra clarity on 'Why allow the advanced surgeries?' You can actually have the benefits of the advanced surgeries as an augmented humanoid. The problem is that it has to take place before you are augmented. They're not mutually exclusive, just slow to apply. There isn't much reason for there not to be a method to apply them to robotic people, particularly since augmentations are expected earlier in the round than advanced surgeries. #### EMP Failure and Detection This mechanic is probably what people hate the most about cybernetics. It is largely invisible, and forces you to have to go through a tedious process of organ replacement on what could be any one of your organs, since it wasn't being broadcast to the user which one is failing until you are possibly already doubling over. Now, it is easier for medical staff to identify if they have a cybernetically enhanced patient in the midst of a failure cascade, and have the means to resolve the problem. Robotics and cyborgs can too, since sometimes they'll have the means usually to do the same operations and detection. ## Changelog <!-- If your PR modifies aspects of the game that can be concretely observed by players or admins you should add a changelog. If your change does NOT meet this description, remove this section. Be sure to properly mark your PRs to prevent unnecessary GBP loss. You can read up on GBP and it's effects on PRs in the tgstation guides for contributors. Please note that maintainers freely reserve the right to remove and add tags should they deem it appropriate. You can attempt to finagle the system all you want, but it's best to shoot for clear communication right off the bat. --> 🆑 add: Robotic variants of many of the standard and advanced humanoid surgeries. You cannot perform self surgery with these surgeries. balance: It is easier to do robotic surgeries with normal surgery tools. qol: It is now possible to detect EMP organ failure cascades via health scanners. qol: EMP organ failure cascades can be reversed by doing organ repair surgeries targeting the failing organ. /🆑 <!-- Both 🆑's are required for the changelog to work! You can put your name to the right of the first 🆑 if you want to overwrite your GitHub username as author ingame. --> <!-- You can use multiple of the same prefix (they're only used for the icon ingame) and delete the unneeded ones. Despite some of the tags, changelogs should generally represent how a player might be affected by the changes rather than a summary of the PR's contents. --> --------- Co-authored-by: Jacquerel <hnevard@gmail.com>
92 lines
3.8 KiB
Plaintext
92 lines
3.8 KiB
Plaintext
/obj/item/disk/surgery/sleeper_protocol
|
|
name = "Suspicious Surgery Disk"
|
|
desc = "The disk provides instructions on how to turn someone into a sleeper agent for the Syndicate."
|
|
surgeries = list(
|
|
/datum/surgery/advanced/brainwashing_sleeper,
|
|
/datum/surgery/advanced/brainwashing_sleeper/mechanic,
|
|
)
|
|
|
|
/datum/surgery/advanced/brainwashing_sleeper
|
|
name = "Sleeper Agent Surgery"
|
|
desc = "A surgical procedure which implants the sleeper protocol into the patient's brain, making it their absolute priority. It can be cleared using a mindshield implant."
|
|
requires_bodypart_type = NONE
|
|
possible_locs = list(BODY_ZONE_HEAD)
|
|
steps = list(
|
|
/datum/surgery_step/incise,
|
|
/datum/surgery_step/retract_skin,
|
|
/datum/surgery_step/saw,
|
|
/datum/surgery_step/clamp_bleeders,
|
|
/datum/surgery_step/brainwash/sleeper_agent,
|
|
/datum/surgery_step/close,
|
|
)
|
|
|
|
/datum/surgery/advanced/brainwashing_sleeper/mechanic
|
|
name = "Sleeper Agent Reprogramming"
|
|
desc = "Malware which directly implants the sleeper protocol directive into the robotic patient's operating system, making it their absolute priority. It can be cleared using a mindshield implant."
|
|
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/brainwash/sleeper_agent/mechanic,
|
|
/datum/surgery_step/mechanic_wrench,
|
|
/datum/surgery_step/mechanic_close,
|
|
)
|
|
|
|
/datum/surgery/advanced/brainwashing_sleeper/can_start(mob/user, mob/living/carbon/target)
|
|
. = ..()
|
|
if(!.)
|
|
return FALSE
|
|
var/obj/item/organ/internal/brain/target_brain = target.get_organ_slot(ORGAN_SLOT_BRAIN)
|
|
if(!target_brain)
|
|
return FALSE
|
|
return TRUE
|
|
|
|
/datum/surgery_step/brainwash/sleeper_agent
|
|
time = 25 SECONDS
|
|
var/static/list/possible_objectives = list(
|
|
"You love the Syndicate.",
|
|
"Do not trust Nanotrasen.",
|
|
"The Captain is a lizardperson.",
|
|
"Nanotrasen isn't real.",
|
|
"They put something in the food to make you forget.",
|
|
"You are the only real person on the station.",
|
|
"Things would be a lot better on the station if more people were screaming, someone should do something about that.",
|
|
"The people in charge around here have only ill intentions for the crew.",
|
|
"Help the crew? What have they ever done for you anyways?",
|
|
"Does your bag feel lighter? I bet those guys in Security stole something from it. Go get it back.",
|
|
"Command is incompetent, someone with some REAL authority should take over around here.",
|
|
"The cyborgs and the AI are stalking you. What are they planning?",
|
|
)
|
|
|
|
/datum/surgery_step/brainwash/sleeper_agent/mechanic
|
|
name = "reprogram (multitool)"
|
|
implements = list(
|
|
TOOL_MULTITOOL = 85,
|
|
TOOL_HEMOSTAT = 50,
|
|
TOOL_WIRECUTTER = 50,
|
|
/obj/item/stack/package_wrap = 35,
|
|
/obj/item/stack/cable_coil = 15)
|
|
preop_sound = 'sound/surgery/hemostat1.ogg'
|
|
success_sound = 'sound/surgery/hemostat1.ogg'
|
|
|
|
/datum/surgery_step/brainwash/sleeper_agent/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
|
objective = pick(possible_objectives)
|
|
display_results(
|
|
user,
|
|
target,
|
|
span_notice("You begin to brainwash [target]..."),
|
|
span_notice("[user] begins to fix [target]'s brain."),
|
|
span_notice("[user] begins to perform surgery on [target]'s brain."),
|
|
)
|
|
display_pain(target, "Your head pounds with unimaginable pain!") // Same message as other brain surgeries
|
|
|
|
/datum/surgery_step/brainwash/sleeper_agent/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE)
|
|
if(target.stat == DEAD)
|
|
to_chat(user, span_warning("They need to be alive to perform this surgery!"))
|
|
return FALSE
|
|
. = ..()
|
|
if(!.)
|
|
return
|
|
target.gain_trauma(new /datum/brain_trauma/mild/phobia/conspiracies(), TRAUMA_RESILIENCE_LOBOTOMY)
|