Fixes cooking machinery runtimes

Some recipes were sorted using paths that resulted in empty recipe types
(for example, /datum/recipe/microwave/human/burger causing an empty
/detum/recipe/microwave/human type to exist). These would be included in
the available recipes, and since their requirements are null, would all
be satisfied by anything in the machine. Since their result is null, a
runtime would occur while trying to create nothing.

This fixes some (all? Too lazy to test them all) kitchen machines never
failing.
This commit is contained in:
Krausus
2015-05-16 03:18:43 -04:00
parent 89de5e89fe
commit 835276e07e
4 changed files with 20 additions and 4 deletions
+5 -1
View File
@@ -33,7 +33,11 @@
if (!available_recipes)
available_recipes = new
for (var/type in (typesof(/datum/recipe/candy)-/datum/recipe/candy))
available_recipes+= new type
var/datum/recipe/recipe = new type
if(recipe.result) // Ignore recipe subtypes that lack a result
available_recipes += recipe
else
del(recipe)
acceptable_items = new
acceptable_reagents = new
for (var/datum/recipe/candy/recipe in available_recipes)
+5 -1
View File
@@ -34,7 +34,11 @@
if (!available_recipes)
available_recipes = new
for (var/type in (typesof(/datum/recipe/grill)-/datum/recipe/grill))
available_recipes+= new type
var/datum/recipe/recipe = new type
if(recipe.result) // Ignore recipe subtypes that lack a result
available_recipes += recipe
else
del(recipe)
acceptable_items = new
acceptable_reagents = new
for (var/datum/recipe/grill/recipe in available_recipes)
+5 -1
View File
@@ -34,7 +34,11 @@
if (!available_recipes)
available_recipes = new
for (var/type in (typesof(/datum/recipe/oven)-/datum/recipe/oven))
available_recipes+= new type
var/datum/recipe/recipe = new type
if(recipe.result) // Ignore recipe subtypes that lack a result
available_recipes += recipe
else
del(recipe)
acceptable_items = new
acceptable_reagents = new
for (var/datum/recipe/oven/recipe in available_recipes)