diff --git a/code/modules/mining/fulton.dm b/code/modules/mining/fulton.dm
index 08da1d69739..fe7cf2e6818 100644
--- a/code/modules/mining/fulton.dm
+++ b/code/modules/mining/fulton.dm
@@ -1,8 +1,8 @@
var/list/total_extraction_beacons = list()
/obj/item/weapon/extraction_pack
- name = "fulton material extraction pack"
- desc = "A balloon that can be used to extract a target to a Fulton Recovery Beacon. Anything not bolted down can be moved. Link the pack to a beacon by using the pack in hand."
+ name = "fulton extraction pack"
+ desc = "A balloon that can be used to extract equipment or personnel to a Fulton Recovery Beacon. Anything not bolted down can be moved. Link the pack to a beacon by using the pack in hand."
icon = 'icons/obj/fulton.dmi'
icon_state = "extraction_pack"
w_class = 3
@@ -10,13 +10,7 @@ var/list/total_extraction_beacons = list()
var/list/beacon_networks = list("station")
var/uses_left = 3
var/can_use_indoors
- var/safe_for_living_creatures = 0
-
-/obj/item/weapon/extraction_pack/medivac
- name = "fulton medivac extraction pack"
- desc = "A specialized extraction balloon capable of safely extracting living targets."
- uses_left = 1
- safe_for_living_creatures = 1
+ var/safe_for_living_creatures = 1
/obj/item/weapon/extraction_pack/examine()
. = ..()
@@ -59,13 +53,17 @@ var/list/total_extraction_beacons = list()
if(!safe_for_living_creatures && check_for_living_mobs(A))
user << "[src] is not safe for use with living creatures, they wouldn't survive the trip back!"
return
- if(A.loc == user || A == user) // no extracting stuff you're holding in your hands/yourself
+ if(A.loc == user) // no extracting stuff you're holding
return
if(A.anchored)
return
user << "You start attaching the pack to [A]..."
if(do_after(user,50,target=A))
user << "You attach the pack to [A] and activate it."
+ if(loc == user || istype(user.back, /obj/item/weapon/storage/backpack))
+ var/obj/item/weapon/storage/backpack/B = user.back
+ if(B.can_be_inserted(src,stop_messages = 1))
+ B.handle_item_insertion(src)
uses_left--
if(uses_left <= 0)
user.drop_item(src)
@@ -141,16 +139,14 @@ var/list/total_extraction_beacons = list()
/obj/item/fulton_core
name = "extraction beacon signaller"
- desc = "Emits a signal which fulton recovery devices can lock on to. Craft with metal to create a beacon."
+ desc = "Emits a signal which fulton recovery devices can lock on to. Activate in hand to create a beacon."
icon = 'icons/obj/stock_parts.dmi'
icon_state = "subspace_amplifier"
-/datum/crafting_recipe/fulton
- name = "Fulton Recovery Beacon"
- result = /obj/structure/extraction_point
- reqs = list(/obj/item/fulton_core = 1, /obj/item/stack/sheet/metal = 5)
- time = 15
- category = CAT_MISC
+/obj/item/fulton_core/attack_self(mob/user)
+ if(do_after(user,15,target = user) && !qdeleted(src))
+ new /obj/structure/extraction_point(get_turf(user))
+ qdel(src)
/obj/structure/extraction_point
name = "fulton recovery beacon"
diff --git a/code/modules/mining/machine_vending.dm b/code/modules/mining/machine_vending.dm
index 02fddfe6b58..e0dad1897ff 100644
--- a/code/modules/mining/machine_vending.dm
+++ b/code/modules/mining/machine_vending.dm
@@ -30,7 +30,6 @@
new /datum/data/mining_equipment("Kinetic Crusher", /obj/item/weapon/twohanded/required/mining_hammer, 750),
new /datum/data/mining_equipment("Kinetic Accelerator", /obj/item/weapon/gun/energy/kinetic_accelerator, 750),
new /datum/data/mining_equipment("Resonator", /obj/item/weapon/resonator, 800),
- new /datum/data/mining_equipment("Medivac Balloon", /obj/item/weapon/extraction_pack/medivac, 800),
new /datum/data/mining_equipment("Fulton Pack", /obj/item/weapon/extraction_pack, 1000),
new /datum/data/mining_equipment("Lazarus Injector", /obj/item/weapon/lazarus_injector, 1000),
new /datum/data/mining_equipment("Silver Pickaxe", /obj/item/weapon/pickaxe/silver, 1000),
@@ -159,7 +158,7 @@
return ..()
/obj/machinery/mineral/equipment_vendor/proc/RedeemVoucher(obj/item/weapon/mining_voucher/voucher, mob/redeemer)
- var/items = list("Survival Capsule and Explorer's Webbing", "Resonator and Advanced Scanner", "Mining Drone", "Medivac Kit", "Extraction Kit", "Crusher Kit")
+ var/items = list("Survival Capsule and Explorer's Webbing", "Resonator and Advanced Scanner", "Mining Drone", "Extraction and Rescue Kit", "Crusher Kit")
var/selection = input(redeemer, "Pick your equipment", "Mining Voucher Redemption") as null|anything in items
if(!selection || !Adjacent(redeemer) || qdeleted(voucher) || voucher.loc != redeemer)
@@ -173,13 +172,7 @@
if("Mining Drone")
new /mob/living/simple_animal/hostile/mining_drone(src.loc)
new /obj/item/weapon/weldingtool/hugetank(src.loc)
- if("Medivac Kit")
- new /obj/item/stack/sheet/metal/five(loc)
- new /obj/item/fulton_core(loc)
- new /obj/item/weapon/extraction_pack/medivac(loc)
- new /obj/item/weapon/reagent_containers/hypospray/medipen/survival(loc)
- if("Extraction Kit")
- new /obj/item/stack/sheet/metal/five(loc)
+ if("Extraction and Rescue Kit")
new /obj/item/weapon/extraction_pack(loc)
new /obj/item/fulton_core(loc)
if("Crusher Kit")