diff --git a/code/modules/mining/machine_processing.dm b/code/modules/mining/machine_processing.dm index f25da68372c..b7ba2d03444 100644 --- a/code/modules/mining/machine_processing.dm +++ b/code/modules/mining/machine_processing.dm @@ -213,13 +213,18 @@ span.notsmelting { if(src.output) break processing_objects.Add(src) - for(var/recipetype in typesof(/datum/smelting_recipe) - /datum/smelting_recipe) - recipes += new recipetype - for(var/oredata in typesof(/datum/processable_ore) - /datum/processable_ore) var/datum/processable_ore/ore_datum = new oredata ore[ore_datum.id]=ore_datum + for(var/recipetype in typesof(/datum/smelting_recipe) - /datum/smelting_recipe) + var/datum/smelting_recipe/recipe= new recipetype + // Sanity + for(var/ingredient in recipe.ingredients) + if(!(ingredient in ore)) + warning("Unknown ingredient [ingredient] in recipe [recipe.name]!") + recipes += recipe + return return @@ -227,7 +232,6 @@ span.notsmelting { if(!(ore_id in ore)) warning("addMaterial(): Unknown material [ore_id]!") return - // Oh how I wish ore[ore_id].stored-- worked. var/datum/processable_ore/po=ore[ore_id] po.stored += amount ore[ore_id]=po @@ -381,9 +385,10 @@ span.notsmelting { if (O.recycle(src)) //O.loc=null del(O) - continue + break if(O && istype(O,/obj/item)) O.loc = src.output.loc + break /obj/machinery/mineral/processing_unit_console/recycle/attack_ai(var/mob/user as mob) diff --git a/code/modules/mining/smelting.dm b/code/modules/mining/smelting.dm index 0589fbe00a6..1325b46bf0f 100644 --- a/code/modules/mining/smelting.dm +++ b/code/modules/mining/smelting.dm @@ -38,14 +38,14 @@ /datum/smelting_recipe/glass name="Glass" ingredients=list( - "sand"=1 + "glass"=1 ) yieldtype=/obj/item/stack/sheet/glass /datum/smelting_recipe/rglass name="Reinforced Glass" ingredients=list( - "sand"=1, + "glass"=1, "iron"=1 ) yieldtype=/obj/item/stack/sheet/rglass