From f163c9e5259633ad4cb96edf2682e5b09160be55 Mon Sep 17 00:00:00 2001 From: Ergovisavi Date: Thu, 18 Aug 2016 21:07:33 -0700 Subject: [PATCH] Changes to the fulton pack (#19944) * Consolidated the fulton packs into one pack * Allows you to fulton yourself by directly attaching it to yourself * Consolidated the mining voucher fulton kits into one kit --- code/modules/mining/fulton.dm | 30 +++++++++++--------------- code/modules/mining/machine_vending.dm | 11 ++-------- 2 files changed, 15 insertions(+), 26 deletions(-) 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")