From 6c7b85f515f549519b1e8895625b62edd88ce345 Mon Sep 17 00:00:00 2001 From: Brevven Date: Mon, 16 Jan 2023 19:58:30 -0800 Subject: [PATCH] up --- data-util.lua | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/data-util.lua b/data-util.lua index 3373bb2..4c4cd1e 100644 --- a/data-util.lua +++ b/data-util.lua @@ -312,6 +312,21 @@ function util.add_unlock(technology_name, recipe) util.add_effect(technology_name, {type="unlock-recipe", recipe=recipe}) end +-- Check if a tech unlocks a recipe +function util.check_unlock(technology_name, recipe) + local technology = data.raw.technology[technology_name] + if technology and technology.effects then + for i, effect in pairs(technology.effects) do + if effect.type == "unlock-recipe" and effect.recipe == recipe_name then + return true + end + end + end + return false +end + + + -- remove recipe unlock effect from a given technology, multiple times if necessary function util.remove_recipe_effect(technology_name, recipe_name) local technology = data.raw.technology[technology_name] @@ -531,6 +546,21 @@ function util.get_amount(recipe_name, product) return 0 end +-- Get the count of results +function util.get_result_count(recipe_name, product) + if not product then product = recipe_name end + local recipe = data.raw.recipe[recipe_name] + if recipe then + if recipe.normal and recipe.normal.results then + return #(recipe.normal.results) + elseif recipe.results then + return #(recipe.results) + end + return 1 + end + return 0 +end + -- Replace one ingredient with another in a recipe -- Use amount to set an amount. If that amount is a multiplier instead of an exact amount, set multiply true. function util.replace_ingredient(recipe_name, old, new, amount, multiply, options)