diff --git a/PHI-RS/data.lua b/PHI-RS/data.lua index 7c033b1..87d016d 100644 --- a/PHI-RS/data.lua +++ b/PHI-RS/data.lua @@ -1,10 +1,6 @@ local recipe_multiplier = {settings.startup['PHI-RS-RECIPE-1'].value, settings.startup['PHI-RS-RECIPE-2'].value} local items = require 'config' -if recipe_multiplier[1] == 1 then - recipe_multiplier[1] = nil -end - data.raw['utility-constants'].default.dynamic_recipe_overload_factor = settings.startup['PHI-RS-RECIPE-DROF'].value / 100 if settings.startup['PHI-RS-MODULE'].value == true then @@ -46,113 +42,115 @@ if settings.startup['PHI-RS-MODULE'].value == true then }) end -for i=1, #items, 1 do - if data.raw.recipe[items[i].name] ~= nil then - for j=1, #recipe_multiplier, 1 do - local item = table.deepcopy(data.raw.recipe[items[i].name]) - item.enabled = false +for j=1, 2, 1 do + if recipe_multiplier[j] ~= 1 then + for i=1, #items, 1 do + if data.raw.recipe[items[i].name] ~= nil then + local item = table.deepcopy(data.raw.recipe[items[i].name]) + item.enabled = false - if (item.normal ~= nil) and (item.normal ~= false) then - for k, v in pairs(item.normal.ingredients) do - if (v[1] ~= nil) and (v[2] ~= nil) then - item.normal.ingredients[k][2] = v[2] * recipe_multiplier[j] - else - item.normal.ingredients[k].amount = v.amount * recipe_multiplier[j] - end - end - - if item.normal.results ~= nil then - for k, v in pairs(item.normal.results) do + if (item.normal ~= nil) and (item.normal ~= false) then + for k, v in pairs(item.normal.ingredients) do if (v[1] ~= nil) and (v[2] ~= nil) then - item.normal.results[k][2] = v[2] * recipe_multiplier[j] + item.normal.ingredients[k][2] = v[2] * recipe_multiplier[j] else - item.normal.results[k].amount = v.amount * recipe_multiplier[j] + item.normal.ingredients[k].amount = v.amount * recipe_multiplier[j] end end - else - if item.normal.result_count ~= nil then - item.normal.result_count = item.normal.result_count * recipe_multiplier[j] + if item.normal.results ~= nil then + for k, v in pairs(item.normal.results) do + if (v[1] ~= nil) and (v[2] ~= nil) then + item.normal.results[k][2] = v[2] * recipe_multiplier[j] + else + item.normal.results[k].amount = v.amount * recipe_multiplier[j] + end + end + else - item.normal.result_count = recipe_multiplier[j] - end - end - - if item.normal.energy_required ~= nil then - item.normal.energy_required = item.normal.energy_required * recipe_multiplier[j] - else - item.normal.energy_required = recipe_multiplier[j] / 2 - end - - elseif (item.expensive) ~= nil and (item.expensive ~= false) then - for k, v in pairs(item.expensive.ingredients) do - if (v[1] ~= nil) and (v[2] ~= nil) then - item.expensive.ingredients[k][2] = v[2] * recipe_multiplier[j] - else - item.expensive.ingredients[k].amount = v.amount * recipe_multiplier[j] - end - end - - if item.expensive.results ~= nil then - for k, v in pairs(item.expensive.results) do - if (v[1] ~= nil) and (v[2] ~= nil) then - item.expensive.results[k][2] = v[2] * recipe_multiplier[j] + if item.normal.result_count ~= nil then + item.normal.result_count = item.normal.result_count * recipe_multiplier[j] else - item.expensive.results[k].amount = v.amount * recipe_multiplier[j] + item.normal.result_count = recipe_multiplier[j] end end - else - if item.expensive.result_count ~= nil then - item.expensive.result_count = item.expensive.result_count * recipe_multiplier[j] + if item.normal.energy_required ~= nil then + item.normal.energy_required = item.normal.energy_required * recipe_multiplier[j] else - item.expensive.result_count = recipe_multiplier[j] + item.normal.energy_required = recipe_multiplier[j] / 2 end - end - if item.expensive.energy_required ~= nil then - item.expensive.energy_required = item.expensive.energy_required * recipe_multiplier[j] - else - item.expensive.energy_required = recipe_multiplier[j] / 2 - end - - else - for k, v in pairs(item.ingredients) do - if (v[1] ~= nil) and (v[2] ~= nil) then - item.ingredients[k][2] = v[2] * recipe_multiplier[j] - else - item.ingredients[k].amount = v.amount * recipe_multiplier[j] - end - end - - if item.results ~= nil then - for k, v in pairs(item.results) do + elseif (item.expensive) ~= nil and (item.expensive ~= false) then + for k, v in pairs(item.expensive.ingredients) do if (v[1] ~= nil) and (v[2] ~= nil) then - item.results[k][2] = v[2] * recipe_multiplier[j] + item.expensive.ingredients[k][2] = v[2] * recipe_multiplier[j] else - item.results[k].amount = v.amount * recipe_multiplier[j] + item.expensive.ingredients[k].amount = v.amount * recipe_multiplier[j] end end - else - if item.result_count ~= nil then - item.result_count = item.result_count * recipe_multiplier[j] + if item.expensive.results ~= nil then + for k, v in pairs(item.expensive.results) do + if (v[1] ~= nil) and (v[2] ~= nil) then + item.expensive.results[k][2] = v[2] * recipe_multiplier[j] + else + item.expensive.results[k].amount = v.amount * recipe_multiplier[j] + end + end + else - item.result_count = recipe_multiplier[j] + if item.expensive.result_count ~= nil then + item.expensive.result_count = item.expensive.result_count * recipe_multiplier[j] + else + item.expensive.result_count = recipe_multiplier[j] + end + end + + if item.expensive.energy_required ~= nil then + item.expensive.energy_required = item.expensive.energy_required * recipe_multiplier[j] + else + item.expensive.energy_required = recipe_multiplier[j] / 2 + end + + else + for k, v in pairs(item.ingredients) do + if (v[1] ~= nil) and (v[2] ~= nil) then + item.ingredients[k][2] = v[2] * recipe_multiplier[j] + else + item.ingredients[k].amount = v.amount * recipe_multiplier[j] + end + end + + if item.results ~= nil then + for k, v in pairs(item.results) do + if (v[1] ~= nil) and (v[2] ~= nil) then + item.results[k][2] = v[2] * recipe_multiplier[j] + else + item.results[k].amount = v.amount * recipe_multiplier[j] + end + end + + else + if item.result_count ~= nil then + item.result_count = item.result_count * recipe_multiplier[j] + else + item.result_count = recipe_multiplier[j] + end + end + + if item.energy_required ~= nil then + item.energy_required = item.energy_required * recipe_multiplier[j] + else + item.energy_required = recipe_multiplier[j] / 2 end end - if item.energy_required ~= nil then - item.energy_required = item.energy_required * recipe_multiplier[j] - else - item.energy_required = recipe_multiplier[j] / 2 - end + item.name = item.name .. '-s' .. j + + data:extend({item}) + table.insert(data.raw.technology[items[i].tech].effects, {type='unlock-recipe', recipe=item.name}) end - - item.name = item.name .. '-s' .. j - - data:extend({item}) - table.insert(data.raw.technology[items[i].tech].effects, {type='unlock-recipe', recipe=item.name}) end end end diff --git a/PHI-RS/locale/en/locale.cfg b/PHI-RS/locale/en/locale.cfg index 28c9c3c..371fcbf 100644 --- a/PHI-RS/locale/en/locale.cfg +++ b/PHI-RS/locale/en/locale.cfg @@ -33,5 +33,5 @@ PHI-RS-MODULE=Module [mod-setting-description] PHI-RS-RECIPE-1=Default 4 ; Disable 1 -PHI-RS-RECIPE-2=Default 8 +PHI-RS-RECIPE-2=Default 8 ; Disable 1 PHI-RS-RECIPE-DROF=Default 117 diff --git a/PHI-RS/locale/ja/locale.cfg b/PHI-RS/locale/ja/locale.cfg index f59ac07..e66caaf 100644 --- a/PHI-RS/locale/ja/locale.cfg +++ b/PHI-RS/locale/ja/locale.cfg @@ -33,5 +33,5 @@ PHI-RS-MODULE=モジュール [mod-setting-description] PHI-RS-RECIPE-1=デフォルト 4 ; 止める 1 -PHI-RS-RECIPE-2=デフォルト 8 +PHI-RS-RECIPE-2=デフォルト 8 ; 止める 1 PHI-RS-RECIPE-DROF=デフォルト 117 diff --git a/PHI-RS/locale/zh-CN/locale.cfg b/PHI-RS/locale/zh-CN/locale.cfg index c05570f..df11294 100644 --- a/PHI-RS/locale/zh-CN/locale.cfg +++ b/PHI-RS/locale/zh-CN/locale.cfg @@ -33,5 +33,5 @@ PHI-RS-MODULE=模組 [mod-setting-description] PHI-RS-RECIPE-1=預設 4 ; 停用 1 -PHI-RS-RECIPE-2=預設 8 +PHI-RS-RECIPE-2=預設 8 ; 停用 1 PHI-RS-RECIPE-DROF=預設 117 diff --git a/PHI-RS/locale/zh-TW/locale.cfg b/PHI-RS/locale/zh-TW/locale.cfg index c05570f..df11294 100644 --- a/PHI-RS/locale/zh-TW/locale.cfg +++ b/PHI-RS/locale/zh-TW/locale.cfg @@ -33,5 +33,5 @@ PHI-RS-MODULE=模組 [mod-setting-description] PHI-RS-RECIPE-1=預設 4 ; 停用 1 -PHI-RS-RECIPE-2=預設 8 +PHI-RS-RECIPE-2=預設 8 ; 停用 1 PHI-RS-RECIPE-DROF=預設 117 diff --git a/PHI-RS/settings.lua b/PHI-RS/settings.lua index 1408ddf..6c23435 100644 --- a/PHI-RS/settings.lua +++ b/PHI-RS/settings.lua @@ -3,14 +3,14 @@ data:extend({{ name = 'PHI-RS-RECIPE-1', setting_type = 'startup', default_value = 4, - allowed_values = {1, 2, 3, 4, 5, 6}, + allowed_values = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, order = 'A1' }, { type = 'int-setting', name = 'PHI-RS-RECIPE-2', setting_type = 'startup', default_value = 8, - allowed_values = {2, 3, 4, 5, 6, 7, 8, 9, 10}, + allowed_values = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, order = 'A2' }, { type = 'bool-setting', @@ -20,7 +20,7 @@ data:extend({{ order = 'A3' }, { type = 'int-setting', - name = 'PHI-RS-RECIPE-3', + name = 'PHI-RS-RECIPE-DROF', setting_type = 'startup', default_value = 117, minimum_value = 50,