Compare commits

..

2 commits

Author SHA1 Message Date
Simon Brodtmann
a6c38eacb9 0.0.3 2025-01-06 01:38:57 +01:00
Simon Brodtmann
dfea26a7cf Add transition to Nauvis 2025-01-06 01:38:29 +01:00
8 changed files with 79 additions and 61 deletions

View file

@ -5,10 +5,7 @@ Dive into the world of Lignumis, a moon of Nauvis offering only the most basic t
- Move wood and lumber to its own fuel category - Move wood and lumber to its own fuel category
- Make seeds burnable again - Make seeds burnable again
- Make rocket silo work (incl. transition to Nauvis)
- ~~Add ammo turret~~
- Add recipe for moist stromatolite remnants for regular furnace - Add recipe for moist stromatolite remnants for regular furnace
- ~~Make enemies work~~
- Make mod "Wooden logistics" optional - Make mod "Wooden logistics" optional
- Balance pollution (noise) - Balance pollution (noise)
- Tweak enemies + warfare (add damage research) - Tweak enemies + warfare (add damage research)
@ -19,13 +16,13 @@ Dive into the world of Lignumis, a moon of Nauvis offering only the most basic t
- Add burner radar - Add burner radar
- Balance resources - Balance resources
- Force start with wooden ammo - Force start with wooden ammo
- Add robots (simple robots inspired by https://mods.factorio.com/mod/copper-construction-robots; gold and copper variant)
- Remove stromatolite (non-plant)? - Remove stromatolite (non-plant)?
- Guarantee spawn of gold in starting area - Guarantee spawn of gold in starting area
- Fix pipe graphics on desiccation furnace - Fix pipe graphics on desiccation furnace
- Change color of gold soil - Change color of gold soil
- Ban huge rocks with coal from Nauvis - Ban huge rocks with coal from Nauvis
- Increase default moisture bias - Increase default moisture bias
- Create proper experience for the transition to Nauvis with a custom UI with launch button
## Credits ## Credits

View file

@ -1,8 +1,10 @@
--------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------
Version: 0.0.3 Version: 0.0.3
Date: 03.01.2025 Date: 06.01.2025
Changes: Changes:
- Add Basic construction robots - Add Basic construction robots
- Position Deep miner in technology tree
- Implement transition to Nauvis (temporary solution)
--------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------
Version: 0.0.2 Version: 0.0.2
Date: 02.01.2025 Date: 02.01.2025

View file

@ -1,3 +1,5 @@
require("script/to-nauvis")
local crash_site = require("crash-site") local crash_site = require("crash-site")
local util = require("util") local util = require("util")
local e = defines.events local e = defines.events
@ -56,10 +58,6 @@ script.on_event(e.on_player_created, function(event)
storage.crashed_ship_parts = remote.call("freeplay", "get_ship_parts") storage.crashed_ship_parts = remote.call("freeplay", "get_ship_parts")
storage.starting_message = remote.call("freeplay", "get_custom_intro_message") storage.starting_message = remote.call("freeplay", "get_custom_intro_message")
log(serpent.block(storage.crashed_ship_items))
log(serpent.block(storage.crashed_debris_items))
log(serpent.block(storage.crashed_ship_parts))
local ship_items = { ["wood-darts-magazine"] = 8 } local ship_items = { ["wood-darts-magazine"] = 8 }
local debris_items = { ["lumber"] = 8 } local debris_items = { ["lumber"] = 8 }
@ -89,11 +87,8 @@ local get_starting_message = function()
if storage.custom_intro_message then if storage.custom_intro_message then
return storage.custom_intro_message return storage.custom_intro_message
end end
if script.active_mods["space-age"] then
return { "msg-intro-space-age" } return { "msg-intro-space-age" }
end end
return { "msg-intro" }
end
local function show_intro_message(player) local function show_intro_message(player)
if storage.skip_intro then if storage.skip_intro then

View file

@ -1,6 +1,6 @@
{ {
"name": "lignumis", "name": "lignumis",
"version": "0.0.2", "version": "0.0.3",
"title": "Lignumis", "title": "Lignumis",
"description": "Dive into the world of Lignumis, a moon of Nauvis offering only the most basic technologies.", "description": "Dive into the world of Lignumis, a moon of Nauvis offering only the most basic technologies.",
"author": "cackling fiend", "author": "cackling fiend",

View file

@ -46,9 +46,11 @@ gold-plate=Gold plate
gold-cable=Gold cable gold-cable=Gold cable
moist-stromatolite-remnant=Moist stromatolite remnant moist-stromatolite-remnant=Moist stromatolite remnant
steam-science-pack=Steam science pack steam-science-pack=Steam science pack
destination-nauvis=Travel to Nauvis
[item-description] [item-description]
wooden-wall=Use wooden walls to protect your base from the locals and to reduce noise levels. wooden-wall=Use wooden walls to protect your base from the locals and to reduce noise levels.
destination-nauvis=Insert this item into a rocket to travel to Nauvis. Notice that you won't come back for a while.
[fluid-name] [fluid-name]
wood-pulp=Wood pulp wood-pulp=Wood pulp

View file

@ -89,40 +89,6 @@ local rocket_part_recipe = {
allow_productivity = true allow_productivity = true
} }
local satellite_item = {
type = "item",
name = "satellite",
icon = "__base__/graphics/icons/satellite.png",
subgroup = "space-related",
order = "d[rocket-parts]-e[satellite]",
inventory_move_sound = item_sounds.mechanical_inventory_move,
pick_sound = item_sounds.mechanical_inventory_pickup,
drop_sound = item_sounds.mechanical_inventory_move,
stack_size = 1,
weight = 1 * tons,
rocket_launch_products = {{type = "item", name = "destination-nauvis", amount = 1}},
send_to_orbit_mode = "automated"
}
local satellite_recipe = {
type = "recipe",
name = "satellite",
energy_required = 5,
enabled = false,
category = "crafting",
ingredients =
{
{ type = "item", name = "low-density-structure", amount = 100 },
{ type = "item", name = "solar-panel", amount = 100 },
{ type = "item", name = "accumulator", amount = 100 },
{ type = "item", name = "radar", amount = 5 },
{ type = "item", name = "processing-unit", amount = 100 },
{ type = "item", name = "rocket-fuel", amount = 50 }
},
results = { { type = "item", name = "satellite", amount = 1 } },
requester_paste_multiplier = 1
}
local nauvis_item = { local nauvis_item = {
type = "item", type = "item",
name = "destination-nauvis", name = "destination-nauvis",
@ -133,7 +99,17 @@ local nauvis_item = {
pick_sound = item_sounds.mechanical_inventory_pickup, pick_sound = item_sounds.mechanical_inventory_pickup,
drop_sound = item_sounds.mechanical_inventory_move, drop_sound = item_sounds.mechanical_inventory_move,
stack_size = 1, stack_size = 1,
weight = 1 * tons weight = 1 * tons,
send_to_orbit_mode = "automated",
spoil_ticks = 60 * 60 * 10
}
local nauvis_recipe = {
type = "recipe",
name = "destination-nauvis",
enabled = false,
ingredients = {},
results = { { type = "item", name = "destination-nauvis", amount = 1 } }
} }
data:extend({ data:extend({
@ -142,7 +118,6 @@ data:extend({
silo_recipe, silo_recipe,
rocket, rocket,
rocket_part_recipe, rocket_part_recipe,
satellite_item, nauvis_item,
satellite_recipe, nauvis_recipe
nauvis_item
}) })

View file

@ -5,11 +5,22 @@ data:extend({
icons = util.technology_icon_constant_planet("__lignumis__/graphics/technology/nauvis.png"), icons = util.technology_icon_constant_planet("__lignumis__/graphics/technology/nauvis.png"),
icon_size = 256, icon_size = 256,
essential = true, essential = true,
effects = { { effects = {
{
type = "unlock-space-location", type = "unlock-space-location",
space_location = "nauvis", space_location = "nauvis",
use_icon_overlay_constant = true use_icon_overlay_constant = true
} }, },
{
type = "unlock-recipe",
recipe = "destination-nauvis"
},
{
type = "unlock-space-platforms",
modifier = true,
hidden = true
}
},
prerequisites = { "provisional-rocketry" }, prerequisites = { "provisional-rocketry" },
unit = { unit = {
count = 100, count = 100,
@ -121,10 +132,6 @@ data:extend({
{ {
type = "unlock-recipe", type = "unlock-recipe",
recipe = "provisional-rocket-silo" recipe = "provisional-rocket-silo"
},
{
type = "unlock-recipe",
recipe = "satellite"
} }
}, },
prerequisites = { "wood-liquefaction" }, prerequisites = { "wood-liquefaction" },

View file

@ -0,0 +1,40 @@
local crash_site = require("crash-site")
local util = require("util")
local e = defines.events
local function chart_starting_area(surface, player)
local r = 200
local force = player.force
local origin = force.get_spawn_position(surface)
force.chart(surface, { { origin.x - r, origin.y - r }, { origin.x + r, origin.y + r } })
end
local function travel_to_nauvis()
local nauvis = game.planets["nauvis"].create_surface()
nauvis.request_to_generate_chunks({ 0, 0 }, 3)
nauvis.force_generate_chunk_requests()
for _, player in pairs(game.players) do
if player.surface.name == "lignumis" then
player.teleport(nauvis.find_non_colliding_position("character", { 0, 0 }, 0, 1) --[[@as MapPosition]],
"nauvis")
chart_starting_area(nauvis, player)
player.print("Oh no, not again. But... Welcome to Nauvis!")
end
end
local ship_items = remote.call("freeplay", "get_ship_items")
local debris_items = remote.call("freeplay", "get_debris_items")
local crashed_ship_parts = remote.call("freeplay", "get_ship_parts")
nauvis.daytime = 0.7
crash_site.create_crash_site(nauvis, { -5, -6 }, ship_items, debris_items, util.copy(crashed_ship_parts))
end
script.on_event(e.on_rocket_launch_ordered, function(event)
local rocket_silo = event.rocket_silo
if rocket_silo.name == "provisional-rocket-silo" then
--rocket_silo.destroy()
travel_to_nauvis()
end
end)