From 01a68b88951832d278c9fa3ca4ef319247b353cf Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Sun, 18 Aug 2019 18:22:07 -0400 Subject: [PATCH] Ports TG's Fultons --- code/modules/mining/equipment_locker.dm | 14 +- code/modules/mining/fulton.dm | 195 ++++++++++++++++++++++++ code/modules/shuttle/supply.dm | 3 +- icons/obj/fulton.dmi | Bin 0 -> 2143 bytes icons/obj/fulton_balloon.dmi | Bin 0 -> 5455 bytes paradise.dme | 1 + sound/items/fultext_deploy.ogg | Bin 0 -> 14418 bytes sound/items/fultext_launch.ogg | Bin 0 -> 11001 bytes 8 files changed, 205 insertions(+), 8 deletions(-) create mode 100644 code/modules/mining/fulton.dm create mode 100644 icons/obj/fulton.dmi create mode 100644 icons/obj/fulton_balloon.dmi create mode 100644 sound/items/fultext_deploy.ogg create mode 100644 sound/items/fultext_launch.ogg diff --git a/code/modules/mining/equipment_locker.dm b/code/modules/mining/equipment_locker.dm index c821bf84baa..e6a4330943c 100644 --- a/code/modules/mining/equipment_locker.dm +++ b/code/modules/mining/equipment_locker.dm @@ -413,7 +413,7 @@ new /datum/data/mining_equipment("Stabilizing Serum", /obj/item/hivelordstabilizer, 400), new /datum/data/mining_equipment("Space Cash", /obj/item/stack/spacecash/c1000, 2000), new /datum/data/mining_equipment("Point Transfer Card", /obj/item/card/mining_point_card, 500), -// new /datum/data/mining_equipment("Fulton Beacon", /obj/item/fulton_core, 400), + new /datum/data/mining_equipment("Fulton Beacon", /obj/item/fulton_core, 400), new /datum/data/mining_equipment("Shelter Capsule", /obj/item/survivalcapsule, 400), new /datum/data/mining_equipment("GAR Meson Scanners", /obj/item/clothing/glasses/meson/gar, 500), new /datum/data/mining_equipment("Explorer's Webbing", /obj/item/storage/belt/mining, 500), @@ -425,7 +425,7 @@ new /datum/data/mining_equipment("Kinetic Accelerator", /obj/item/gun/energy/kinetic_accelerator, 750), new /datum/data/mining_equipment("Advanced Scanner", /obj/item/t_scanner/adv_mining_scanner, 800), new /datum/data/mining_equipment("Resonator", /obj/item/resonator, 800), -// new /datum/data/mining_equipment("Fulton Pack", /obj/item/extraction_pack, 1000), + new /datum/data/mining_equipment("Fulton Pack", /obj/item/extraction_pack, 1000), new /datum/data/mining_equipment("Lazarus Injector", /obj/item/lazarus_injector, 1000), new /datum/data/mining_equipment("Silver Pickaxe", /obj/item/pickaxe/silver, 1000), new /datum/data/mining_equipment("Mining Conscription Kit", /obj/item/storage/backpack/duffel/mining_conscript, 1500), @@ -602,7 +602,7 @@ ..() /obj/machinery/mineral/equipment_vendor/proc/RedeemVoucher(obj/item/mining_voucher/voucher, mob/redeemer) - var/items = list("Survival Capsule and Explorer's Webbing", "Resonator Kit", "Minebot Kit", "Crusher Kit", "Mining Conscription Kit") + var/items = list("Survival Capsule and Explorer's Webbing", "Resonator Kit", "Minebot Kit", "Extraction and Rescue Kit", "Crusher Kit", "Mining Conscription 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) @@ -619,10 +619,10 @@ new /obj/item/mining_drone_cube(drop_location) new /obj/item/weldingtool/hugetank(drop_location) new /obj/item/clothing/head/welding(drop_location) -// if("Extraction and Rescue Kit") -// new /obj/item/extraction_pack(drop_location) -// new /obj/item/fulton_core(drop_location) -// new /obj/item/stack/marker_beacon/thirty(drop_location) + if("Extraction and Rescue Kit") + new /obj/item/extraction_pack(drop_location) + new /obj/item/fulton_core(drop_location) + new /obj/item/stack/marker_beacon/thirty(drop_location) if("Crusher Kit") new /obj/item/extinguisher/mini(drop_location) new /obj/item/twohanded/required/kinetic_crusher(drop_location) diff --git a/code/modules/mining/fulton.dm b/code/modules/mining/fulton.dm new file mode 100644 index 00000000000..2d09c6a8e7a --- /dev/null +++ b/code/modules/mining/fulton.dm @@ -0,0 +1,195 @@ +GLOBAL_LIST_EMPTY(total_extraction_beacons) + +/obj/item/extraction_pack + 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 = WEIGHT_CLASS_NORMAL + var/obj/structure/extraction_point/beacon + var/list/beacon_networks = list("station") + var/uses_left = 3 + var/can_use_indoors + var/safe_for_living_creatures = TRUE + var/max_force_fulton = MOVE_FORCE_STRONG + +/obj/item/extraction_pack/examine(mob/user) + ..() + to_chat(user, "It has [uses_left] use\s remaining.") + +/obj/item/extraction_pack/attack_self(mob/user) + var/list/possible_beacons = list() + for(var/B in GLOB.total_extraction_beacons) + var/obj/structure/extraction_point/EP = B + if(EP.beacon_network in beacon_networks) + possible_beacons += EP + + if(!possible_beacons.len) + to_chat(user, "There are no extraction beacons in existence!") + return + + else + var/A + + A = input("Select a beacon to connect to", "Balloon Extraction Pack", A) as null|anything in possible_beacons + + if(!A) + return + beacon = A + to_chat(user, "You link the extraction pack to the beacon system.") + +/obj/item/extraction_pack/afterattack(atom/movable/A, mob/living/carbon/human/user, flag, params) + . = ..() + if(!beacon) + to_chat(user, "[src] is not linked to a beacon, and cannot be used!") + return + if(!can_use_indoors) + var/area/area = get_area(A) + if(!area.outdoors) + to_chat(user, "[src] can only be used on things that are outdoors!") + return + if(!flag) + return + if(!istype(A)) + return + else + if(!safe_for_living_creatures && check_for_living_mobs(A)) + to_chat(user, "[src] is not safe for use with living creatures, they wouldn't survive the trip back!") + return + if(!isturf(A.loc)) // no extracting stuff inside other stuff + return + if(A.anchored || (A.move_resist > max_force_fulton)) + return + to_chat(user, "You start attaching the pack to [A]...") + if(do_after(user, 50, target = A)) + to_chat(user, "You attach the pack to [A] and activate it.") + if(loc == user && istype(user.back, /obj/item/storage/backpack)) + var/obj/item/storage/backpack/B = user.back + if(B.can_be_inserted(src, stop_messages = TRUE)) + B.handle_item_insertion(src) + uses_left-- + if(uses_left <= 0) + user.drop_item(src) + forceMove(A) + var/mutable_appearance/balloon + var/mutable_appearance/balloon2 + var/mutable_appearance/balloon3 + if(isliving(A)) + var/mob/living/M = A + M.Weaken(16) // Keep them from moving during the duration of the extraction + M.buckled = 0 // Unbuckle them to prevent anchoring problems + else + A.anchored = TRUE + A.density = FALSE + var/obj/effect/extraction_holder/holder_obj = new(A.loc) + holder_obj.appearance = A.appearance + A.forceMove(holder_obj) + balloon2 = mutable_appearance('icons/obj/fulton_balloon.dmi', "fulton_expand") + balloon2.pixel_y = 10 + balloon2.appearance_flags = RESET_COLOR | RESET_ALPHA | RESET_TRANSFORM + holder_obj.add_overlay(balloon2) + sleep(4) + balloon = mutable_appearance('icons/obj/fulton_balloon.dmi', "fulton_balloon") + balloon.pixel_y = 10 + balloon.appearance_flags = RESET_COLOR | RESET_ALPHA | RESET_TRANSFORM + holder_obj.cut_overlay(balloon2) + holder_obj.add_overlay(balloon) + playsound(holder_obj.loc, 'sound/items/fultext_deploy.ogg', 50, 1, -3) + animate(holder_obj, pixel_z = 10, time = 20) + sleep(20) + animate(holder_obj, pixel_z = 15, time = 10) + sleep(10) + animate(holder_obj, pixel_z = 10, time = 10) + sleep(10) + animate(holder_obj, pixel_z = 15, time = 10) + sleep(10) + animate(holder_obj, pixel_z = 10, time = 10) + sleep(10) + playsound(holder_obj.loc, 'sound/items/fultext_launch.ogg', 50, 1, -3) + animate(holder_obj, pixel_z = 1000, time = 30) + if(ishuman(A)) + var/mob/living/carbon/human/L = A + L.SetParalysis(0) + L.drowsyness = 0 + L.SetSleeping(0) + sleep(30) + var/list/flooring_near_beacon = list() + for(var/turf/floor in orange(1, beacon)) + if(floor.density) + continue + flooring_near_beacon += floor + holder_obj.forceMove(pick(flooring_near_beacon)) + animate(holder_obj, pixel_z = 10, time = 50) + sleep(50) + animate(holder_obj, pixel_z = 15, time = 10) + sleep(10) + animate(holder_obj, pixel_z = 10, time = 10) + sleep(10) + balloon3 = mutable_appearance('icons/obj/fulton_balloon.dmi', "fulton_retract") + balloon3.pixel_y = 10 + balloon3.appearance_flags = RESET_COLOR | RESET_ALPHA | RESET_TRANSFORM + holder_obj.cut_overlay(balloon) + holder_obj.add_overlay(balloon3) + sleep(4) + holder_obj.cut_overlay(balloon3) + A.anchored = FALSE // An item has to be unanchored to be extracted in the first place. + A.density = initial(A.density) + animate(holder_obj, pixel_z = 0, time = 5) + sleep(5) + A.forceMove(holder_obj.loc) + qdel(holder_obj) + if(uses_left <= 0) + qdel(src) + + +/obj/item/fulton_core + name = "extraction beacon signaller" + desc = "Emits a signal which fulton recovery devices can lock onto. Activate in hand to create a beacon." + icon = 'icons/obj/stock_parts.dmi' + icon_state = "subspace_amplifier" + +/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" + desc = "A beacon for the fulton recovery system. Activate a pack in your hand to link it to a beacon." + icon = 'icons/obj/fulton.dmi' + icon_state = "extraction_point" + anchored = TRUE + density = FALSE + var/beacon_network = "station" + +/obj/structure/extraction_point/New() + ..() + name += " ([rand(100,999)]) ([get_location_name(src)])" + GLOB.total_extraction_beacons += src + +/obj/structure/extraction_point/Destroy() + GLOB.total_extraction_beacons -= src + return ..() + +/obj/effect/extraction_holder + name = "extraction holder" + desc = "you shouldnt see this" + var/atom/movable/stored_obj + +/obj/item/extraction_pack/proc/check_for_living_mobs(atom/A) + if(isliving(A)) + var/mob/living/L = A + if(L.stat != DEAD) + return TRUE + for(var/thing in A.GetAllContents()) + if(isliving(A)) + var/mob/living/L = A + if(L.stat != DEAD) + return TRUE + return FALSE + +/obj/effect/extraction_holder/singularity_pull() + return + +/obj/effect/extraction_holder/singularity_pull() + return \ No newline at end of file diff --git a/code/modules/shuttle/supply.dm b/code/modules/shuttle/supply.dm index b6a7e7bb28f..9da43d08fbf 100644 --- a/code/modules/shuttle/supply.dm +++ b/code/modules/shuttle/supply.dm @@ -247,7 +247,8 @@ /obj/machinery/clonepod, /obj/effect/hierophant, /obj/item/warp_cube, - /obj/machinery/quantumpad + /obj/machinery/quantumpad, + /obj/structure/extraction_point ) if(A) if(is_type_in_list(A, blacklist)) diff --git a/icons/obj/fulton.dmi b/icons/obj/fulton.dmi new file mode 100644 index 0000000000000000000000000000000000000000..c56c275b3b16f7247f8a91f43e512fdca666eb5d GIT binary patch literal 2143 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

7&_1|7#b_kwsan3 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 literal 0 HcmV?d00001