diff --git a/.gitconfig b/.gitconfig
index de5ff6f2542..cd4cf17954b 100644
--- a/.gitconfig
+++ b/.gitconfig
@@ -2,4 +2,3 @@
name = mapmerge driver
driver = ./mapmerge.sh %O %A %B
recursive = text
-
diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm
index 0dec82fe17c..38130f27395 100644
--- a/code/game/objects/items/weapons/storage/belt.dm
+++ b/code/game/objects/items/weapons/storage/belt.dm
@@ -241,6 +241,50 @@
new /obj/item/device/multitool/alien(src)
new /obj/item/stack/cable_coil/alien(src)
+/obj/item/weapon/storage/belt/medical/alien
+ name = "alien belt"
+ desc = "A belt(?) that can hold things."
+ icon = 'icons/obj/abductor.dmi'
+ icon_state = "belt"
+ item_state = "security"
+ can_hold = list(
+ /obj/item/device/healthanalyzer,
+ /obj/item/weapon/dnainjector,
+ /obj/item/weapon/reagent_containers/dropper,
+ /obj/item/weapon/reagent_containers/glass/beaker,
+ /obj/item/weapon/reagent_containers/glass/bottle,
+ /obj/item/weapon/reagent_containers/pill,
+ /obj/item/weapon/reagent_containers/syringe,
+ /obj/item/weapon/flame/lighter/zippo,
+ /obj/item/weapon/storage/fancy/cigarettes,
+ /obj/item/weapon/storage/pill_bottle,
+ /obj/item/stack/medical,
+ /obj/item/device/radio/headset,
+ /obj/item/device/pda,
+ /obj/item/taperoll,
+ /obj/item/device/megaphone,
+ /obj/item/clothing/mask/surgical,
+ /obj/item/clothing/head/surgery,
+ /obj/item/clothing/gloves,
+ /obj/item/weapon/reagent_containers/hypospray,
+ /obj/item/clothing/glasses,
+ /obj/item/weapon/crowbar,
+ /obj/item/device/flashlight,
+ /obj/item/weapon/cell/device,
+ /obj/item/weapon/extinguisher/mini,
+ /obj/item/weapon/surgical
+ )
+
+/obj/item/weapon/storage/belt/medical/alien/New()
+ ..()
+ new /obj/item/weapon/surgical/scalpel/alien(src)
+ new /obj/item/weapon/surgical/hemostat/alien(src)
+ new /obj/item/weapon/surgical/retractor/alien(src)
+ new /obj/item/weapon/surgical/circular_saw/alien(src)
+ new /obj/item/weapon/surgical/FixOVein/alien(src)
+ new /obj/item/weapon/surgical/bone_clamp/alien(src)
+ new /obj/item/weapon/surgical/cautery/alien(src)
+
/obj/item/weapon/storage/belt/champion
name = "championship belt"
desc = "Proves to the world that you are the strongest!"
diff --git a/code/game/objects/items/weapons/surgery_tools.dm b/code/game/objects/items/weapons/surgery_tools.dm
index 58c5d18ea06..96f5e30f693 100644
--- a/code/game/objects/items/weapons/surgery_tools.dm
+++ b/code/game/objects/items/weapons/surgery_tools.dm
@@ -166,13 +166,22 @@
/obj/item/weapon/surgical/bonesetter
name = "bone setter"
desc = "Put them in their place."
- icon_state = "bone setter"
+ icon_state = "bone_setter"
force = 8.0
throwforce = 9.0
throw_speed = 3
throw_range = 5
attack_verb = list("attacked", "hit", "bludgeoned")
+/obj/item/weapon/surgical/bone_clamp
+ name = "bone clamp"
+ desc = "The best way to get a bone fixed fast."
+ icon_state = "bone_clamp"
+ force = 8
+ throwforce = 9
+ throw_speed = 3
+ throw_range = 5
+ attack_verb = list("attacked", "hit", "bludgeoned")
// Cyborg Tools
@@ -201,4 +210,38 @@
toolspeed = 0.5
/obj/item/weapon/surgical/bonesetter/cyborg
- toolspeed = 0.5
\ No newline at end of file
+ toolspeed = 0.5
+
+
+// Alien Tools
+/obj/item/weapon/surgical/retractor/alien
+ icon = 'icons/obj/abductor.dmi'
+ toolspeed = 0.25
+
+/obj/item/weapon/surgical/hemostat/alien
+ icon = 'icons/obj/abductor.dmi'
+ toolspeed = 0.25
+
+/obj/item/weapon/surgical/cautery/alien
+ icon = 'icons/obj/abductor.dmi'
+ toolspeed = 0.25
+
+/obj/item/weapon/surgical/surgicaldrill/alien
+ icon = 'icons/obj/abductor.dmi'
+ toolspeed = 0.25
+
+/obj/item/weapon/surgical/scalpel/alien
+ icon = 'icons/obj/abductor.dmi'
+ toolspeed = 0.25
+
+/obj/item/weapon/surgical/circular_saw/alien
+ icon = 'icons/obj/abductor.dmi'
+ toolspeed = 0.25
+
+/obj/item/weapon/surgical/FixOVein/alien
+ icon = 'icons/obj/abductor.dmi'
+ toolspeed = 0.25
+
+/obj/item/weapon/surgical/bone_clamp/alien
+ icon = 'icons/obj/abductor.dmi'
+ toolspeed = 0.75
\ No newline at end of file
diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm
index b99b9a7dde6..a6e6a948501 100644
--- a/code/modules/research/designs.dm
+++ b/code/modules/research/designs.dm
@@ -473,6 +473,15 @@ other types of metals and chemistry for reagents).
build_path = /obj/item/weapon/surgical/scalpel/manager
sort_string = "MBBAD"
+/datum/design/item/bone_clamp
+ name = "Bone Clamp"
+ desc = "A miracle of modern science, this tool rapidly knits together bone, without the need for bone gel."
+ id = "bone_clamp"
+ req_tech = list(TECH_BIO = 4, TECH_MATERIAL = 5, TECH_MAGNET = 4, TECH_DATA = 4)
+ materials = list (DEFAULT_WALL_MATERIAL = 12500, "glass" = 7500, "silver" = 2500)
+ build_path = /obj/item/weapon/surgical/bone_clamp
+ sort_string = "MBBAE"
+
/datum/design/item/implant
materials = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50)
diff --git a/code/modules/surgery/bones.dm b/code/modules/surgery/bones.dm
index 6a5a39df734..e1086dbdca9 100644
--- a/code/modules/surgery/bones.dm
+++ b/code/modules/surgery/bones.dm
@@ -145,4 +145,42 @@
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, smearing [tool] in the incision in [target]'s [affected.name]!" , \
- "Your hand slips, smearing [tool] in the incision in [target]'s [affected.name]!")
\ No newline at end of file
+ "Your hand slips, smearing [tool] in the incision in [target]'s [affected.name]!")
+
+
+
+/datum/surgery_step/clamp_bone
+ allowed_tools = list(
+ /obj/item/weapon/surgical/bone_clamp = 100
+ )
+ can_infect = 1
+ blood_level = 1
+
+ min_duration = 70
+ max_duration = 90
+
+ 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)
+ return affected && (affected.robotic < ORGAN_ROBOT) && affected.open >= 2 && affected.stage == 0
+
+ begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ var/obj/item/organ/external/affected = target.get_organ(target_zone)
+ if (affected.stage == 0)
+ user.visible_message("[user] starts repairing the damaged bones in [target]'s [affected.name] with \the [tool]." , \
+ "You starts repairing the damaged bones in [target]'s [affected.name] with \the [tool].")
+ target.custom_pain("Something in your [affected.name] is causing you a lot of pain!", 50)
+ ..()
+
+ 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] sets the bone in [target]'s [affected.name] with \the [tool].", \
+ "You sets [target]'s bone in [affected.name] with \the [tool].")
+ affected.status &= ~ORGAN_BROKEN
+
+ 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, damaging the bone in [target]'s [affected.name] with \the [tool]!" , \
+ "Your hand slips, damaging the bone in [target]'s [affected.name] with \the [tool]!")
+ affected.createwound(BRUISE, 5)
\ No newline at end of file
diff --git a/icons/obj/surgery.dmi b/icons/obj/surgery.dmi
index 15ef72276fe..c08940b530c 100644
Binary files a/icons/obj/surgery.dmi and b/icons/obj/surgery.dmi differ