Fix bug for when freeplay interface is not present

https://mods.factorio.com/mod/lignumis/discussion/67801be5358edef99aaf00eb
This commit is contained in:
Simon Brodtmann 2025-01-11 15:28:27 +01:00
parent d69f437095
commit dd45cac7db
3 changed files with 29 additions and 18 deletions

View file

@ -7,6 +7,8 @@ Date: 09.01.2025
- Balance peat resource patches - Balance peat resource patches
- Increase fuel value of wood pulp - Increase fuel value of wood pulp
- Balance start on Nauvis - Balance start on Nauvis
- Fix bug for when freeplay interface is not present
- Reactors and cars burn wood fuel
--------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------
Version: 0.0.5 Version: 0.0.5
Date: 07.01.2025 Date: 07.01.2025

View file

@ -53,6 +53,13 @@ script.on_event(e.on_player_created, function(event)
if not storage.init then if not storage.init then
storage.init = true storage.init = true
surface.daytime = 0.7
if player.character then
player.character.destructible = false
end
if remote.interfaces.freeplay then
storage.crashed_ship_items = remote.call("freeplay", "get_ship_items") storage.crashed_ship_items = remote.call("freeplay", "get_ship_items")
storage.crashed_debris_items = remote.call("freeplay", "get_debris_items") storage.crashed_debris_items = remote.call("freeplay", "get_debris_items")
storage.crashed_ship_parts = remote.call("freeplay", "get_ship_parts") storage.crashed_ship_parts = remote.call("freeplay", "get_ship_parts")
@ -61,16 +68,15 @@ script.on_event(e.on_player_created, function(event)
local ship_items = { ["wood-darts-magazine"] = 8 } local ship_items = { ["wood-darts-magazine"] = 8 }
local debris_items = { ["lumber"] = 8 } local debris_items = { ["lumber"] = 8 }
surface.daytime = 0.7
crash_site.create_crash_site(surface, { -5, -6 }, ship_items, debris_items, table.deepcopy(storage.crashed_ship_parts)) crash_site.create_crash_site(surface, { -5, -6 }, ship_items, debris_items, table.deepcopy(storage.crashed_ship_parts))
util.remove_safe(player, storage.crashed_ship_items) util.remove_safe(player, storage.crashed_ship_items)
util.remove_safe(player, storage.crashed_debris_items) util.remove_safe(player, storage.crashed_debris_items)
player.get_main_inventory().sort_and_merge() player.get_main_inventory().sort_and_merge()
if player.character then
player.character.destructible = false
end
storage.crash_site_cutscene_active = true storage.crash_site_cutscene_active = true
crash_site.create_cutscene(player, { -5, -4 }) crash_site.create_cutscene(player, { -5, -4 })
end
chart_starting_area() chart_starting_area()
end end

View file

@ -23,12 +23,15 @@ local function travel_to_nauvis()
end end
end end
nauvis.daytime = 0.7
if remote.interfaces.freeplay then
local ship_items = { ["burner-mining-drill"] = 5, ["stone-furnace"] = 5, ["burner-assembling-machine"] = 2, ["burner-agricultural-tower"] = 4, ["wood-lab"] = 4 } local ship_items = { ["burner-mining-drill"] = 5, ["stone-furnace"] = 5, ["burner-assembling-machine"] = 2, ["burner-agricultural-tower"] = 4, ["wood-lab"] = 4 }
local debris_items = { ["wood-darts-magazine"] = 20, ["wood"] = 20, ["lumber"] = 20 } local debris_items = { ["wood-darts-magazine"] = 20, ["wood"] = 20, ["lumber"] = 20 }
local crashed_ship_parts = remote.call("freeplay", "get_ship_parts") 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, table.deepcopy(crashed_ship_parts)) crash_site.create_crash_site(nauvis, { -5, -6 }, ship_items, debris_items, table.deepcopy(crashed_ship_parts))
end
end end
script.on_event(e.on_rocket_launched, function(event) script.on_event(e.on_rocket_launched, function(event)