diff --git a/code/modules/recycling/belt-placer.dm b/code/modules/recycling/belt-placer.dm new file mode 100644 index 00000000000..9591ea1e4a9 --- /dev/null +++ b/code/modules/recycling/belt-placer.dm @@ -0,0 +1,40 @@ +/obj/item/storage/conveyor //Stores conveyor belts, click floor to make belt, use a conveyor switch on this to link all belts to that lever. + name = "conveyor belt placer" + desc = "This device facilitates the rapid deployment of conveyor belts." + icon_state = "belt_placer" + w_class = WEIGHT_CLASS_BULKY //Because belts are large things, you know? + can_hold = list(/obj/item/conveyor_construct) + max_w_class = WEIGHT_CLASS_BULKY + max_combined_w_class = 28 //7 belts + allow_quick_gather = TRUE + allow_quick_empty = TRUE + display_contents_with_number = TRUE + use_to_pickup = TRUE + origin_tech = "engineering=1" + +/obj/item/storage/conveyor/bluespace + name = "bluespace conveyor belt placer" + desc = "This device facilitates the rapid deployment of conveyor belts. This one has an unlimited capacity for belts, thanks to bluespace technology." + icon_state = "bluespace_belt_placer" + w_class = WEIGHT_CLASS_NORMAL + storage_slots = INFINITY + max_combined_w_class = INFINITY + origin_tech = "engineering=2;bluespace=1" + +/obj/item/storage/conveyor/attackby(obj/item/conveyor_switch_construct/S, mob/user, params) //So we can link belts en masse + if(istype(S)) + var/linked = FALSE //For nice message + for(var/obj/item/conveyor_construct/C in src) + C.id = S.id + linked = TRUE + if(linked) + to_chat(user, "All belts in [src] linked with [S].") + else + ..() + +/obj/item/storage/conveyor/afterattack(atom/A, mob/user, proximity) + var/obj/item/conveyor_construct/C = locate() in src + if(!C) + to_chat(user, "There are no belts in [src].") + else + C.afterattack(A, user, proximity) diff --git a/code/modules/research/designs/autolathe_designs.dm b/code/modules/research/designs/autolathe_designs.dm index b7919662514..5cb51863851 100644 --- a/code/modules/research/designs/autolathe_designs.dm +++ b/code/modules/research/designs/autolathe_designs.dm @@ -800,6 +800,14 @@ build_path = /obj/item/conveyor_switch_construct category = list("initial", "Construction") +/datum/design/conveyor_belt_placer + name = "Conveyor Belt Placer" + id = "conveyor_belt_placer" + build_type = AUTOLATHE + materials = list(MAT_METAL = 5000, MAT_GLASS = 1000) //This thing doesn't need to be very resource-intensive as the belts are already expensive + build_path = /obj/item/storage/conveyor + category = list("initial", "Construction") + /datum/design/laptop name = "Laptop Frame" id = "laptop" diff --git a/code/modules/research/designs/bluespace_designs.dm b/code/modules/research/designs/bluespace_designs.dm index 3c555c40849..bb21033f0cf 100644 --- a/code/modules/research/designs/bluespace_designs.dm +++ b/code/modules/research/designs/bluespace_designs.dm @@ -51,6 +51,16 @@ build_path = /obj/item/storage/bag/ore/holding category = list("Bluespace") +/datum/design/bluespace_belt_holder + name = "Bluespace Conveyor Belt Placer" + desc = "This device facilitates the rapid deployment of conveyor belts. This one is powered by bluespace" + id = "bluespace_belt_holder" + req_tech = list("materials" = 1, "engineering" = 3, "bluespace" = 3) + build_type = PROTOLATHE + materials = list(MAT_METAL = 5000, MAT_GLASS = 1000, MAT_SILVER = 500) //Costs similar materials to the basic one, but this one needs silver + build_path = /obj/item/storage/conveyor/bluespace + category = list("Bluespace") + /datum/design/telepad_beacon name = "Telepad Beacon" desc = "Use to warp in a cargo telepad." diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi index 39df3590359..fe058a3e35f 100644 Binary files a/icons/obj/storage.dmi and b/icons/obj/storage.dmi differ diff --git a/paradise.dme b/paradise.dme index 6cf47e457f5..97dce117d5e 100644 --- a/paradise.dme +++ b/paradise.dme @@ -2067,6 +2067,7 @@ #include "code\modules\reagents\reagent_containers\pill.dm" #include "code\modules\reagents\reagent_containers\spray.dm" #include "code\modules\reagents\reagent_containers\syringes.dm" +#include "code\modules\recycling\belt-placer.dm" #include "code\modules\recycling\conveyor2.dm" #include "code\modules\recycling\disposal-construction.dm" #include "code\modules\recycling\disposal.dm"