From c8dff8fbc5c8f4c82f75847fcb7d6c5d7b9b3ac3 Mon Sep 17 00:00:00 2001 From: TrilbySpaceClone Date: Tue, 4 Feb 2020 04:18:44 -0500 Subject: [PATCH] it just works --- code/game/objects/items/bodybag.dm | 11 +++++ .../items/stacks/sheets/sheet_types.dm | 17 ++++++- .../crates_lockers/closets/bodybag.dm | 9 ++++ .../structures/crates_lockers/crates.dm | 1 + .../research/designs/medical_designs.dm | 44 ++++++++++++++---- code/modules/research/techweb/all_nodes.dm | 29 +++++++----- icons/obj/bodybag.dmi | Bin 875 -> 1188 bytes 7 files changed, 88 insertions(+), 23 deletions(-) diff --git a/code/game/objects/items/bodybag.dm b/code/game/objects/items/bodybag.dm index e93bfb9976..ec60515192 100644 --- a/code/game/objects/items/bodybag.dm +++ b/code/game/objects/items/bodybag.dm @@ -81,3 +81,14 @@ 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 cadavers with heavy radiation." + icon = 'icons/obj/bodybag.dmi' + icon_state = "radbodybag_folded" + unfoldedbag_path = /obj/structure/closet/body_bag/containment + w_class = WEIGHT_CLASS_NORMAL + item_flags = NO_MAT_REDEMPTION | 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 2bd7dd0d38..40618d1cbf 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -154,8 +154,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, 20, 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 storge 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, 6, time = 50, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("vault door assembly", /obj/structure/door_assembly/door_assembly_vault, 8, time = 50, one_per_turf = 1, on_floor = 1), \ diff --git a/code/game/objects/structures/crates_lockers/closets/bodybag.dm b/code/game/objects/structures/crates_lockers/closets/bodybag.dm index 1c34850274..6dd3ac4a08 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 f6b2b6cd51..6d129c2623 100644 --- a/code/game/objects/structures/crates_lockers/crates.dm +++ b/code/game/objects/structures/crates_lockers/crates.dm @@ -169,6 +169,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 bef25456ca..35e420e857 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(MAT_METAL = 3000, MAT_PLASMA = 2000, MAT_DIAMOND = 500, MAT_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." @@ -232,6 +222,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(MAT_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(MAT_METAL = 3000, MAT_PLASMA = 2000, MAT_DIAMOND = 500, MAT_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(MAT_METAL = 6000, MAT_PLASTIC = 4000, MAT_TITANIUM = 2000) + build_path = /obj/item/bodybag/containment + category = list("Medical Designs") + departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE + //////////////////////////////////////// //////////Defibrillator Tech//////////// //////////////////////////////////////// diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index c02fdc7c72..d0ce943da2 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -75,12 +75,20 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 +/datum/techweb_node/aftercare + id = "aftercare" + display_name = "Aftercare" + description = "What you use when its to late." + prereq_ids = list("biotech", "adv_engi") + design_ids = list("bodybag", "containmentbodybag", "harvester") + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1000) + /datum/techweb_node/adv_biotech id = "adv_biotech" 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", "holobarrier_med", "defibrillator_compact", "smartdartgun", "medicinalsmartdart", "pHmeter") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 @@ -239,17 +247,16 @@ prereq_ids = list("adv_engi", "high_efficiency") design_ids = list("meteor_defence", "meteor_console") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 5000) - export_price = 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) - //export_price = 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/computer_board_gaming id = "computer_board_gaming" diff --git a/icons/obj/bodybag.dmi b/icons/obj/bodybag.dmi index 7fcc193ad690ec167ba0826467bd49bd93dabdb2..c3267d3fc924ecfb093d63f945158ca929d3882e 100644 GIT binary patch delta 1034 zcmV+l1oivt2BZlkiBL{Q4GJ0x0000DNk~Le0001h0001B2m=5B0OF*IdjJ3cJdq_O zFy6L3V`XVOFFZs&Nm5W*FE>ai9U~%FXu!b0)YRN_00001bW%=J06^y0W&i*HqmgBa zf06DfN=zZvIS8f1xdur+e#a;)xca$(;~xOOmz$pj35me~00U=9L_t(&f$dq_wxb{n zmCI>I)7q*3|FHvzkObnT)mdw1v3)x|$=)Q0BQn zEW}v6AvKABMk_#ux30VEUs~Tp0h~OEs6~<}&^ZFe;?vx)+}#{Z;VW7S^c6oI+8V2i z0Jw9&D@YGN#eG=n{2j8YJ*9!M%Lf7RcagSyKeus^-^DBg`55S#Z3UCZeYUK z)94j9NBBR1Kd7(fXlQ6?XlVHVf3WLI-_7-ZKjWKQMfqb-A&D@mH z1oD9+h^X)<`XGVU|42Wf_ctW)w|H;}*Lgtw1yzzK5k>t!V0y*sf9xn*Dh*3D^6&y4 zsW^dfHC*AR3S9F0p7G=QzgO5Y$2a#Ep5q8Gj!#-!E@rI$XMSvr9Y?^ee?t%u*I(@~ zKosEr#MT}~?63a^Nq|lL1sDJ4Gwy=iUkGMD)dV;RsQ#}-0M-9%0%CRV^8b20AZ>}c zzc8EC6%4HYFEp5)0u}|YaeO6ywg>9q_5Z*m>`Ot!Z~Jz@T>?u5Oba9dE(`;G5e*hF ztqB0qUjQy(n%GGgRh0Gre=s2hJ&8b%R)7V7&|iQ>04Gl(Dgvm2K1X00@M%8b*HG>+ zgx64_r+!cprj&&qpF>_jdeA|?)n7nXwWko^LlC!OkL&-LHiZVAgj@CfL4FqlpBo<^ zTK`Li+x-RMkW)&o|NYl<+FSo0_P+zI{%>e#XlQ7-5_$d)mv{ARfAGT&ST6l1&Hs<_ zpFjUULccNphty)YB0VAXK>6wXA5e?oYymbkZiEQ9T{QoeP`9GXB|38d2|NpD_1KZ#+&0Xv0b^rhX07*qoM6N<$ EfJos#Of zp|D+1;(Ixyl`O4n=guyexdH!`C*DuHE6MxE^JdL@ObV42_&3HVrSX|?suUw6$f;O@ z3=tuJO>!+78zQBUlq`Djz6qCVSKJ+RnJ;?)!SVS4R(!G(*X_n2!O?*)li0awxTQ%z*CfAplMOk`%VvUZ4b*q0Bh0iQhZ<2dA1kAfR`Lh z)1RMz`{Dw7ebOwoK#)NSvi6>NU%$V=Kt`>9SZohJaeT2 z`$NS=MAQ;KeDUga$d8p4FAVX9!3Z6~4RJ-D?bf!01Ss=pkRjK_!l!r!t zrJo?+LWF65*osH+hYffA!OtClF}?h)KnDGx1N^iV-EP4jYz8&hIzaWo57g z*c|J%H$}5Q%=%x1{b7uJ_~QHjde6qI8Gkbxh%Tl9{&6Z${R_b5R3MTD(u@b12u}Lf zXy9}MlX~=J5)&RSU-59LR@XcpP7zMM-hWen02J#bK>#NfhyVZp07*qoM6N;tV1h#L BLN)*Z