diff --git a/code/modules/food_and_drinks/kitchen_machinery/processor.dm b/code/modules/food_and_drinks/kitchen_machinery/processor.dm index 8a6ecd57b00..7e1834288fe 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/processor.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/processor.dm @@ -33,7 +33,10 @@ continue recipe = new recipe var/list/typecache = list() - for(var/input_type in typesof(recipe.input)) + var/list/bad_types + for(var/bad_type in recipe.blacklist) + LAZYADD(bad_types, typesof(bad_type)) + for(var/input_type in typesof(recipe.input) - bad_types) typecache[input_type] = recipe for(var/machine_type in typesof(recipe.required_machine)) LAZYADD(processor_inputs[machine_type], typecache) diff --git a/code/modules/food_and_drinks/recipes/processor_recipes.dm b/code/modules/food_and_drinks/recipes/processor_recipes.dm index c135551db25..9246ba8afc0 100644 --- a/code/modules/food_and_drinks/recipes/processor_recipes.dm +++ b/code/modules/food_and_drinks/recipes/processor_recipes.dm @@ -1,6 +1,8 @@ /datum/food_processor_process /// What this recipe takes var/input + /// Subtypes of what the recipe takes that it can't actually take. + var/list/blacklist /// What this recipe creates var/output /// The amount of time this recipe takes. @@ -15,10 +17,19 @@ /datum/food_processor_process/meat input = /obj/item/food/meat/slab output = /obj/item/food/raw_meatball + blacklist = list(/obj/item/food/meat/slab/human, + /obj/item/food/meat/slab/corgi, + /obj/item/food/meat/slab/xeno, + /obj/item/food/meat/slab/bear, + /obj/item/food/meat/slab/chicken) multiplier = 3 /datum/food_processor_process/cutlet input = /obj/item/food/meat/cutlet/plain + blacklist = list(/obj/item/food/meat/cutlet/plain/human, + /obj/item/food/meat/cutlet/xeno, + /obj/item/food/meat/cutlet/bear, + /obj/item/food/meat/cutlet/chicken) output = /obj/item/food/raw_meatball /datum/food_processor_process/meat/human @@ -72,6 +83,7 @@ /datum/food_processor_process/potato input = /obj/item/food/grown/potato + blacklist = list(/obj/item/food/grown/potato/sweet, /obj/item/food/grown/potato/wedges) output = /obj/item/food/tatortot /datum/food_processor_process/carrot