diff --git a/code/game/objects/items/bodybag.dm b/code/game/objects/items/bodybag.dm
index e93bfb9976..dbc66b1899 100644
--- a/code/game/objects/items/bodybag.dm
+++ b/code/game/objects/items/bodybag.dm
@@ -38,7 +38,6 @@
/obj/item/bodybag/bluespace
name = "bluespace body bag"
desc = "A folded bluespace body bag designed for the storage and transportation of cadavers."
- icon = 'icons/obj/bodybag.dmi'
icon_state = "bluebodybag_folded"
unfoldedbag_path = /obj/structure/closet/body_bag/bluespace
w_class = WEIGHT_CLASS_SMALL
@@ -81,3 +80,13 @@
return
loc.visible_message("[user] suddenly appears in front of [loc]!", "[user] breaks free of [src]!")
qdel(src)
+
+// Containment bodybag
+
+/obj/item/bodybag/containment
+ name = "radiation containment body bag"
+ desc = "A folded heavy body bag designed for the storage and transportation of heavily irradiated cadavers."
+ icon_state = "radbodybag_folded"
+ unfoldedbag_path = /obj/structure/closet/body_bag/containment
+ w_class = WEIGHT_CLASS_NORMAL
+ rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE
diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm
index 45dc1b65ea..6ddd7c136a 100644
--- a/code/game/objects/items/stacks/sheets/sheet_types.dm
+++ b/code/game/objects/items/stacks/sheets/sheet_types.dm
@@ -179,8 +179,21 @@ GLOBAL_LIST_INIT(metal_recipes, list ( \
GLOBAL_LIST_INIT(plasteel_recipes, list ( \
new/datum/stack_recipe("AI core", /obj/structure/AIcore, 4, time = 50, one_per_turf = TRUE), \
new/datum/stack_recipe("bomb assembly", /obj/machinery/syndicatebomb/empty, 10, time = 50), \
- new/datum/stack_recipe("crate", /obj/structure/closet/crate, 5, time = 90, one_per_turf = TRUE), \
- null, \
+ new /datum/stack_recipe_list("crates", list( \
+ new /datum/stack_recipe("gray crate", /obj/structure/closet/crate, 5, time = 50, one_per_turf = 1, on_floor = 1), \
+ new /datum/stack_recipe("internals crate", /obj/structure/closet/crate/internals, 5, time = 50, one_per_turf = 1, on_floor = 1), \
+ new /datum/stack_recipe("trash cart", /obj/structure/closet/crate/trashcart, 5, time = 50, one_per_turf = 1, on_floor = 1), \
+ new /datum/stack_recipe("medical crate", /obj/structure/closet/crate/medical, 5, time = 50, one_per_turf = 1, on_floor = 1), \
+ new /datum/stack_recipe("freezer crate", /obj/structure/closet/crate/freezer, 8, time = 50, one_per_turf = 1, on_floor = 1), \
+ new /datum/stack_recipe("blood bag crate", /obj/structure/closet/crate/freezer/blood, 8, time = 50, one_per_turf = 1, on_floor = 1), \
+ new /datum/stack_recipe("surplus limbs crate", /obj/structure/closet/crate/freezer/surplus_limbs, 8, time = 50, one_per_turf = 1, on_floor = 1), \
+ new /datum/stack_recipe("radiation containment crate", /obj/structure/closet/crate/radiation, 8, time = 50, one_per_turf = 1, on_floor = 1), \
+ new /datum/stack_recipe("hydroponics crate", /obj/structure/closet/crate/hydroponics, 5, time = 50, one_per_turf = 1, on_floor = 1), \
+ new /datum/stack_recipe("engineering crate", /obj/structure/closet/crate/engineering, 5, time = 50, one_per_turf = 1, on_floor = 1), \
+ new /datum/stack_recipe("eletrical crate", /obj/structure/closet/crate/engineering/electrical, 5, time = 50, one_per_turf = 1, on_floor = 1), \
+ new /datum/stack_recipe("RCD storage crate", /obj/structure/closet/crate/rcd, 5, time = 50, one_per_turf = 1, on_floor = 1), \
+ new /datum/stack_recipe("science crate", /obj/structure/closet/crate/science, 5, time = 50, one_per_turf = 1, on_floor = 1), \
+ )), \
new /datum/stack_recipe_list("airlock assemblies", list( \
new/datum/stack_recipe("high security airlock assembly", /obj/structure/door_assembly/door_assembly_highsecurity, 4, time = 50, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("vault door assembly", /obj/structure/door_assembly/door_assembly_vault, 6, time = 50, one_per_turf = 1, on_floor = 1), \
@@ -847,4 +860,3 @@ new /datum/stack_recipe("paper frame door", /obj/structure/mineral_door/paperfra
merge_type = /obj/item/stack/sheet/cotton/durathread
pull_effort = 70
loom_result = /obj/item/stack/sheet/durathread
-
diff --git a/code/game/objects/structures/crates_lockers/closets/bodybag.dm b/code/game/objects/structures/crates_lockers/closets/bodybag.dm
index 5ec3851128..e51aeafdc1 100644
--- a/code/game/objects/structures/crates_lockers/closets/bodybag.dm
+++ b/code/game/objects/structures/crates_lockers/closets/bodybag.dm
@@ -100,3 +100,12 @@
if(isliving(A))
to_chat(A, "You're suddenly forced into a tiny, compressed space!")
qdel(src)
+
+/obj/structure/closet/body_bag/containment
+ name = "containment body bag"
+ desc = "A folded heavy body bag designed for the storage and transportation of cadavers with heavy radiation."
+ icon = 'icons/obj/bodybag.dmi'
+ icon_state = "radbodybag"
+ mob_storage_capacity = 1
+ foldedbag_path = /obj/item/bodybag/containment
+ rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE
\ No newline at end of file
diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm
index b0dfec6318..2c977a34d6 100644
--- a/code/game/objects/structures/crates_lockers/crates.dm
+++ b/code/game/objects/structures/crates_lockers/crates.dm
@@ -179,6 +179,7 @@
desc = "A crate with a radiation sign on it."
name = "radiation crate"
icon_state = "radiation"
+ rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE
/obj/structure/closet/crate/hydroponics
name = "hydroponics crate"
diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm
index 6b3ba6fe28..5405b82848 100644
--- a/code/modules/research/designs/medical_designs.dm
+++ b/code/modules/research/designs/medical_designs.dm
@@ -122,16 +122,6 @@
category = list("Medical Designs")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
-/datum/design/bluespacebodybag
- name = "Bluespace Body Bag"
- desc = "A bluespace body bag, powered by experimental bluespace technology. It can hold loads of bodies and the largest of creatures."
- id = "bluespacebodybag"
- build_type = PROTOLATHE
- materials = list(/datum/material/iron = 3000, /datum/material/plasma = 2000, /datum/material/diamond = 500, /datum/material/bluespace = 500)
- build_path = /obj/item/bodybag/bluespace
- category = list("Medical Designs")
- departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
-
/datum/design/plasmarefiller
name = "Plasma-Man Jumpsuit Refill"
desc = "A refill pack for the auto-extinguisher on Plasma-man suits."
@@ -242,6 +232,40 @@
category = list("Medical Designs")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
+////////////////////////////////////////
+//////////Body Bags/////////////////////
+////////////////////////////////////////
+
+/datum/design/bodybag
+ name = "Body Bag"
+ desc = "A normal body bag used for storge of dead crew."
+ id = "bodybag"
+ build_type = PROTOLATHE
+ materials = list(/datum/material/plastic = 4000)
+ build_path = /obj/item/bodybag
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
+
+/datum/design/bluespacebodybag
+ name = "Bluespace Body Bag"
+ desc = "A bluespace body bag, powered by experimental bluespace technology. It can hold loads of bodies and the largest of creatures."
+ id = "bluespacebodybag"
+ build_type = PROTOLATHE
+ materials = list(/datum/material/iron = 3000, /datum/material/plasma = 2000, /datum/material/diamond = 500, /datum/material/bluespace = 500)
+ build_path = /obj/item/bodybag/bluespace
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
+
+/datum/design/containmentbodybag
+ name = "Containment Body Bag"
+ desc = "A containment body bag, heavy and radiation proof."
+ id = "containmentbodybag"
+ build_type = PROTOLATHE
+ materials = list(/datum/material/iron = 6000, /datum/material/plastic = 4000, /datum/material/titanium = 2000)
+ build_path = /obj/item/bodybag/containment
+ category = list("Medical Designs")
+ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_ENGINEERING
+
////////////////////////////////////////
//////////Defibrillator Tech////////////
////////////////////////////////////////
diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm
index c50227e60d..dafa119873 100644
--- a/code/modules/research/techweb/all_nodes.dm
+++ b/code/modules/research/techweb/all_nodes.dm
@@ -79,7 +79,7 @@
display_name = "Advanced Biotechnology"
description = "Advanced Biotechnology"
prereq_ids = list("biotech")
- design_ids = list("piercesyringe", "crewpinpointer", "smoke_machine", "plasmarefiller", "limbgrower", "meta_beaker", "healthanalyzer_advanced", "harvester", "holobarrier_med", "defibrillator_compact", "smartdartgun", "medicinalsmartdart", "pHmeter")
+ design_ids = list("piercesyringe", "crewpinpointer", "smoke_machine", "plasmarefiller", "limbgrower", "meta_beaker", "healthanalyzer_advanced", "harvester", "holobarrier_med", "defibrillator_compact", "smartdartgun", "medicinalsmartdart", "pHmeter", "containmentbodybag")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
/datum/techweb_node/bio_process
@@ -221,16 +221,14 @@
description = "Unlock the potential of the mysterious of why CC decided to not build these around the station themselves."
prereq_ids = list("adv_engi", "high_efficiency")
design_ids = list("meteor_defence", "meteor_console")
- research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 5000)
-*/
-//datum/techweb_node/adv_meteor_defense
- //id = "adv_meteor_defense"
- //display_name = "Meteor Defense Research"
- //description = "New and improved coding and lock on tech for meteor defence!"
- //prereq_ids = list("basic_meteor_defense", "adv_datatheory", "emp_adv")
- //design_ids = list("meteor_disk")
- //research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1500)
+/datum/techweb_node/adv_meteor_defense
+ id = "adv_meteor_defense"
+ display_name = "Meteor Defense Research"
+ description = "New and improved coding and lock on tech for meteor defence!"
+ prereq_ids = list("basic_meteor_defense", "adv_datatheory", "emp_adv")
+ design_ids = list("meteor_disk")
+*/
/datum/techweb_node/computer_board_gaming
id = "computer_board_gaming"
diff --git a/icons/obj/bodybag.dmi b/icons/obj/bodybag.dmi
index 7fcc193ad6..c3267d3fc9 100644
Binary files a/icons/obj/bodybag.dmi and b/icons/obj/bodybag.dmi differ