diff --git a/README.md b/README.md index fd55804..7745fb7 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ [![Discord](https://img.shields.io/badge/Discord-%235865F2.svg?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/ufvFUJtVwk)[![Forgejo](https://img.shields.io/badge/source%20code-%23f4f4f5?style=for-the-badge&logo=forgejo&logoColor=%23c2410c)](https://git.cacklingfiend.info/cacklingfiend/lignumis)[![Downloads](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fmods.factorio.com%2Fapi%2Fmods%2Flignumis&query=%24.downloads_count&suffix=%20Downloads&style=for-the-badge&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI%2FPgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDIwMDEwOTA0Ly9FTiIKICJodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAxL1JFQy1TVkctMjAwMTA5MDQvRFREL3N2ZzEwLmR0ZCI%2BCjxzdmcgdmVyc2lvbj0iMS4wIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiB3aWR0aD0iMTIxNnB0IiBoZWlnaHQ9IjEyODBwdCIgdmlld0JveD0iMCAwIDEyMTYgMTI4MCIKIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiPgo8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLDEyODApIHNjYWxlKDAuMSwtMC4xKSIKZmlsbD0iI2ZmZmZmZiIgc3Ryb2tlPSJub25lIj4KPHBhdGggZD0iTTM0NzAgOTYwMCBsMCAtMzIwMCAtMTczMSAwIGMtOTUyIDAgLTE3MjkgLTQgLTE3MjcgLTggNCAtMTIgNjA2MgotNjM5MCA2MDY4IC02MzkwIDYgMCA2MDY0IDYzNzggNjA2OCA2MzkwIDIgNCAtNzc1IDggLTE3MjcgOCBsLTE3MzEgMCAwIDMyMDAKMCAzMjAwIC0yNjEwIDAgLTI2MTAgMCAwIC0zMjAweiIvPgo8L2c%2BCjwvc3ZnPgo%3D&label=&labelColor=%23e39827&color=%23e39827)](https://mods.factorio.com/mod/lignumis/metrics?range=last_two_months&type=mod_downloads) + _________________ ![Lignumis poster](https://git.cacklingfiend.info/cacklingfiend/lignumis-assets/raw/branch/main/sources/readme/poster.jpg) @@ -73,6 +74,9 @@ Alternatives: [Burner Leech Fork](https://mods.factorio.com/mod/Burner-Leech-For - [Wooden Fulgora: Coralmium Agriculture](https://mods.factorio.com/mod/fulgora-coralmium-agriculture) - [Wooden Aquilo: Seabloom Algaculture](https://mods.factorio.com/mod/aquilo-seabloom-algaculture) +- [Wooden Cerys: Lunaponics](https://mods.factorio.com/mod/cerys-lunaponics) +- [Wooden Moshine: Solaponics](https://mods.factorio.com/mod/moshine-solaponics) +- [Wooden Arig](https://mods.factorio.com/mod/wooden-arig) #### [Any Planet Start](https://mods.factorio.com/mod/any-planet-start) @@ -117,7 +121,6 @@ _________________ ## Problematic / incompatible mods * The combination of AAI Industry and Any planet start is currently not supported. -* Alien Biomes: Lignumis won't have any trees. It's playable, but not as intended. * The rest of the Wooden Universe: I marked the ones incompatible that don't make sense to combine or that wouldn't add more that is not already included. _________________ @@ -178,7 +181,7 @@ _________________ - Fix pipe graphics on desiccation furnace and quality assembler - Trees must not die when absorbing noise - - https://lua-api.factorio.com/latest/types/TreeVariation.html + - https://lua-api.factorio.com/latest/types/TreeVariation.html - Add information in Factoriopedia - Compatibility with [On Wayward Seas](https://mods.factorio.com/mod/wayward-seas) - Compatibility with [Exotic Space Industries](https://mods.factorio.com/mod/exotic-space-industries) @@ -260,4 +263,8 @@ _________________ [Larger Lamps](https://mods.factorio.com/mod/DeadlockLargerLamp) -- Burner lamp \ No newline at end of file +- Burner lamp + +Talandar + +- Planet graphics \ No newline at end of file diff --git a/lignumis/changelog.txt b/lignumis/changelog.txt index 697635c..c8d6233 100644 --- a/lignumis/changelog.txt +++ b/lignumis/changelog.txt @@ -1,4 +1,77 @@ --------------------------------------------------------------------------------------------------- +Version: 1.0.72 +Date: 01.11.2025 + Bug Fixes: + - Move parent planet calculation to data-updates + Changes: + - Buff quality assembling +--------------------------------------------------------------------------------------------------- +Version: 1.0.71 +Date: 20.10.2025 + Changes: + - Use 60 sec crafting time for active noise cancelling to visualise progress + - Reduce energy usage of noise cancelling tower to 500kW +--------------------------------------------------------------------------------------------------- +Version: 1.0.70 +Date: 07.10.2025 + Bug Fixes: + - Any Planet Start: Prevent crashes +--------------------------------------------------------------------------------------------------- +Version: 1.0.69 +Date: 02.10.2025 + Bug Fixes: + - Fix more item weights +--------------------------------------------------------------------------------------------------- +Version: 1.0.68 +Date: 28.09.2025 + Changes: + - Remove enemies from starting area when leaving Lignumis +--------------------------------------------------------------------------------------------------- +Version: 1.0.67 +Date: 24.09.2025 + Changes: + - Reduce energy usage of Active noise cancelling tower + - K2SO: Move K2 starting recipes to Nauvis technologies + Bug Fixes: + - Fix potential crash when escaping to Nauvis +--------------------------------------------------------------------------------------------------- +Version: 1.0.66 +Date: 21.09.2025 + Changes: + - Buff medium wrigglers + - Buff wood liquefaction recipe by 50% for electric assemblers + - Buff Cupriavidus Necator starter recipe chance + Bug Fixes: + - Fix more item weights +--------------------------------------------------------------------------------------------------- +Version: 1.0.65 +Date: 14.09.2025 + Changes: + - Remove warning for Alien Biomes + - Add setting for infinite Astroponics productivity research + Bug Fixes: + - Fix more item weights +--------------------------------------------------------------------------------------------------- +Version: 1.0.64 +Date: 10.09.2025 + Bug Fixes: + - Fix more item weights + - Fix steam assembler scaling with increased energy usage from modules +--------------------------------------------------------------------------------------------------- +Version: 1.0.63 +Date: 09.09.2025 + Changes: + - Wooden belts have half the weight + Bug Fixes: + - Fix vanilla more item weights +--------------------------------------------------------------------------------------------------- +Version: 1.0.62 +Date: 02.09.2025 + Changes: + - Add spanish locales (thanks DFOXpro) + - Add compatibility for Alien Biomes (thanks Chromebomb) + - The lumber mill can be built on Vulcanus again +--------------------------------------------------------------------------------------------------- Version: 1.0.61 Date: 29.08.2025 Changes: diff --git a/lignumis/info.json b/lignumis/info.json index dcb6c17..7e5c940 100644 --- a/lignumis/info.json +++ b/lignumis/info.json @@ -1,10 +1,10 @@ { "name": "lignumis", - "version": "1.0.61", + "version": "1.0.72", "title": "Lignumis", "description": "Dive into the world of Lignumis, a moon of Nauvis offering only the most basic technologies.", "author": "cackling fiend", - "homepage": "https://discord.gg/5bevXf5W", + "homepage": "https://discord.gg/ufvFUJtVwk", "factorio_version": "2.0", "space_travel_required": true, "dependencies": [ diff --git a/lignumis/locale/en/strings.cfg b/lignumis/locale/en/strings.cfg index 09877f7..0ec7456 100644 --- a/lignumis/locale/en/strings.cfg +++ b/lignumis/locale/en/strings.cfg @@ -145,6 +145,7 @@ quality-assembler=Quality assembler aai-wood-loader=Wood loader basic-ore-crushing=Basic ore crushing astroponics-productivity=Astroponics productivity +experienced-quality-assembling=Experienced quality assembling [technology-description] wood-science-pack=Allows research of basic technologies based on wood products. @@ -190,6 +191,7 @@ lignumis-early-robots=Even earlier personal robots lignumis-vanilla-lab=Keep vanilla lab recipe lignumis-double-rocket=Double provisional rocket cargo capacity lignumis-sciences-spoil=Lignumis science packs spoil +lignumis-infinite-astroponics-productivity-research=Infinite productivity research for Astroponics [mod-setting-description] lignumis-belt-progression=Yellow belts will require wood belts to craft. @@ -205,6 +207,7 @@ lignumis-early-robots=Personal robots are moved from steam to wood science and a lignumis-vanilla-lab=Moves the transport belt recipe to Iron processing so the lab can be crafted with the original recipe without requiring to research logistics. lignumis-double-rocket=The provisional rocket can carry 80 instead of 40 slots. lignumis-sciences-spoil=Both wood science packs and steam science packs spoil for additional difficulty. +lignumis-infinite-astroponics-productivity-research=Productivity research for Astroponics is infinite instead of being capped to level 5 (which results in 50% productivity). [autoplace-control-names] lignumis_enemy_base=Lignumis enemy bases diff --git a/lignumis/prototypes/compatibility/any-planet-start-final.lua b/lignumis/prototypes/compatibility/any-planet-start-final.lua index c1bcb9c..61c38a7 100644 --- a/lignumis/prototypes/compatibility/any-planet-start-final.lua +++ b/lignumis/prototypes/compatibility/any-planet-start-final.lua @@ -4,29 +4,31 @@ if not mods["any-planet-start"] then return end local target_planet = settings.startup["aps-planet"].value -if target_planet == "none" or target_planet == "nauvis" then return end +if not target_planet or target_planet == "none" or target_planet == "nauvis" then return end Technology:new("tree-seeding"):setPrerequisites({ "wood-science-pack" }) -- Switch planet discovery technology to the new planet local planet_discovery = data.raw.technology["planet-discovery-" .. target_planet] or data.raw.technology["moon-discovery-" .. target_planet] -Technology:new(planet_discovery) - :assign({ - enabled = true, - hidden = false, - unit = { - count = 100, - ingredients = { - { "wood-science-pack", 1 }, - { "steam-science-pack", 1 } - }, - time = 30 - } - }) - :setPrerequisites({ "provisional-rocketry" }) -Technology:new("iron-processing"):replacePrerequisite("planet-discovery-nauvis", planet_discovery.name) -Technology:new("copper-processing"):replacePrerequisite("planet-discovery-nauvis", planet_discovery.name) +if planet_discovery then + Technology:new(planet_discovery) + :assign({ + enabled = true, + hidden = false, + unit = { + count = 100, + ingredients = { + { "wood-science-pack", 1 }, + { "steam-science-pack", 1 } + }, + time = 30 + } + }) + :setPrerequisites({ "provisional-rocketry" }) + Technology:new("iron-processing"):replacePrerequisite("planet-discovery-nauvis", planet_discovery.name) + Technology:new("copper-processing"):replacePrerequisite("planet-discovery-nauvis", planet_discovery.name) +end -- Vulcanus diff --git a/lignumis/prototypes/compatibility/k2so.lua b/lignumis/prototypes/compatibility/k2so.lua index afd1849..88637a9 100644 --- a/lignumis/prototypes/compatibility/k2so.lua +++ b/lignumis/prototypes/compatibility/k2so.lua @@ -1,6 +1,44 @@ +local Technology = require("__cf-lib__/data/Technology") + if not mods["Krastorio2-spaced-out"] then return end data.raw.recipe["burner-inserter"].ingredients = { { type = "item", name = "wooden-gear-wheel", amount = 1 }, { type = "item", name = "lumber", amount = 1 } -} \ No newline at end of file +} + +Technology:new("kr-automation-core"):addPrerequisite("iron-processing") + +local function lock_recipes(technology, recipes) + local tech = Technology:new(technology) + for _, recipe in pairs(recipes) do + tech:addRecipe(recipe) + data.raw.recipe[recipe].enabled = false + end +end + +lock_recipes("iron-processing", { + "iron-stick", + "kr-wind-turbine", + "kr-iron-beam", + "kr-inserter-parts" +}) + +lock_recipes("copper-processing", { + "copper-cable", + "small-electric-pole" +}) + +lock_recipes("planet-discovery-nauvis", { + "kr-rare-metals" +}) + +Technology:new("electronics"):removeRecipe("kr-electronic-circuit-wood") + +if settings.startup["kr-realistic-weapons"].value then + local pistol_attack = data.raw.gun["pistol"].attack_parameters + pistol_attack.ammo_categories = pistol_attack.ammo_categories or { pistol_attack.ammo_category } + pistol_attack.ammo_category = nil + table.insert(pistol_attack.ammo_categories, "bullet") + data.raw.recipe["firearm-magazine"].enabled = false +end \ No newline at end of file diff --git a/lignumis/prototypes/content/active-noise-cancelling-tower.lua b/lignumis/prototypes/content/active-noise-cancelling-tower.lua index a9e0d84..294e5f5 100644 --- a/lignumis/prototypes/content/active-noise-cancelling-tower.lua +++ b/lignumis/prototypes/content/active-noise-cancelling-tower.lua @@ -22,7 +22,7 @@ data:extend({ max_health = 150, crafting_speed = 1, crafting_categories = { "active-noise-cancelling" }, - energy_usage = "2MW", + energy_usage = "500kW", energy_source = { type = "electric", usage_priority = "secondary-input", @@ -113,7 +113,7 @@ data:extend({ name = "active-noise-cancelling", icons = { { icon = Lignumis.graphics .. "icons/active-noise-cancelling.png" } }, enabled = false, - energy_required = 1000000, + energy_required = 60, ingredients = {}, results = {}, category = "active-noise-cancelling", diff --git a/lignumis/prototypes/content/burner-agricultural-tower.lua b/lignumis/prototypes/content/burner-agricultural-tower.lua index 32a2234..e76a2da 100644 --- a/lignumis/prototypes/content/burner-agricultural-tower.lua +++ b/lignumis/prototypes/content/burner-agricultural-tower.lua @@ -78,7 +78,8 @@ data:extend({ drop_sound = item_sounds.mechanical_large_inventory_move, place_result = "burner-agricultural-tower", stack_size = 20, - default_import_location = "lignumis" + default_import_location = "lignumis", + weight = 100 * kg }, { type = "recipe", diff --git a/lignumis/prototypes/content/burner-lamp.lua b/lignumis/prototypes/content/burner-lamp.lua index 57add6e..4b52e0a 100644 --- a/lignumis/prototypes/content/burner-lamp.lua +++ b/lignumis/prototypes/content/burner-lamp.lua @@ -146,7 +146,8 @@ data:extend({ subgroup = "circuit-network", -- Copper lamp under circuit-network order = "a[lamp]-b[copper-lamp]", -- Copper lamp after large lamp place_result = "burner-lamp", - stack_size = 50 + stack_size = 50, + weight = 20 * kg }, { name = "burner-lamp", diff --git a/lignumis/prototypes/content/enemies.lua b/lignumis/prototypes/content/enemies.lua index 76d76d8..eebe2f5 100644 --- a/lignumis/prototypes/content/enemies.lua +++ b/lignumis/prototypes/content/enemies.lua @@ -435,7 +435,7 @@ make_wriggler("lignumis-small-", 0.2, 10, 0.1, space_age_sounds.wriggler_pentapod.small ) -make_wriggler("lignumis-medium-", 0.4, 20, 0.2, +make_wriggler("lignumis-medium-", 0.5, 50, 1, { mask = fade(lerp_color(gleba_small_mask_tint, { 255, 200, 0, 255 }, 0.4), 0.2), body = grey_overlay(lerp_color(gleba_small_body_tint, { 255, 0, 0, 255 }, 0.4), 0.2) diff --git a/lignumis/prototypes/content/gold/pipes.lua b/lignumis/prototypes/content/gold/pipes.lua index 4e555a4..766a788 100644 --- a/lignumis/prototypes/content/gold/pipes.lua +++ b/lignumis/prototypes/content/gold/pipes.lua @@ -84,6 +84,7 @@ local pipe_item = { place_result = "gold-pipe", stack_size = 100, weight = 5 * kg, + default_import_location = "lignumis", random_tint_color = item_tints.iron_rust } @@ -159,6 +160,8 @@ local pipe_to_ground_item = { drop_sound = item_sounds.metal_small_inventory_move, place_result = "gold-pipe-to-ground", stack_size = 50, + weight = 5 * kg, + default_import_location = "lignumis", random_tint_color = item_tints.iron_rust } @@ -347,7 +350,9 @@ local tank_item = { pick_sound = item_sounds.metal_large_inventory_pickup, drop_sound = item_sounds.metal_large_inventory_move, place_result = "gold-storage-tank", - stack_size = 10 + stack_size = 10, + weight = 50 * kg, + default_import_location = "lignumis" } local tank_recipe = { diff --git a/lignumis/prototypes/content/lignumis/planet-updates.lua b/lignumis/prototypes/content/lignumis/planet-updates.lua new file mode 100644 index 0000000..c40262b --- /dev/null +++ b/lignumis/prototypes/content/lignumis/planet-updates.lua @@ -0,0 +1,14 @@ +local target_planet = settings.startup["lignumis-second-planet"].value or "nauvis" +if mods["any-planet-start"] then + target_planet = settings.startup["aps-planet"].value ~= "none" and settings.startup["aps-planet"].value or target_planet +end + +local lignumis = data.raw.planet["lignumis"] + +-- Set final solar power depending on parent planet +local solar_power = data.raw.planet[target_planet].surface_properties["solar-power"] or 100 +local solar_power_in_space = data.raw.planet[target_planet].solar_power_in_space or 300 +solar_power = solar_power * 1.2 +solar_power_in_space = solar_power_in_space * 1.2 +lignumis.solar_power_in_space = solar_power_in_space +lignumis.surface_properties["solar-power"] = solar_power \ No newline at end of file diff --git a/lignumis/prototypes/content/lignumis/planet.lua b/lignumis/prototypes/content/lignumis/planet.lua index f21ccd1..c4fd03c 100644 --- a/lignumis/prototypes/content/lignumis/planet.lua +++ b/lignumis/prototypes/content/lignumis/planet.lua @@ -21,11 +21,6 @@ local nauvis_lignumis = { } } -local solar_power = data.raw.planet[target_planet].surface_properties["solar-power"] or 100 -local solar_power_in_space = data.raw.planet[target_planet].solar_power_in_space or 300 -solar_power = solar_power * 1.2 -solar_power_in_space = solar_power_in_space * 1.2 - PlanetsLib:extend({ { type = "planet", @@ -53,7 +48,7 @@ PlanetsLib:extend({ map_seed_offset = 100, map_gen_settings = planet_map_gen, pollutant_type = "noise", - solar_power_in_space = solar_power_in_space, + solar_power_in_space = 300, draw_orbit = false, planet_procession_set = { arrival = { "default-b" }, @@ -63,7 +58,7 @@ PlanetsLib:extend({ ["day-night-cycle"] = 2 * minute, ["gravity"] = 4, ["pressure"] = 900, - ["solar-power"] = solar_power + ["solar-power"] = 100 }, asteroid_spawn_influence = 1, asteroid_spawn_definitions = asteroid_util.spawn_definitions(nauvis_lignumis, 0.9), diff --git a/lignumis/prototypes/content/lumber-mill.lua b/lignumis/prototypes/content/lumber-mill.lua index 3ac959d..0bb904c 100644 --- a/lignumis/prototypes/content/lumber-mill.lua +++ b/lignumis/prototypes/content/lumber-mill.lua @@ -25,7 +25,7 @@ LumberMill.EntityBuilder:new() surface_conditions = { { property = has_oxygen and "oxygen" or "pressure", - min = 10 + min = 3 }, { property = "gravity", diff --git a/lignumis/prototypes/content/mid-game-recipes.lua b/lignumis/prototypes/content/mid-game-recipes.lua index bf57604..6b3c7eb 100644 --- a/lignumis/prototypes/content/mid-game-recipes.lua +++ b/lignumis/prototypes/content/mid-game-recipes.lua @@ -14,7 +14,7 @@ data:extend({ { type = "fluid", name = "wood-pulp", amount = 100 }, { type = "fluid", name = "water", amount = 100 } }, - results = { { type = "item", name = "cupriavidus-necator", amount_min = 4, amount_max = 10, probability = 0.1 } }, + results = { { type = "item", name = "cupriavidus-necator", amount_min = 4, amount_max = 10, probability = 0.15 } }, result_is_always_fresh = true, icons = { { icon = Lignumis.graphics .. "icons/cupriavidus-necator-1.png" }, diff --git a/lignumis/prototypes/content/quality-assembler.lua b/lignumis/prototypes/content/quality-assembler.lua index 480868c..0b94e6b 100644 --- a/lignumis/prototypes/content/quality-assembler.lua +++ b/lignumis/prototypes/content/quality-assembler.lua @@ -43,7 +43,7 @@ data:extend({ drop_sound = item_sounds.metal_small_inventory_move, stack_size = 50, fuel_category = "quality-catalyst", - fuel_value = "1MJ", + fuel_value = "2MJ", weight = 1000 / 50 * kg, }, { @@ -56,8 +56,8 @@ data:extend({ { type = "item", name = "tungsten-carbide", amount = 2 }, { type = "item", name = "supercapacitor", amount = 2 } }, - results = { { type = "item", name = "gold-quality-catalyst", amount = 2 } }, - allow_productivity = false, + results = { { type = "item", name = "gold-quality-catalyst", amount = 1 } }, + allow_productivity = true, allow_quality = false, enabled = false } @@ -76,8 +76,8 @@ QualityAssembler.EntityBuilder:new() energy_usage = "1MW", crafting_speed = 4, module_slots = 6, - allowed_effects = { "pollution", "quality" }, - effect_receiver = { base_effect = { quality = 2.5 } } + allowed_effects = { "consumption", "pollution", "quality" }, + effect_receiver = { base_effect = { quality = 3.5 } } }) QualityAssembler.ItemBuilder:new():apply() @@ -115,6 +115,41 @@ QualityAssembler.TechnologyBuilder:new() :additionalRecipes({ "gold-quality-catalyst" }) :apply() +data:extend({ + { + type = "technology", + name = "experienced-quality-assembling-1", + icons = { + { icon = "__quality__/graphics/technology/legendary-quality.png", icon_size = 256 }, + { icon = Lignumis.graphics .. "icons/quality-gold-catalyst.png", icon_size = 64, scale = 1, shift = { 50, 50 }, draw_background = true } + }, + level = 1, + max_level = 1, + show_levels_info = true, + effects = { + { type = "change-recipe-productivity", recipe = "gold-quality-catalyst", change = 0.25 } + }, + research_trigger = { type = "craft-item", item = "gold-quality-catalyst", count = 1000 }, + prerequisites = { "quality-assembler" } + }, + { + type = "technology", + name = "experienced-quality-assembling-2", + icons = { + { icon = "__quality__/graphics/technology/legendary-quality.png", icon_size = 256 }, + { icon = Lignumis.graphics .. "icons/quality-gold-catalyst.png", icon_size = 64, scale = 1, shift = { 50, 50 }, draw_background = true } + }, + level = 2, + max_level = 2, + show_levels_info = true, + effects = { + { type = "change-recipe-productivity", recipe = "gold-quality-catalyst", change = 0.5 } + }, + research_trigger = { type = "craft-item", item = "gold-quality-catalyst", count = 10000 }, + prerequisites = { "experienced-quality-assembling-1" } + } +}) + local function convert_category(name) local quality_name = name .. "-or-quality-assembling" data:extend({ diff --git a/lignumis/prototypes/content/steam-assembling-machine.lua b/lignumis/prototypes/content/steam-assembling-machine.lua index ed85a59..da5ef2d 100644 --- a/lignumis/prototypes/content/steam-assembling-machine.lua +++ b/lignumis/prototypes/content/steam-assembling-machine.lua @@ -31,6 +31,7 @@ assembling_machine.energy_usage = "25kW" assembling_machine.energy_source = { type = "fluid", maximum_temperature = 165, + scale_fluid_usage = true, effectivity = 1, emissions_per_minute = { noise = 50 }, fluid_box = { diff --git a/lignumis/prototypes/content/updates.lua b/lignumis/prototypes/content/updates.lua index c6d2a3f..7087806 100644 --- a/lignumis/prototypes/content/updates.lua +++ b/lignumis/prototypes/content/updates.lua @@ -1 +1,2 @@ -require("fuel-category-updates") \ No newline at end of file +require("fuel-category-updates") +require("lignumis/planet-updates") \ No newline at end of file diff --git a/lignumis/prototypes/content/wood-liquefaction.lua b/lignumis/prototypes/content/wood-liquefaction.lua index 8d5f7c6..092692e 100644 --- a/lignumis/prototypes/content/wood-liquefaction.lua +++ b/lignumis/prototypes/content/wood-liquefaction.lua @@ -65,10 +65,10 @@ data:extend({ }, ingredients = { { type = "item", name = "wood", amount = 1 }, - { type = "fluid", name = "steam", amount = 5 } + { type = "fluid", name = "steam", amount = 10 } }, results = { - { type = "fluid", name = "wood-pulp", amount = 10 } + { type = "fluid", name = "wood-pulp", amount = 15 } }, allow_productivity = true }, diff --git a/lignumis/prototypes/content/wood-logistics.lua b/lignumis/prototypes/content/wood-logistics.lua index a575ba8..78cb353 100644 --- a/lignumis/prototypes/content/wood-logistics.lua +++ b/lignumis/prototypes/content/wood-logistics.lua @@ -33,9 +33,9 @@ Belt.EntityBuilder:new() }) local splitter_item = Belt.ItemBuilder:new() - :itemsPerRocket("transportBelt", 100) - :itemsPerRocket("undergroundBelt", 50) - :itemsPerRocket("splitter", 50) + :itemsPerRocket("transportBelt", 200) + :itemsPerRocket("undergroundBelt", 100) + :itemsPerRocket("splitter", 100) :order("0") :apply() .splitter diff --git a/lignumis/prototypes/content/wood-military.lua b/lignumis/prototypes/content/wood-military.lua index 775245b..1dd775f 100644 --- a/lignumis/prototypes/content/wood-military.lua +++ b/lignumis/prototypes/content/wood-military.lua @@ -76,7 +76,8 @@ data:extend({ pick_sound = item_sounds.wood_inventory_pickup, drop_sound = item_sounds.wood_inventory_move, stack_size = 100, - weight = 10 * kg + weight = 5 * kg, + default_import_location = "lignumis" }, { type = "recipe", diff --git a/lignumis/prototypes/integrations/astroponics.lua b/lignumis/prototypes/integrations/astroponics.lua index b531625..491069f 100644 --- a/lignumis/prototypes/integrations/astroponics.lua +++ b/lignumis/prototypes/integrations/astroponics.lua @@ -1,38 +1,49 @@ -data:extend({ - { - type = "technology", - name = "astroponics-productivity", - icons = { - { icon = "__base__/graphics/icons/wood.png", icon_size = 64 }, - { icon = "__astroponics__/graphics/icons/fluid/liquid-fertilizer.png", shift = { -32, -32 }, scale = 1.2 }, - { - icon = "__core__/graphics/icons/technology/constants/constant-recipe-productivity.png", - icon_size = 128, - scale = 0.5, - shift = { 50, 50 }, - floating = true - } - }, - essential = false, - level = 1, - max_level = 5, - show_levels_info = true, - effects = { - { - type = "change-recipe-productivity", - recipe = "tree-astroponics", - change = 0.1 - } - }, - prerequisites = { "astroponics", "production-science-pack" }, - unit = { - count_formula = "L*250", - ingredients = { - { "wood-science-pack", 1 }, - { "production-science-pack", 1 }, - { "space-science-pack", 1 }, - }, - time = 60 +local infinite = settings.startup["lignumis-infinite-astroponics-productivity-research"].value + +local base_levels = { + type = "technology", + name = "astroponics-productivity", + icons = { + { icon = "__base__/graphics/icons/wood.png", icon_size = 64 }, + { icon = "__astroponics__/graphics/icons/fluid/liquid-fertilizer.png", shift = { -32, -32 }, scale = 1.2 }, + { + icon = "__core__/graphics/icons/technology/constants/constant-recipe-productivity.png", + icon_size = 128, + scale = 0.5, + shift = { 50, 50 }, + floating = true } + }, + essential = false, + level = 1, + max_level = 5, + show_levels_info = true, + effects = { + { + type = "change-recipe-productivity", + recipe = "tree-astroponics", + change = 0.1 + } + }, + prerequisites = { "astroponics", "production-science-pack" }, + unit = { + count_formula = "L*250", + ingredients = { + { "wood-science-pack", 1 }, + { "production-science-pack", 1 }, + { "space-science-pack", 1 }, + }, + time = 60 } -}) +} +data:extend({ base_levels }) + +if infinite then + local infinite_levels = table.deepcopy(base_levels) + infinite_levels.name = "astroponics-productivity-6" + infinite_levels.max_level = "infinite" + infinite_levels.unit.count_formula = "2^(L-6)*1500" + table.insert(infinite_levels.unit.ingredients, { "agricultural-science-pack", 1 }) + infinite_levels.prerequisites = { "astroponics-productivity", "agricultural-science-pack" } + data:extend({ infinite_levels }) +end diff --git a/lignumis/prototypes/integrations/vanilla.lua b/lignumis/prototypes/integrations/vanilla.lua index 16b0477..63ff70f 100644 --- a/lignumis/prototypes/integrations/vanilla.lua +++ b/lignumis/prototypes/integrations/vanilla.lua @@ -339,11 +339,30 @@ end -- Fix item weights -local function set_default_weight(item, items_per_rocket) - data.raw.item[item].weight = data.raw.item[item].weight or 1000 * kg / items_per_rocket +local function set_default_weight(item, items_per_rocket, type) + data.raw[type or "item"][item].weight = data.raw[type or "item"][item].weight or 1000 * kg / items_per_rocket end set_default_weight("electronic-circuit", 2000) set_default_weight("advanced-circuit", 1000) set_default_weight("processing-unit", 300) set_default_weight("low-density-structure", 200) -set_default_weight("rocket-fuel", 100) \ No newline at end of file +set_default_weight("rocket-fuel", 100) +set_default_weight("inserter", 50) +set_default_weight("fast-inserter", 50) +set_default_weight("electric-mining-drill", 50) +set_default_weight("pumpjack", 20) +set_default_weight("repair-pack", 100, "repair-tool") +set_default_weight("big-electric-pole", 50) +set_default_weight("assembling-machine-1", 50) +set_default_weight("assembling-machine-2", 50) +set_default_weight("oil-refinery", 10) +set_default_weight("accumulator", 50) +set_default_weight("steam-engine", 10) +set_default_weight("substation", 50) +set_default_weight("radar", 50) +set_default_weight("storage-tank", 50) +set_default_weight("fast-transport-belt", 100) +set_default_weight("fast-underground-belt", 50) +set_default_weight("fast-splitter", 50) +set_default_weight("steel-plate", 400) +set_default_weight("steam-turbine", 10) \ No newline at end of file diff --git a/lignumis/scripts/init.lua b/lignumis/scripts/init.lua index ad58805..75773e3 100644 --- a/lignumis/scripts/init.lua +++ b/lignumis/scripts/init.lua @@ -67,10 +67,6 @@ Init.events[defines.events.on_player_created] = function(event) storage.init[event.player_index] = true - if script.active_mods["alien-biomes"] then - game.print("While Alien Biomes is playable with Lignumis, it is not recommended as it prevents trees from being generated on Lignumis.") - end - if not script.active_mods["Burner-Leech-Fork"] and not script.active_mods["Burner-Leech"] and not script.active_mods["InserterFuelLeech"] then game.print("Lignumis: You are starting a new game without a burner leech mod. The intended experience is to use one of the available options. You can disable such a mod after the burner phase of the game. See the mod page for more details.") end diff --git a/lignumis/scripts/to-nauvis.lua b/lignumis/scripts/to-nauvis.lua index 5d3d432..a3694fa 100644 --- a/lignumis/scripts/to-nauvis.lua +++ b/lignumis/scripts/to-nauvis.lua @@ -25,6 +25,21 @@ local function init_nauvis() end +-- Removes enemies around the crash site to not mess with the player start +local function clear_enemies() + local nauvis = game.planets[storage.target_planet].surface + local enemies = nauvis.find_entities_filtered({ + position = { 0, 0 }, + radius = 200, + force = "enemy" + }) + for _, enemy in pairs(enemies) do + enemy.destroy() + end + +end + + -- Teleport player to Nauvis and show welcome message local function teleport_player(player) local nauvis = game.planets[storage.target_planet].surface @@ -67,16 +82,19 @@ local function transit_player(player_index) end init_nauvis() + clear_enemies() teleport_player(player) init_freeplay() -- Give the player the content of the rocket if transition.rocket_entry.rocket_content then local inventory = player.get_main_inventory() - for _, item in pairs(transition.rocket_entry.rocket_content) do - inventory.insert(item) + if inventory then + for _, item in pairs(transition.rocket_entry.rocket_content) do + inventory.insert(item) + end + inventory.sort_and_merge() end - inventory.sort_and_merge() end table.remove(storage.rocket_silos, transition.rocket_entry_index) end diff --git a/lignumis/settings.lua b/lignumis/settings.lua index 2a8c02b..ddde9f0 100644 --- a/lignumis/settings.lua +++ b/lignumis/settings.lua @@ -90,6 +90,13 @@ data:extend({ default_value = false, order = "m" }, + { + type = "bool-setting", + name = "lignumis-infinite-astroponics-productivity-research", + setting_type = "startup", + default_value = false, + order = "n" + }, { type = "string-setting", name = "lignumis-second-planet", diff --git a/lignumis/thumbnail.png b/lignumis/thumbnail.png index 8c07e6f..a7604a5 100644 Binary files a/lignumis/thumbnail.png and b/lignumis/thumbnail.png differ diff --git a/sources/icons/lignumis-medium-wriggler-corpse.png b/sources/icons/lignumis-medium-wriggler-corpse.png deleted file mode 100644 index 4d78edf..0000000 Binary files a/sources/icons/lignumis-medium-wriggler-corpse.png and /dev/null differ diff --git a/sources/icons/lignumis-medium-wriggler.png b/sources/icons/lignumis-medium-wriggler.png deleted file mode 100644 index 55fd48b..0000000 Binary files a/sources/icons/lignumis-medium-wriggler.png and /dev/null differ diff --git a/sources/icons/lignumis-small-wriggler-corpse.png b/sources/icons/lignumis-small-wriggler-corpse.png deleted file mode 100644 index 532e60d..0000000 Binary files a/sources/icons/lignumis-small-wriggler-corpse.png and /dev/null differ diff --git a/sources/icons/lignumis-small-wriggler.png b/sources/icons/lignumis-small-wriggler.png deleted file mode 100644 index 0337f96..0000000 Binary files a/sources/icons/lignumis-small-wriggler.png and /dev/null differ