From 3d806081d0691bde9cf4208a2a0703ceb4f89d5c Mon Sep 17 00:00:00 2001 From: Markolie Date: Fri, 21 Nov 2014 21:39:43 +0100 Subject: [PATCH] Let protolathe's be loaded with chemicals again, let circuitprinter drop chemicals when deconstructed --- code/modules/research/circuitprinter.dm | 8 +++++++- code/modules/research/protolathe.dm | 14 +++++++------- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/code/modules/research/circuitprinter.dm b/code/modules/research/circuitprinter.dm index cffebbf3911..0a248fa4cbe 100644 --- a/code/modules/research/circuitprinter.dm +++ b/code/modules/research/circuitprinter.dm @@ -1,6 +1,6 @@ /*///////////////Circuit Imprinter (By Darem)//////////////////////// Used to print new circuit boards (for computers and similar systems) and AI modules. Each circuit board pattern are stored in -a /datum/desgin on the linked R&D console. You can then print them out in a fasion similar to a regular lathe. However, instead of +a /datum/design on the linked R&D console. You can then print them out in a fasion similar to a regular lathe. However, instead of using metal and glass, it uses glass and reagents (usually sulfuric acis). */ @@ -69,6 +69,12 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis). if (panel_open) if(istype(O, /obj/item/weapon/crowbar)) + for(var/obj/I in component_parts) + if(istype(I, /obj/item/weapon/reagent_containers/glass/beaker)) + reagents.trans_to(I, reagents.total_volume) + if(I.reliability != 100 && crit_fail) + I.crit_fail = 1 + I.loc = src.loc if(g_amount >= 3750) var/obj/item/stack/sheet/glass/G = new /obj/item/stack/sheet/glass(src.loc) G.amount = round(g_amount / 3750) diff --git a/code/modules/research/protolathe.dm b/code/modules/research/protolathe.dm index 66e02cc8515..c850f5db1e0 100644 --- a/code/modules/research/protolathe.dm +++ b/code/modules/research/protolathe.dm @@ -57,14 +57,11 @@ Note: Must be placed west/left of and R&D console to function. efficiency_coeff = max(T, 1) /obj/machinery/r_n_d/protolathe/attackby(var/obj/item/O as obj, var/mob/user as mob) - if (shocked) - shock(user,50) - if(exchange_parts(user, O)) return 1 - - if (O.is_open_container()) - return 1 + + if (shocked) + shock(user,50) if (istype(O, /obj/item/weapon/screwdriver)) if (default_deconstruction_screwdriver(user, "protolathe_t", "protolathe", O)) @@ -118,6 +115,8 @@ Note: Must be placed west/left of and R&D console to function. if (!linked_console) user << "\The protolathe must be linked to an R&D console first!" return 1 + if (O.is_open_container()) + return if (busy) user << "\red The protolathe is busy. Please wait for completion of previous operation." return 1 @@ -180,4 +179,5 @@ Note: Must be placed west/left of and R&D console to function. new stacktype(src.loc, amount) busy = 0 src.updateUsrDialog() - return \ No newline at end of file + return + \ No newline at end of file