WIP: Add compatibility with Planet Picker

This commit is contained in:
Simon Brodtmann 2025-02-15 01:26:54 +01:00
parent 59fda1cb7c
commit 50f3adb8bc
8 changed files with 251 additions and 219 deletions

View file

@ -22,6 +22,7 @@
"?wood-military >= 2.3.3",
"?metal-and-stars",
"?aai-industry",
"?planet-picker",
"!apm_power_ldinc",
"!wood-logistics",
"!early-agriculture",

View file

@ -2,3 +2,4 @@ require("hot-metals")
require("wood-military")
require("metal-and-stars")
require("alien-biomes")
require("planet-picker")

View file

@ -0,0 +1,8 @@
local Technology = require("__cf-lib__/data/Technology")
local Recipe = require("__cf-lib__/data/Recipe")
if not mods["planet-picker"] then return end
local technology = Technology:new("planet-discovery-lignumis")
technology:setPrerequisites({ "space-platform-thruster" })
technology:addIngredients({ "logistic-science-pack", "chemical-science-pack", "space-science-pack" })

View file

@ -20,6 +20,71 @@ data:extend({
time = 10
}
},
{
type = "technology",
name = "gold-fluid-handling",
icon = "__lignumis__/graphics/technology/gold-fluid-handling.png",
icon_size = 256,
prerequisites = { "burner-automation" },
effects = {
{
type = "unlock-recipe",
recipe = "gold-pipe"
},
{
type = "unlock-recipe",
recipe = "gold-pipe-to-ground"
},
{
type = "unlock-recipe",
recipe = "gold-storage-tank"
},
{
type = "unlock-recipe",
recipe = "desiccation-furnace"
},
{
type = "unlock-recipe",
recipe = "moist-stromatolite-remnant-desiccation"
},
{
type = "unlock-recipe",
recipe = "moist-stromatolite-remnant-desiccation-without-steam"
}
},
unit = {
count = 20,
ingredients = { { "wood-science-pack", 1 } },
time = 15
}
},
{
type = "technology",
name = "provisional-rocketry",
icon = "__lignumis__/graphics/technology/provisional-rocketry.png",
icon_size = 256,
essential = true,
effects =
{
{
type = "unlock-recipe",
recipe = "provisional-rocket-silo"
}
},
prerequisites = { "wood-liquefaction" },
unit = {
count = 500,
ingredients = {
{ "wood-science-pack", 1 },
{ "steam-science-pack", 1 }
},
time = 15
}
}
})
if not mods["planet-picker"] then
data:extend({
{
type = "technology",
name = "planet-discovery-nauvis",
@ -103,66 +168,6 @@ data:extend({
},
time = 15
}
},
{
type = "technology",
name = "gold-fluid-handling",
icon = "__lignumis__/graphics/technology/gold-fluid-handling.png",
icon_size = 256,
prerequisites = { "burner-automation" },
effects = {
{
type = "unlock-recipe",
recipe = "gold-pipe"
},
{
type = "unlock-recipe",
recipe = "gold-pipe-to-ground"
},
{
type = "unlock-recipe",
recipe = "gold-storage-tank"
},
{
type = "unlock-recipe",
recipe = "desiccation-furnace"
},
{
type = "unlock-recipe",
recipe = "moist-stromatolite-remnant-desiccation"
},
{
type = "unlock-recipe",
recipe = "moist-stromatolite-remnant-desiccation-without-steam"
}
},
unit = {
count = 20,
ingredients = { { "wood-science-pack", 1 } },
time = 15
}
},
{
type = "technology",
name = "provisional-rocketry",
icon = "__lignumis__/graphics/technology/provisional-rocketry.png",
icon_size = 256,
essential = true,
effects =
{
{
type = "unlock-recipe",
recipe = "provisional-rocket-silo"
}
},
prerequisites = { "wood-liquefaction" },
unit = {
count = 500,
ingredients = {
{ "wood-science-pack", 1 },
{ "steam-science-pack", 1 }
},
time = 15
}
}
})
})
end

View file

@ -115,12 +115,14 @@ table.insert(data.raw["assembling-machine"]["assembling-machine-3"].crafting_cat
-- Disable vanilla early game recipes
data.raw.recipe["iron-plate"].enabled = false
data.raw.recipe["iron-gear-wheel"].enabled = false
data.raw.recipe["iron-chest"].enabled = false
data.raw.recipe["copper-plate"].enabled = false
data.raw.recipe["copper-cable"].enabled = false
data.raw.recipe["transport-belt"].enabled = false
if not mods["planet-picker"] then
data.raw.recipe["iron-plate"].enabled = false
data.raw.recipe["iron-gear-wheel"].enabled = false
data.raw.recipe["iron-chest"].enabled = false
data.raw.recipe["copper-plate"].enabled = false
data.raw.recipe["copper-cable"].enabled = false
data.raw.recipe["transport-belt"].enabled = false
end
-- Progressive recipes
@ -141,152 +143,154 @@ end
-- Adjust vanilla technologies
local automation_science_pack_technology = data.raw.technology["automation-science-pack"]
automation_science_pack_technology.prerequisites = { "planet-discovery-nauvis" }
automation_science_pack_technology.research_trigger = nil
automation_science_pack_technology.unit = {
if not mods["planet-picker"] then
local automation_science_pack_technology = data.raw.technology["automation-science-pack"]
automation_science_pack_technology.prerequisites = { "planet-discovery-nauvis" }
automation_science_pack_technology.research_trigger = nil
automation_science_pack_technology.unit = {
count = 100,
ingredients = {
{ "wood-science-pack", 1 },
{ "steam-science-pack", 1 }
},
time = 30
}
}
local electronics_technology = data.raw.technology["electronics"]
electronics_technology.prerequisites = { "copper-processing" }
electronics_technology.research_trigger = nil
electronics_technology.unit = {
local electronics_technology = data.raw.technology["electronics"]
electronics_technology.prerequisites = { "copper-processing" }
electronics_technology.research_trigger = nil
electronics_technology.unit = {
count = 50,
ingredients = {
{ "wood-science-pack", 1 },
{ "steam-science-pack", 1 }
},
time = 15
}
}
local steam_power_technology = data.raw.technology["steam-power"]
steam_power_technology.prerequisites = { "iron-processing" }
steam_power_technology.research_trigger = nil
steam_power_technology.unit = {
local steam_power_technology = data.raw.technology["steam-power"]
steam_power_technology.prerequisites = { "iron-processing" }
steam_power_technology.research_trigger = nil
steam_power_technology.unit = {
count = 50,
ingredients = {
{ "wood-science-pack", 1 },
{ "steam-science-pack", 1 }
},
time = 15
}
}
local automation_technology = data.raw.technology["automation"]
automation_technology.ignore_tech_cost_multiplier = false
local automation_technology = data.raw.technology["automation"]
automation_technology.ignore_tech_cost_multiplier = false
local logistics_technology = data.raw.technology["logistics"]
table.insert(logistics_technology.effects, {
local logistics_technology = data.raw.technology["logistics"]
table.insert(logistics_technology.effects, {
type = "unlock-recipe",
recipe = "transport-belt"
})
})
local landfill_technology = data.raw.technology["landfill"]
landfill_technology.prerequisites = { "burner-automation" }
landfill_technology.unit = {
local landfill_technology = data.raw.technology["landfill"]
landfill_technology.prerequisites = { "burner-automation" }
landfill_technology.unit = {
count = 50,
ingredients = { { "wood-science-pack", 1 } },
time = 15
}
}
local robots_speed_technology_1 = data.raw.technology["worker-robots-speed-1"]
robots_speed_technology_1.prerequisites = { "provisional-rocketry", "basic-construction-robotics-gold" }
robots_speed_technology_1.unit = {
local robots_speed_technology_1 = data.raw.technology["worker-robots-speed-1"]
robots_speed_technology_1.prerequisites = { "provisional-rocketry", "basic-construction-robotics-gold" }
robots_speed_technology_1.unit = {
count = 100,
ingredients = { { "wood-science-pack", 1 }, { "steam-science-pack", 1 } },
time = 15
}
}
local robots_speed_technology_2 = data.raw.technology["worker-robots-speed-2"]
robots_speed_technology_2.prerequisites = {
local robots_speed_technology_2 = data.raw.technology["worker-robots-speed-2"]
robots_speed_technology_2.prerequisites = {
"worker-robots-speed-1",
"logistic-science-pack"
}
robots_speed_technology_2.unit = {
}
robots_speed_technology_2.unit = {
count = 100,
ingredients = { { "automation-science-pack", 1 }, { "logistic-science-pack", 1 } },
time = 30
}
}
local robots_speed_technology_3 = data.raw.technology["worker-robots-speed-3"]
robots_speed_technology_3.prerequisites = { "worker-robots-speed-2", "chemical-science-pack" }
robots_speed_technology_3.unit = {
local robots_speed_technology_3 = data.raw.technology["worker-robots-speed-3"]
robots_speed_technology_3.prerequisites = { "worker-robots-speed-2", "chemical-science-pack" }
robots_speed_technology_3.unit = {
count = 150,
ingredients = { { "automation-science-pack", 1 }, { "logistic-science-pack", 1 }, { "chemical-science-pack", 1 } },
time = 30
}
}
local robots_speed_technology_4 = data.raw.technology["worker-robots-speed-4"]
robots_speed_technology_4.prerequisites = { "worker-robots-speed-3", "utility-science-pack" }
robots_speed_technology_4.unit.ingredients = {
local robots_speed_technology_4 = data.raw.technology["worker-robots-speed-4"]
robots_speed_technology_4.prerequisites = { "worker-robots-speed-3", "utility-science-pack" }
robots_speed_technology_4.unit.ingredients = {
{ "automation-science-pack", 1 },
{ "logistic-science-pack", 1 },
{ "chemical-science-pack", 1 },
{ "utility-science-pack", 1 }
}
}
local physical_damage_technology_1 = data.raw.technology["physical-projectile-damage-1"]
physical_damage_technology_1.prerequisites = { "basic-gun-turret" }
physical_damage_technology_1.unit.ingredients = { { "wood-science-pack", 1 } }
table.insert(physical_damage_technology_1.effects, {
local physical_damage_technology_1 = data.raw.technology["physical-projectile-damage-1"]
physical_damage_technology_1.prerequisites = { "basic-gun-turret" }
physical_damage_technology_1.unit.ingredients = { { "wood-science-pack", 1 } }
table.insert(physical_damage_technology_1.effects, {
type = "turret-attack",
turret_id = "basic-gun-turret",
modifier = 0.2
})
})
local weapon_speed_technology_1 = data.raw.technology["weapon-shooting-speed-1"]
weapon_speed_technology_1.prerequisites = table.deepcopy(physical_damage_technology_1.prerequisites)
weapon_speed_technology_1.unit.ingredients = table.deepcopy(physical_damage_technology_1.unit.ingredients)
local weapon_speed_technology_1 = data.raw.technology["weapon-shooting-speed-1"]
weapon_speed_technology_1.prerequisites = table.deepcopy(physical_damage_technology_1.prerequisites)
weapon_speed_technology_1.unit.ingredients = table.deepcopy(physical_damage_technology_1.unit.ingredients)
local physical_damage_technology_2 = data.raw.technology["physical-projectile-damage-2"]
physical_damage_technology_2.prerequisites = { "physical-projectile-damage-1", "steam-science-pack" }
physical_damage_technology_2.unit.ingredients = { { "wood-science-pack", 1 }, { "steam-science-pack", 1 } }
table.insert(physical_damage_technology_2.effects, {
local physical_damage_technology_2 = data.raw.technology["physical-projectile-damage-2"]
physical_damage_technology_2.prerequisites = { "physical-projectile-damage-1", "steam-science-pack" }
physical_damage_technology_2.unit.ingredients = { { "wood-science-pack", 1 }, { "steam-science-pack", 1 } }
table.insert(physical_damage_technology_2.effects, {
type = "turret-attack",
turret_id = "basic-gun-turret",
modifier = 0.2
})
})
local weapon_speed_technology_2 = data.raw.technology["weapon-shooting-speed-2"]
weapon_speed_technology_2.prerequisites = { "weapon-shooting-speed-1", "steam-science-pack" }
weapon_speed_technology_2.unit.ingredients = table.deepcopy(physical_damage_technology_2.unit.ingredients)
local weapon_speed_technology_2 = data.raw.technology["weapon-shooting-speed-2"]
weapon_speed_technology_2.prerequisites = { "weapon-shooting-speed-1", "steam-science-pack" }
weapon_speed_technology_2.unit.ingredients = table.deepcopy(physical_damage_technology_2.unit.ingredients)
local physical_damage_technology_3 = data.raw.technology["physical-projectile-damage-3"]
physical_damage_technology_3.prerequisites = { "physical-projectile-damage-2", "logistic-science-pack" }
physical_damage_technology_3.unit.ingredients = { { "automation-science-pack", 1 }, { "logistic-science-pack", 1 } }
table.insert(physical_damage_technology_3.effects, {
local physical_damage_technology_3 = data.raw.technology["physical-projectile-damage-3"]
physical_damage_technology_3.prerequisites = { "physical-projectile-damage-2", "logistic-science-pack" }
physical_damage_technology_3.unit.ingredients = { { "automation-science-pack", 1 }, { "logistic-science-pack", 1 } }
table.insert(physical_damage_technology_3.effects, {
type = "turret-attack",
turret_id = "basic-gun-turret",
modifier = 0.3
})
})
local weapon_speed_technology_3 = data.raw.technology["weapon-shooting-speed-3"]
weapon_speed_technology_3.prerequisites = { "weapon-shooting-speed-2", "logistic-science-pack" }
weapon_speed_technology_3.unit.ingredients = table.deepcopy(physical_damage_technology_3.unit.ingredients)
local weapon_speed_technology_3 = data.raw.technology["weapon-shooting-speed-3"]
weapon_speed_technology_3.prerequisites = { "weapon-shooting-speed-2", "logistic-science-pack" }
weapon_speed_technology_3.unit.ingredients = table.deepcopy(physical_damage_technology_3.unit.ingredients)
local physical_damage_technology_4 = data.raw.technology["physical-projectile-damage-4"]
physical_damage_technology_4.prerequisites = { "physical-projectile-damage-3", "military-science-pack" }
table.insert(physical_damage_technology_4.effects, {
local physical_damage_technology_4 = data.raw.technology["physical-projectile-damage-4"]
physical_damage_technology_4.prerequisites = { "physical-projectile-damage-3", "military-science-pack" }
table.insert(physical_damage_technology_4.effects, {
type = "turret-attack",
turret_id = "basic-gun-turret",
modifier = 0.3
})
})
local weapon_speed_technology_4 = data.raw.technology["weapon-shooting-speed-4"]
weapon_speed_technology_4.prerequisites = { "weapon-shooting-speed-3", "military-science-pack" }
local weapon_speed_technology_4 = data.raw.technology["weapon-shooting-speed-4"]
weapon_speed_technology_4.prerequisites = { "weapon-shooting-speed-3", "military-science-pack" }
local production_science_pack_technology = Technology:new("production-science-pack")
production_science_pack_technology:replacePrerequisite("advanced-material-processing-2", "space-platform-thruster")
production_science_pack_technology:addIngredients({ "wood-science-pack", "steam-science-pack", "space-science-pack" })
local production_science_pack_technology = Technology:new("production-science-pack")
production_science_pack_technology:replacePrerequisite("advanced-material-processing-2", "space-platform-thruster")
production_science_pack_technology:addIngredients({ "wood-science-pack", "steam-science-pack", "space-science-pack" })
local utility_science_pack_technology = Technology:new("utility-science-pack")
utility_science_pack_technology:setPrerequisites({ "space-platform-thruster" })
utility_science_pack_technology:addIngredients({ "wood-science-pack", "steam-science-pack", "space-science-pack" })
local utility_science_pack_technology = Technology:new("utility-science-pack")
utility_science_pack_technology:setPrerequisites({ "space-platform-thruster" })
utility_science_pack_technology:addIngredients({ "wood-science-pack", "steam-science-pack", "space-science-pack" })
end
if not mods["planet-muluna"] then -- Muluna does the same
Technology:new("logistic-robotics"):addRecipe("requester-chest")

View file

@ -62,6 +62,7 @@ end
InitNew.on_init = function()
if game.tick > 0 then return end
if script.active_mods["planet-picker"] then return end
init_intro()
init_space_locations()

View file

@ -37,6 +37,7 @@ end
-- Initialize the freeplay scenario
local function init_freeplay(event)
if script.active_mods["planet-picker"] then return end
if storage.crashed_ship_lignumis then return end
local player = game.get_player(event.player_index)
@ -63,7 +64,9 @@ local function init_freeplay(event)
table.deepcopy(storage.crashed_ship_parts))
util.remove_safe(player, storage.crashed_ship_items)
util.remove_safe(player, storage.crashed_debris_items)
if player.character then
player.character.get_main_inventory().sort_and_merge()
end
storage.crash_site_cutscene_active = true
crash_site.create_cutscene(player, { -5, -4 })

View file

@ -31,3 +31,12 @@ if mods["wood-military"] then
data.raw["bool-setting"]["lignumis-ammo-progression"].forced_value = false
data.raw["bool-setting"]["lignumis-ammo-progression"].hidden = true
end
if mods["planet-picker"] then
data.raw["bool-setting"]["lignumis-belt-progression"].forced_value = false
data.raw["bool-setting"]["lignumis-belt-progression"].hidden = true
data.raw["bool-setting"]["lignumis-inserter-progression"].forced_value = false
data.raw["bool-setting"]["lignumis-inserter-progression"].hidden = true
data.raw["bool-setting"]["lignumis-ammo-progression"].forced_value = false
data.raw["bool-setting"]["lignumis-ammo-progression"].hidden = true
end