From 7b3b1f65ec0574ecedc3ebde461fc81a2185a965 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 19 Mar 2018 22:17:05 -0500 Subject: [PATCH] [MIRROR] Adds two new intermediate beaker types to chemistry (#6018) * Adds two new intermediate beaker types to chemistry * YAY I DON'T HAVE TO KEEP UP WITH SNOWFLAKE ANYMORE * Update all_nodes.dm --- code/__DEFINES/construction.dm | 2 +- code/datums/components/material_container.dm | 5 ++++ .../reagents/reagent_containers/glass.dm | 23 ++++++++++++++++++ .../research/designs/medical_designs.dm | 20 ++++++++++++++- .../modules/research/machinery/_production.dm | 2 +- code/modules/research/techweb/all_nodes.dm | 4 +-- icons/obj/reagentfillings.dmi | Bin 3555 -> 3885 bytes 7 files changed, 51 insertions(+), 5 deletions(-) diff --git a/code/__DEFINES/construction.dm b/code/__DEFINES/construction.dm index 446eabdd3e..0a7bc2cde4 100644 --- a/code/__DEFINES/construction.dm +++ b/code/__DEFINES/construction.dm @@ -80,7 +80,7 @@ #define MAT_BANANIUM "$bananium" #define MAT_TITANIUM "$titanium" #define MAT_BIOMASS "$biomass" -#define MAT_PLASTIC "$plastic" // CITADEL ADDITION +#define MAT_PLASTIC "$plastic" //The amount of materials you get from a sheet of mineral like iron/diamond/glass etc #define MINERAL_MATERIAL_AMOUNT 2000 //The maximum size of a stack object. diff --git a/code/datums/components/material_container.dm b/code/datums/components/material_container.dm index 5221e2b387..7681b5491b 100644 --- a/code/datums/components/material_container.dm +++ b/code/datums/components/material_container.dm @@ -352,3 +352,8 @@ /datum/material/biomass name = "Biomass" id = MAT_BIOMASS + +/datum/material/plastic + name = "Plastic" + id = MAT_PLASTIC + sheet_type = /obj/item/stack/sheet/plastic diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index e337953f33..1be1afccdd 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -165,6 +165,29 @@ amount_per_transfer_from_this = 10 possible_transfer_amounts = list(5,10,15,20,25,30,50,100) +/obj/item/reagent_containers/glass/beaker/plastic + name = "x-large beaker" + desc = "An extra-large beaker. Can hold up to 120 units." + icon_state = "beakerwhite" + materials = list(MAT_GLASS=2500, MAT_PLASTIC=3000) + volume = 120 + amount_per_transfer_from_this = 10 + possible_transfer_amounts = list(10,15,20,25,30,60,120) + +/obj/item/reagent_containers/glass/beaker/plastic/update_icon() + icon_state = "beakerlarge" // hack to lets us reuse the large beaker reagent fill states + ..() + icon_state = "beakerwhite" + +/obj/item/reagent_containers/glass/beaker/meta + name = "metamaterial beaker" + desc = "A large beaker. Can hold up to 180 units." + icon_state = "beakergold" + materials = list(MAT_GLASS=2500, MAT_PLASTIC=3000, MAT_GOLD=1000, MAT_TITANIUM=1000) + volume = 180 + amount_per_transfer_from_this = 10 + possible_transfer_amounts = list(10,15,20,25,30,60,120,180) + /obj/item/reagent_containers/glass/beaker/noreact name = "cryostasis beaker" desc = "A cryostasis beaker that allows for chemical storage without \ diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm index 9f287c6ee2..79edee08ce 100644 --- a/code/modules/research/designs/medical_designs.dm +++ b/code/modules/research/designs/medical_designs.dm @@ -44,6 +44,24 @@ category = list("Medical Designs") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL +/datum/design/xlarge_beaker + name = "X-large Beaker" + id = "xlarge_beaker" + build_type = PROTOLATHE + departmental_flags = DEPARTMENTAL_FLAG_MEDICAL + materials = list(MAT_GLASS = 2500, MAT_PLASTIC = 3000) + build_path = /obj/item/reagent_containers/glass/beaker/plastic + category = list("Medical Designs") + +/datum/design/meta_beaker + name = "Metamaterial Beaker" + id = "meta_beaker" + build_type = PROTOLATHE + departmental_flags = DEPARTMENTAL_FLAG_MEDICAL + materials = list(MAT_GLASS = 2500, MAT_PLASTIC = 3000, MAT_GOLD = 1000, MAT_TITANIUM = 1000) + build_path = /obj/item/reagent_containers/glass/beaker/meta + category = list("Medical Designs") + /datum/design/bluespacesyringe name = "Bluespace Syringe" desc = "An advanced syringe that can hold 60 units of chemicals" @@ -556,4 +574,4 @@ materials = list(MAT_METAL = 300, MAT_GLASS = 100) build_path = /obj/item/disk/surgery/necrotic_revival category = list("Medical Designs") - departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE \ No newline at end of file + departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE diff --git a/code/modules/research/machinery/_production.dm b/code/modules/research/machinery/_production.dm index 0ae773b3e7..3c5f09a978 100644 --- a/code/modules/research/machinery/_production.dm +++ b/code/modules/research/machinery/_production.dm @@ -23,7 +23,7 @@ . = ..() create_reagents(0) materials = AddComponent(/datum/component/material_container, - list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE), 0, + list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE, MAT_PLASTIC), 0, FALSE, list(/obj/item/stack), CALLBACK(src, .proc/is_insertion_ready), CALLBACK(src, .proc/AfterMaterialInsert)) materials.precise_insertion = TRUE RefreshParts() diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index 2fc41e1638..05d1fee1a9 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -9,7 +9,7 @@ description = "NT default research technologies." design_ids = list("basic_matter_bin", "basic_cell", "basic_scanning", "basic_capacitor", "basic_micro_laser", "micro_mani", "destructive_analyzer", "circuit_imprinter", "experimentor", "rdconsole", "design_disk", "tech_disk", "rdserver", "rdservercontrol", "mechfab", - "space_heater") //Default research tech, prevents bricking + "space_heater","xlarge_beaker") //Default research tech, prevents bricking /////////////////////////Biotech///////////////////////// /datum/techweb_node/biotech @@ -26,7 +26,7 @@ display_name = "Advanced Biotechnology" description = "Advanced Biotechnology" prereq_ids = list("biotech") - design_ids = list("piercesyringe", "plasmarefiller", "limbgrower", "defibrillator") + design_ids = list("piercesyringe", "smoke_machine", "plasmarefiller", "limbgrower", "defibrillator", "meta_beaker") research_cost = 2500 export_price = 5000 diff --git a/icons/obj/reagentfillings.dmi b/icons/obj/reagentfillings.dmi index 6e7973ef6d29f076c931fe917e8f338eaa6f62db..1b8dacf36daaffb08e40ef7351b9d349384bf59c 100644 GIT binary patch literal 3885 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