diff --git a/code/modules/mob/_modifiers/cloning.dm b/code/modules/mob/_modifiers/cloning.dm
index c3f8827f7b6..76aeabd50c2 100644
--- a/code/modules/mob/_modifiers/cloning.dm
+++ b/code/modules/mob/_modifiers/cloning.dm
@@ -61,3 +61,66 @@
outgoing_melee_damage_percent = 0.5 //50% less outgoing melee damage.
attack_speed_percent = 1.2 //20% slower attack speed.
+
+//////////////////////
+//Surgical Modifiers// As of writing, limited to the 'Frankenstein' modifier.
+//////////////////////
+
+/datum/modifier/franken_sickness
+ name = "surgically attached brain"
+ desc = "You feel weak, as your central nervous system is still recovering from being repaired."
+
+ on_created_text = "You feel... off, and your head hurts."
+ on_expired_text = "You feel some strength returning to you."
+
+ max_health_percent = 0.9 // -10% max health.
+ incoming_damage_percent = 1.1 // 10% more incoming damage.
+ incoming_hal_damage_percent = 1.5 // 50% more halloss damage, stacking on the previous 1.1 widespread.
+ outgoing_melee_damage_percent = 0.9 // 10% less melee damage.
+ disable_duration_percent = 1.25 // Stuns last 25% longer.
+ incoming_healing_percent = 0.9 // -10% to all healing
+ slowdown = 0.5 // Slower, by a smidge.
+ evasion = -5 // 5% easier to hit.
+ accuracy_dispersion = 1 // Inaccurate trait level of tile dispersion.
+
+ stacks = MODIFIER_STACK_ALLOWED //You have somehow had the surgery done twice. Your brain is very, very fucked, but I won't say no.
+
+/datum/modifier/franken_sickness/can_apply(var/mob/living/L)
+ if(!ishuman(L))
+ return FALSE
+ if(L.isSynthetic()) //Nonhumans and Machines cannot be Frankensteined, at this time.
+ return FALSE
+
+ return ..()
+
+/datum/modifier/franken_sickness/tick()
+ if(holder.stat != DEAD)
+ if(istype(holder, /mob/living/carbon/human))
+ var/mob/living/carbon/human/F = holder
+ if(F.can_defib)
+ F.can_defib = 0
+
+/datum/modifier/franken_sickness/on_expire() //Not permanent, but its child is.
+ holder.add_modifier(/datum/modifier/franken_recovery, 0)
+
+/datum/modifier/franken_recovery //When Franken_Sickness expires, this will be permanently applied in its place.
+ name = "neural recovery"
+ desc = "You feel out of touch, as your central nervous system is still recovering from being repaired."
+
+ on_created_text = "You feel... off. Everything is fuzzy."
+ on_expired_text = "You feel your senses returning to you."
+
+ incoming_hal_damage_percent = 1.5 // 50% more halloss damage.
+ disable_duration_percent = 1.25 // Stuns last 25% longer.
+ evasion = -5 // 5% easier to hit.
+ accuracy_dispersion = 1 // Inaccurate trait level of tile dispersion.
+
+ stacks = MODIFIER_STACK_ALLOWED
+
+/datum/modifier/franken_recovery/can_apply(var/mob/living/L)
+ if(!ishuman(L))
+ return FALSE
+ if(L.isSynthetic()) //Nonhumans and Machines cannot be Frankensteined, at this time.
+ return FALSE
+
+ return ..()
diff --git a/code/modules/surgery/neck.dm b/code/modules/surgery/neck.dm
new file mode 100644
index 00000000000..6cd347586b2
--- /dev/null
+++ b/code/modules/surgery/neck.dm
@@ -0,0 +1,247 @@
+//Procedures in this file: Brain-stem reattachment surgery.
+//////////////////////////////////////////////////////////////////////
+// BRAINSTEM SURGERY //
+//////////////////////////////////////////////////////////////////////
+
+/datum/surgery_step/brainstem
+ priority = 2
+ req_open = 1
+ can_infect = 1
+
+/datum/surgery_step/brainstem/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ if (!hasorgans(target))
+ return 0
+ var/obj/item/organ/external/affected = target.get_organ(target_zone)
+ if (!affected || (affected.robotic >= ORGAN_ROBOT) || !(affected.open >= 3))
+ return 0
+ return target_zone == BP_HEAD
+
+/////////////////////////////
+// Blood Vessel Mending
+/////////////////////////////
+
+/datum/surgery_step/brainstem/mend_vessels
+ priority = 1
+ allowed_tools = list(
+ /obj/item/weapon/surgical/FixOVein = 100,
+ /obj/item/stack/nanopaste = 50,
+ /obj/item/stack/cable_coil = 40,
+ /obj/item/device/assembly/mousetrap = 5)
+
+ min_duration = 80
+ max_duration = 100
+
+/datum/surgery_step/brainstem/mend_vessels/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ return ..() && target_zone == BP_HEAD && target.op_stage.brainstem == 0
+
+/datum/surgery_step/brainstem/mend_vessels/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ user.visible_message("[user] starts to mend the blood vessels on [target]'s brainstem with \the [tool].", \
+ "You start to mend the blood vessels on [target]'s brainstem with \the [tool].")
+ ..()
+
+/datum/surgery_step/brainstem/mend_vessels/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ user.visible_message("[user] has mended the blood vessels on [target]'s brainstem with \the [tool]." , \
+ " You have mended the blood vessels on [target]'s brainstem with \the [tool].",)
+ target.op_stage.brainstem = 1
+
+/datum/surgery_step/brainstem/mend_vessels/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ var/obj/item/organ/external/affected = target.get_organ(target_zone)
+ user.visible_message("[user]'s hand slips, tearing at [target]'s brainstem with \the [tool]!" , \
+ "Your hand slips, tearing at [target]'s brainstem with \the [tool]!" )
+ affected.createwound(PIERCE, 10)
+ target.AdjustParalysis(10)
+
+/////////////////////////////
+// Bone Drilling
+/////////////////////////////
+
+/datum/surgery_step/brainstem/drill_vertebrae
+ priority = 3 //Do this instead of expanding the skull cavity
+ allowed_tools = list(
+ /obj/item/weapon/surgical/surgicaldrill = 100,
+ /obj/item/weapon/screwdriver = 75,
+ /obj/item/weapon/melee/changeling/arm_blade = 15,
+ /obj/item/weapon/pickaxe = 5)
+
+ min_duration = 200 //Very. Very. Carefully.
+ max_duration = 300
+
+/datum/surgery_step/brainstem/drill_vertebrae/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ return ..() && target_zone == BP_HEAD && target.op_stage.brainstem == 1
+
+/datum/surgery_step/brainstem/drill_vertebrae/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ user.visible_message("[user] starts to drill around [target]'s brainstem with \the [tool].", \
+ "You start to drill around [target]'s brainstem with \the [tool].")
+ ..()
+
+/datum/surgery_step/brainstem/drill_vertebrae/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ var/obj/item/organ/external/affected = target.get_organ(target_zone)
+ user.visible_message("[user] has drilled around [target]'s brainstem with \the [tool]." , \
+ " You have drilled around [target]'s brainstem with \the [tool].",)
+ target.AdjustParalysis(10) //We're getting Invasive here. This only ticks down when the person is alive, so it's a good side-effect for this step. Rattling the braincase with a drill is not optimal.
+ target.op_stage.brainstem = 2
+ affected.fracture() //Does not apply damage, simply breaks it if it wasn't already. Doesn't stop a defib on its own.
+
+/datum/surgery_step/brainstem/drill_vertebrae/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ var/obj/item/organ/external/affected = target.get_organ(target_zone)
+ user.visible_message("[user]'s hand slips, shredding [target]'s brainstem with \the [tool]!" , \
+ "Your hand slips, shredding [target]'s brainstem with \the [tool]!" )
+ affected.createwound(PIERCE, 10)
+ target.AdjustParalysis(15)
+ spawn()
+ for(var/obj/item/organ/internal/brain/O in affected.internal_organs)
+ O.take_damage(rand(5,10))
+
+/////////////////////////////
+// Bone Cleaning
+/////////////////////////////
+
+/datum/surgery_step/brainstem/clean_chips
+ priority = 3 //Do this instead of picking around for implants.
+ allowed_tools = list(
+ /obj/item/weapon/surgical/hemostat = 100,
+ /obj/item/weapon/wirecutters = 60,
+ /obj/item/weapon/melee/changeling/claw = 40) //Surprisingly, claws are kind of okay at picking things out.
+
+ min_duration = 90
+ max_duration = 120
+
+/datum/surgery_step/brainstem/clean_chips/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ return ..() && target_zone == BP_HEAD && target.op_stage.brainstem == 2
+
+/datum/surgery_step/brainstem/clean_chips/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ user.visible_message("[user] starts to pick around [target]'s brainstem for bone chips with \the [tool].", \
+ "You start to pick around [target]'s brainstem for bone chips with \the [tool].")
+ ..()
+
+/datum/surgery_step/brainstem/clean_chips/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ user.visible_message("[user] has cleaned around [target]'s brainstem with \the [tool]." , \
+ " You have cleaned around [target]'s brainstem with \the [tool].",)
+ target.AdjustParalysis(10) //Still invasive.
+ target.op_stage.brainstem = 3
+
+/datum/surgery_step/brainstem/clean_chips/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ var/obj/item/organ/external/affected = target.get_organ(target_zone)
+ user.visible_message("[user]'s hand slips, gouging [target]'s brainstem with \the [tool]!" , \
+ "Your hand slips, gouging [target]'s brainstem with \the [tool]!" )
+ affected.createwound(CUT, 5)
+ target.AdjustParalysis(10)
+ spawn()
+ for(var/obj/item/organ/internal/brain/O in affected.internal_organs) //If there's more than one...
+ O.take_damage(rand(1,10))
+
+/////////////////////////////
+// Spinal Cord Repair
+/////////////////////////////
+
+/datum/surgery_step/brainstem/mend_cord
+ priority = 1 //Do this after IB.
+ allowed_tools = list(
+ /obj/item/weapon/surgical/FixOVein = 100,
+ /obj/item/stack/nanopaste = 50,
+ /obj/item/stack/cable_coil = 40,
+ /obj/item/device/assembly/mousetrap = 5)
+
+ min_duration = 100
+ max_duration = 200
+
+/datum/surgery_step/brainstem/mend_cord/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ return ..() && target_zone == BP_HEAD && target.op_stage.brainstem == 3
+
+/datum/surgery_step/brainstem/mend_cord/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ user.visible_message("[user] starts to fuse [target]'s spinal cord with \the [tool].", \
+ "You start to fuse [target]'s spinal cord with \the [tool].")
+ ..()
+
+/datum/surgery_step/brainstem/mend_cord/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ user.visible_message("[user] has fused [target]'s spinal cord with \the [tool]." , \
+ " You have fused [target]'s spinal cord with \the [tool].",)
+ target.op_stage.brainstem = 4
+ target.AdjustParalysis(5)
+ target.add_modifier(/datum/modifier/franken_sickness, 20 MINUTES)
+
+/datum/surgery_step/brainstem/mend_cord/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ var/obj/item/organ/external/affected = target.get_organ(target_zone)
+ user.visible_message("[user]'s hand slips, tearing at [target]'s spinal cord with \the [tool]!" , \
+ "Your hand slips, tearing at [target]'s spinal cord with \the [tool]!" )
+ affected.createwound(PIERCE, 5)
+ target.AdjustParalysis(20)
+ spawn()
+ for(var/obj/item/organ/internal/brain/O in affected.internal_organs)
+ O.take_damage(rand(5,15)) //Down to the wire. Or rather, the cord.
+
+/////////////////////////////
+// Vertebrae repair
+/////////////////////////////
+
+/datum/surgery_step/brainstem/mend_vertebrae
+ priority = 3 //Do this instead of fixing bones.
+ allowed_tools = list(
+ /obj/item/weapon/surgical/bonegel = 100,
+ /obj/item/stack/nanopaste = 50,
+ /obj/item/weapon/tape_roll = 5)
+
+ min_duration = 100
+ max_duration = 160
+
+/datum/surgery_step/brainstem/mend_vertebrae/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ return ..() && target_zone == BP_HEAD && target.op_stage.brainstem == 4
+
+/datum/surgery_step/brainstem/mend_vertebrae/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ user.visible_message("[user] starts to mend [target]'s opened vertebrae with \the [tool].", \
+ "You start to mend [target]'s opened vertebrae with \the [tool].")
+ ..()
+
+/datum/surgery_step/brainstem/mend_vertebrae/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ user.visible_message("[user] has mended [target]'s vertebrae with \the [tool]." , \
+ " You have mended [target]'s vertebrae with \the [tool].",)
+ target.can_defib = 1
+ target.op_stage.brainstem = 5
+
+/datum/surgery_step/brainstem/mend_vertebrae/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ var/obj/item/organ/external/affected = target.get_organ(target_zone)
+ user.visible_message("[user]'s hand slips, tearing at [target]'s spinal cord with \the [tool]!" , \
+ "Your hand slips, tearing at [target]'s spinal cord with \the [tool]!" )
+ affected.createwound(PIERCE, 5)
+ target.AdjustParalysis(15)
+ spawn()
+ for(var/obj/item/organ/internal/brain/O in affected.internal_organs)
+ O.take_damage(rand(1,10))
+
+/////////////////////////////
+// Realign tissues
+/////////////////////////////
+
+/datum/surgery_step/brainstem/realign_tissue
+ priority = 3 //Do this instead of searching for objects in the skull.
+ allowed_tools = list(
+ /obj/item/weapon/surgical/hemostat = 100,
+ /obj/item/weapon/wirecutters = 60,
+ /obj/item/weapon/melee/changeling/claw = 20) //Claws. Good for digging, not so much for moving.
+
+ min_duration = 90
+ max_duration = 120
+
+/datum/surgery_step/brainstem/realign_tissue/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ return ..() && target_zone == BP_HEAD && target.op_stage.brainstem == 5
+
+/datum/surgery_step/brainstem/realign_tissue/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ user.visible_message("[user] starts to realign the tissues in [target]'s skull with \the [tool].", \
+ "You start to realign the tissues in [target]'s skull with \the [tool].")
+ ..()
+
+/datum/surgery_step/brainstem/realign_tissue/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ user.visible_message("[user] has realigned the tissues in [target]'s skull back into place with \the [tool]." , \
+ " You have realigned the tissues in [target]'s skull back into place with \the [tool].",)
+ target.AdjustParalysis(5) //I n v a s i v e
+ target.op_stage.brainstem = 0 //The cycle begins anew.
+
+/datum/surgery_step/brainstem/realign_tissue/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ var/obj/item/organ/external/affected = target.get_organ(target_zone)
+ user.visible_message("[user]'s hand slips, gouging [target]'s brainstem with \the [tool]!" , \
+ "Your hand slips, gouging [target]'s brainstem with \the [tool]!" )
+ affected.createwound(CUT, 5)
+ target.AdjustParalysis(30)
+ spawn()
+ for(var/obj/item/organ/internal/brain/O in affected.internal_organs)
+ O.take_damage(rand(1,10))
diff --git a/code/modules/surgery/surgery.dm b/code/modules/surgery/surgery.dm
index 1dac70fea5f..b06221e5c9d 100644
--- a/code/modules/surgery/surgery.dm
+++ b/code/modules/surgery/surgery.dm
@@ -163,6 +163,7 @@
/datum/surgery_status/
var/eyes = 0
var/face = 0
+ var/brainstem = 0
var/head_reattach = 0
var/current_organ = "organ"
var/list/in_progress = list()
\ No newline at end of file
diff --git a/html/changelogs/Mechoid - RecapitationSurgery.yml b/html/changelogs/Mechoid - RecapitationSurgery.yml
new file mode 100644
index 00000000000..5ca75eff802
--- /dev/null
+++ b/html/changelogs/Mechoid - RecapitationSurgery.yml
@@ -0,0 +1,8 @@
+
+author: Mechoid
+
+delete-after: True
+
+changes:
+ - rscadd: "Add a surgical operation for repairing the brainstem of a decapitated individual."
+ - rscadd: "Add a permanent modifier for frankensteining individuals."
diff --git a/polaris.dme b/polaris.dme
index 56a44c8ed1e..2c3ea5bca62 100644
--- a/polaris.dme
+++ b/polaris.dme
@@ -2289,6 +2289,7 @@
#include "code\modules\surgery\generic.dm"
#include "code\modules\surgery\implant.dm"
#include "code\modules\surgery\limb_reattach.dm"
+#include "code\modules\surgery\neck.dm"
#include "code\modules\surgery\organs_internal.dm"
#include "code\modules\surgery\other.dm"
#include "code\modules\surgery\robotics.dm"