forked from cacklingfiend/lignumis
Fix errors with initialization
This commit is contained in:
parent
c660647341
commit
87b36d88d1
1 changed files with 45 additions and 35 deletions
|
@ -22,7 +22,10 @@ end
|
||||||
|
|
||||||
script.on_init(function()
|
script.on_init(function()
|
||||||
if game.tick > 0 then
|
if game.tick > 0 then
|
||||||
storage.init = true
|
storage.init = {}
|
||||||
|
for _, player in pairs(game.players) do
|
||||||
|
storage.init[player.index] = true
|
||||||
|
end
|
||||||
game.print { "", { "lignumis.start-new-game" } }
|
game.print { "", { "lignumis.start-new-game" } }
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
@ -59,43 +62,50 @@ script.on_event(e.on_player_created, function(event)
|
||||||
nauvis.clear()
|
nauvis.clear()
|
||||||
end
|
end
|
||||||
|
|
||||||
local player = game.get_player(event.player_index) --[[@as LuaPlayer]]
|
if storage.init and type(storage.init) == "boolean" then
|
||||||
local surface = storage.surface
|
storage.init = {
|
||||||
|
[event.player_index] = true
|
||||||
if player then
|
}
|
||||||
player.teleport(surface.find_non_colliding_position("character", { 0, 0 }, 0, 1), "lignumis")
|
else
|
||||||
|
storage.init = {}
|
||||||
if player.character then
|
|
||||||
player.character.destructible = false
|
|
||||||
local main_inventory = player.character.get_main_inventory()
|
|
||||||
main_inventory.insert({ name = "burner-mining-drill", count = 1 })
|
|
||||||
main_inventory.insert({ name = "burner-agricultural-tower", count = 2 })
|
|
||||||
end
|
|
||||||
|
|
||||||
if remote.interfaces.freeplay then
|
|
||||||
storage.crashed_ship_items = remote.call("freeplay", "get_ship_items")
|
|
||||||
storage.crashed_debris_items = remote.call("freeplay", "get_debris_items")
|
|
||||||
storage.crashed_ship_parts = remote.call("freeplay", "get_ship_parts")
|
|
||||||
storage.starting_message = remote.call("freeplay", "get_custom_intro_message")
|
|
||||||
|
|
||||||
local ship_items = { ["wood-darts-magazine"] = 2 }
|
|
||||||
local debris_items = { ["lumber"] = 8 }
|
|
||||||
|
|
||||||
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_debris_items)
|
|
||||||
|
|
||||||
player.get_main_inventory().sort_and_merge()
|
|
||||||
|
|
||||||
storage.crash_site_cutscene_active = true
|
|
||||||
crash_site.create_cutscene(player, { -5, -4 })
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
if not storage.init then
|
local player = game.get_player(event.player_index) --[[@as LuaPlayer]]
|
||||||
storage.init = true
|
local surface = storage.surface or game.planets["lignumis"].surface
|
||||||
|
|
||||||
|
if not storage.init[event.player_index] then
|
||||||
|
storage.init[event.player_index] = true
|
||||||
chart_starting_area()
|
chart_starting_area()
|
||||||
|
|
||||||
|
if player then
|
||||||
|
if player.character then
|
||||||
|
player.teleport(surface.find_non_colliding_position("character", { 0, 0 }, 0, 1), "lignumis")
|
||||||
|
player.character.destructible = false
|
||||||
|
local main_inventory = player.character.get_main_inventory()
|
||||||
|
main_inventory.insert({ name = "burner-mining-drill", count = 1 })
|
||||||
|
main_inventory.insert({ name = "burner-agricultural-tower", count = 2 })
|
||||||
|
end
|
||||||
|
|
||||||
|
if remote.interfaces.freeplay then
|
||||||
|
storage.crashed_ship_items = remote.call("freeplay", "get_ship_items")
|
||||||
|
storage.crashed_debris_items = remote.call("freeplay", "get_debris_items")
|
||||||
|
storage.crashed_ship_parts = remote.call("freeplay", "get_ship_parts")
|
||||||
|
storage.starting_message = remote.call("freeplay", "get_custom_intro_message")
|
||||||
|
|
||||||
|
local ship_items = { ["wood-darts-magazine"] = 2 }
|
||||||
|
local debris_items = { ["lumber"] = 8 }
|
||||||
|
|
||||||
|
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_debris_items)
|
||||||
|
|
||||||
|
player.get_main_inventory().sort_and_merge()
|
||||||
|
|
||||||
|
storage.crash_site_cutscene_active = true
|
||||||
|
crash_site.create_cutscene(player, { -5, -4 })
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue