diff --git a/changelog.txt b/changelog.txt index c8a5e16..01f469d 100644 --- a/changelog.txt +++ b/changelog.txt @@ -2,7 +2,14 @@ Version: 0.5.0 Date: 2021-01-15 Changes: + - New default setting for cermet: + Cermet is used in LDS (instead of pure Zirconia). Recipe is balanced + around this. In space exploration, Cermet is also used in Aeroframe Scaffolds. + This may eventually become the only option when cermet is enabled, if + supporting the setting gets too difficult. I will support the setting + for at least a few months. - New Cermet Graphics + - Cermet tech is available earlier. - Zircon used instead of iron ore in concrete (use Bypass recipes if you wish) - Zirconium processing no longer a prerequisite to chemical science --------------------------------------------------------------------------------------------------- diff --git a/data-final-fixes.lua b/data-final-fixes.lua index 7b29508..2121505 100644 --- a/data-final-fixes.lua +++ b/data-final-fixes.lua @@ -1,4 +1,5 @@ require("modules") +require("zirconium-recipe-updates-lds") require("zirconium-recipe-final-stacking") require("zirconium-recipe-final-rrr") @@ -12,7 +13,6 @@ if mods["space-exploration"] then data.raw.item["zirconium-plate"].subgroup = "plates" data.raw.recipe["zirconium-plate"].subgroup = "plates" - -- core mining balancing util.add_to_product("se-core-fragment-omni", "zircon", -3) end diff --git a/locale/en/zirconium.cfg b/locale/en/zirconium.cfg index f641cd0..468037c 100644 --- a/locale/en/zirconium.cfg +++ b/locale/en/zirconium.cfg @@ -57,3 +57,6 @@ bzzirconium-enable-intermediates=Enable cermet [mod-setting-description] bzzirconium-recipe-bypass=Skip modifying these recipes (comma-separated list). bzzirconium-enable-intermediates=Enable cermet, an advanced intermediate made from ceramics and metals. +[string-mod-setting] +bzzirconium-enable-intermediates-lds=Yes, and __ITEM__cermet__ in __ITEM__low-density-structure__ +bzzirconium-enable-intermediates-yes=Yes, but not in __ITEM__low-density-structure__ diff --git a/me.lua b/me.lua index 812ce03..03b4050 100644 --- a/me.lua +++ b/me.lua @@ -3,7 +3,11 @@ local me = {} me.name = "bzzirconium" function me.use_cermet() - return me.get_setting("bzzirconium-enable-intermediates") == "yes" + return me.get_setting("bzzirconium-enable-intermediates") == "yes" or me.cermet_lds() +end + +function me.cermet_lds() + return me.get_setting("bzzirconium-enable-intermediates") == "lds" end function me.get_setting(name) diff --git a/settings.lua b/settings.lua index 6f5591e..624812e 100644 --- a/settings.lua +++ b/settings.lua @@ -10,7 +10,7 @@ data:extend({ type = "string-setting", name = "bzzirconium-enable-intermediates", setting_type = "startup", - default_value = "yes", - allowed_values = {"yes", "no"}, + default_value = "lds", + allowed_values = {"lds", "yes", "no"}, }, }) diff --git a/tech-updates.lua b/tech-updates.lua index af981c0..339d756 100644 --- a/tech-updates.lua +++ b/tech-updates.lua @@ -20,14 +20,6 @@ if util.me.use_cermet() then -- utility science techs behind cermet util.add_prerequisite("rocket-control-unit", "cermet") - util.set_tech_recipe("rocket-control-unit", - { - {"automation-science-pack", 1}, - {"logistic-science-pack", 1}, - {"chemical-science-pack", 1}, - {"production-science-pack", 1}, - {"utility-science-pack", 1}, - }) -- Bob's util.add_prerequisite("chemical-plant-3", "cermet") diff --git a/zirconium-recipe-updates-lds.lua b/zirconium-recipe-updates-lds.lua new file mode 100644 index 0000000..62189dc --- /dev/null +++ b/zirconium-recipe-updates-lds.lua @@ -0,0 +1,35 @@ +local util = require("data-util"); + +if util.me.cermet_lds() then + util.add_prerequisite("low-density-structure", "cermet") + + if mods.Krastorio2 then + util.add_ingredient("low-density-structure", "cermet", 5) + else + util.add_ingredient("low-density-structure", "cermet", 10) + end + + if mods.bztitanium then + util.remove_ingredient("low-density-structure", "copper-plate") + elseif mods.Krastorio2 then + util.set_ingredient("low-density-structure", "copper-plate", 5) + else + util.set_ingredient("low-density-structure", "copper-plate", 10) + end + + util.remove_ingredient("low-density-structure", "steel-plate") +else + if mods.Krastorio2 then + util.replace_some_ingredient("low-density-structure", "copper-plate", 5, "zirconia", 5) + else + util.replace_some_ingredient("low-density-structure", "copper-plate", 10, "zirconia", 10) + end +end + +if mods["space-exploration"] then + if util.me.cermet_lds() then + util.replace_some_ingredient("se-aeroframe-scaffold", "se-aeroframe-pole", 1, "cermet", 2) + else + util.replace_some_ingredient("se-aeroframe-scaffold", "se-aeroframe-pole", 1, "zirconia", 2) + end +end diff --git a/zirconium-recipe-updates.lua b/zirconium-recipe-updates.lua index 48e0974..2622fa6 100644 --- a/zirconium-recipe-updates.lua +++ b/zirconium-recipe-updates.lua @@ -14,12 +14,6 @@ if mods["aai-industry"] then util.add_ingredient("concrete", "zircon", 1) end -if mods["Krastorio2"] then - util.replace_some_ingredient("low-density-structure", "copper-plate", 5, "zirconia", 5) -else - util.replace_some_ingredient("low-density-structure", "copper-plate", 10, "zirconia", 10) -end - util.add_ingredient("explosives", "zirconium-plate", 1) util.add_ingredient("nuclear-reactor", "zirconium-plate", 100) @@ -82,7 +76,6 @@ end -- Space Exploration if mods["space-exploration"] then - util.replace_some_ingredient("se-aeroframe-scaffold", "se-aeroframe-pole", 1, "zirconia", 2) util.replace_some_ingredient("se-heat-shielding", "stone-tablet", 10, "zirconia", 10) util.replace_ingredient("se-heat-shielding-iridium", "stone-tablet", "zirconia") util.add_ingredient("se-thruster-suit", "zirconium-plate", 10) diff --git a/zirconium-recipe.lua b/zirconium-recipe.lua index 8836a04..d761f3d 100644 --- a/zirconium-recipe.lua +++ b/zirconium-recipe.lua @@ -204,14 +204,16 @@ data:extend({ {"automation-science-pack", 1}, {"logistic-science-pack", 1}, {"chemical-science-pack", 1}, - {"production-science-pack", 1}, }, time = 30, }, - prerequisites = {"production-science-pack"}, + prerequisites = {"zirconia-processing"}, order = "c" }, }) +if mods.bztitanium then + util.add_prerequisite("cermet", util.titanium_processing) +end end -- sorting