diff --git a/baystation12.dme b/baystation12.dme index efe4602b910..c9f480f059d 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -433,7 +433,6 @@ #include "code\game\mecha\working\ripley.dm" #include "code\game\mecha\working\working.dm" #include "code\game\objects\empulse.dm" -#include "code\game\objects\explosion.dm" #include "code\game\objects\explosion_recursive.dm" #include "code\game\objects\items.dm" #include "code\game\objects\objs.dm" diff --git a/code/modules/research/circuitprinter.dm b/code/modules/research/circuitprinter.dm index ccc6f932d48..8f3a765a48e 100644 --- a/code/modules/research/circuitprinter.dm +++ b/code/modules/research/circuitprinter.dm @@ -125,16 +125,20 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis). busy = 1 use_power(max(1000, (3750*amount/10))) - spawn(16) + var/stacktype = stack.type + stack.use(amount) + if(do_after(usr,16)) user << "\blue You add [amount] sheets to the [src.name]." - if(istype(stack, /obj/item/stack/sheet/glass)) - g_amount += amount * 3750 - else if(istype(stack, /obj/item/stack/sheet/mineral/gold)) - gold_amount += amount * 2000 - else if(istype(stack, /obj/item/stack/sheet/mineral/diamond)) - diamond_amount += amount * 2000 - else if(istype(stack, /obj/item/stack/sheet/mineral/uranium)) - uranium_amount += amount * 2000 - stack.use(amount) - busy = 0 - src.updateUsrDialog() + switch(stacktype) + if(/obj/item/stack/sheet/glass) + g_amount += amount * 3750 + if(/obj/item/stack/sheet/mineral/gold) + gold_amount += amount * 2000 + if(/obj/item/stack/sheet/mineral/diamond) + diamond_amount += amount * 2000 + if(/obj/item/stack/sheet/mineral/uranium) + uranium_amount += amount * 2000 + else + new stacktype(src.loc, amount) + busy = 0 + src.updateUsrDialog() \ No newline at end of file diff --git a/code/modules/research/protolathe.dm b/code/modules/research/protolathe.dm index de1a92ec018..c4a523f8b19 100644 --- a/code/modules/research/protolathe.dm +++ b/code/modules/research/protolathe.dm @@ -152,28 +152,32 @@ Note: Must be placed west/left of and R&D console to function. icon_state = "protolathe" busy = 1 use_power(max(1000, (3750*amount/10))) - spawn(16) + var/stacktype = stack.type + stack.use(amount) + if (do_after(user, 16)) user << "\blue You add [amount] sheets to the [src.name]." icon_state = "protolathe" - if(istype(stack, /obj/item/stack/sheet/metal)) - m_amount += amount * 3750 - else if(istype(stack, /obj/item/stack/sheet/glass)) - g_amount += amount * 3750 - else if(istype(stack, /obj/item/stack/sheet/mineral/gold)) - gold_amount += amount * 2000 - else if(istype(stack, /obj/item/stack/sheet/mineral/silver)) - silver_amount += amount * 2000 - else if(istype(stack, /obj/item/stack/sheet/mineral/plasma)) - plasma_amount += amount * 2000 - else if(istype(stack, /obj/item/stack/sheet/mineral/uranium)) - uranium_amount += amount * 2000 - else if(istype(stack, /obj/item/stack/sheet/mineral/diamond)) - diamond_amount += amount * 2000 - else if(istype(stack, /obj/item/stack/sheet/mineral/clown)) - clown_amount += amount * 2000 - else if(istype(stack, /obj/item/stack/sheet/mineral/adamantine)) - adamantine_amount += amount * 2000 - stack.use(amount) - busy = 0 - src.updateUsrDialog() + switch(stacktype) + if(/obj/item/stack/sheet/metal) + m_amount += amount * 3750 + if(/obj/item/stack/sheet/glass) + g_amount += amount * 3750 + if(/obj/item/stack/sheet/mineral/gold) + gold_amount += amount * 2000 + if(/obj/item/stack/sheet/mineral/silver) + silver_amount += amount * 2000 + if(/obj/item/stack/sheet/mineral/plasma) + plasma_amount += amount * 2000 + if(/obj/item/stack/sheet/mineral/uranium) + uranium_amount += amount * 2000 + if(/obj/item/stack/sheet/mineral/diamond) + diamond_amount += amount * 2000 + if(/obj/item/stack/sheet/mineral/clown) + clown_amount += amount * 2000 + if(/obj/item/stack/sheet/mineral/adamantine) + adamantine_amount += amount * 2000 + else + new stacktype(src.loc, amount) + busy = 0 + src.updateUsrDialog() return \ No newline at end of file