From 8ca02c341c58461fdeeee3685c7b2625c5f3b01b Mon Sep 17 00:00:00 2001 From: Simon Brodtmann Date: Fri, 28 Mar 2025 09:23:01 +0100 Subject: [PATCH] Add compatibility for "Any planet start" (Fulgora) --- .../compatibility/any-planet-start.lua | 66 ++++++++++++------- 1 file changed, 41 insertions(+), 25 deletions(-) diff --git a/lignumis/prototypes/compatibility/any-planet-start.lua b/lignumis/prototypes/compatibility/any-planet-start.lua index f58c399..cb23e87 100644 --- a/lignumis/prototypes/compatibility/any-planet-start.lua +++ b/lignumis/prototypes/compatibility/any-planet-start.lua @@ -2,32 +2,48 @@ local Technology = require("__cf-lib__/data/Technology") if not mods["any-planet-start"] then return end -if settings.startup["aps-planet"].value == "vulcanus" then - Technology:new("planet-discovery-vulcanus") - :assign({ - enabled = true, - hidden = false, - unit = { - count = 100, - ingredients = { - { "wood-science-pack", 1 }, - { "steam-science-pack", 1 } - }, - time = 30 - } - }) - :addPrerequisite("provisional-rocketry") - Technology:new("copper-processing"):replacePrerequisite("planet-discovery-nauvis", "planet-discovery-vulcanus") - Technology:new("iron-processing"):replacePrerequisite("planet-discovery-nauvis", "planet-discovery-vulcanus") +local target_planet = settings.startup["aps-planet"].value + +if target_planet == "none" or target_planet == "nauvis" then return end + +-- Switch planet discovery technology to the new planet +Technology:new("planet-discovery-" .. target_planet) + :assign({ + enabled = true, + hidden = false, + unit = { + count = 100, + ingredients = { + { "wood-science-pack", 1 }, + { "steam-science-pack", 1 } + }, + time = 30 + } + }) + :addPrerequisite("provisional-rocketry") +Technology:new("iron-processing"):replacePrerequisite("planet-discovery-nauvis", "planet-discovery-" .. target_planet) +Technology:new("copper-processing"):replacePrerequisite("planet-discovery-nauvis", "planet-discovery-" .. target_planet) + + +-- Vulcanus +if target_planet == "vulcanus" then Technology:new("automation"):addPrerequisite("iron-processing") Technology:new("steel-processing"):addPrerequisite("iron-processing") Technology:new("tungsten-carbide"):addPrerequisite("planet-discovery-vulcanus") - - Technology:new("iron-processing") - :addPrerequisite("planet-discovery-vulcanus") - .prototype.research_trigger.entity = "big-volcanic-rock" - - Technology:new("copper-processing") - :addPrerequisite("planet-discovery-vulcanus") - .prototype.research_trigger.entity = "big-volcanic-rock" + Technology:new("iron-processing").prototype.research_trigger.entity = "big-volcanic-rock" + Technology:new("copper-processing").prototype.research_trigger.entity = "big-volcanic-rock" end + + +-- Fulgora +if target_planet == "fulgora" then + Technology:new("recycling"):addPrerequisite("planet-discovery-fulgora") + Technology:new("iron-processing").prototype.research_trigger.entity = "scrap" + Technology:new("copper-processing").prototype.research_trigger.entity = "scrap" + + if mods["fulgora-coralmium-agriculture"] then + Technology:new("coralmium-recycling") + :addPrerequisite("recycling") + :removeRecipe("agricultural-tower") + end +end \ No newline at end of file