forked from cacklingfiend/lignumis
		
	Fix crash when opening the editor
This commit is contained in:
		
							parent
							
								
									02a5609c22
								
							
						
					
					
						commit
						d128ab8f6e
					
				
					 1 changed files with 24 additions and 21 deletions
				
			
		| 
						 | 
					@ -41,41 +41,44 @@ script.on_init(function()
 | 
				
			||||||
end)
 | 
					end)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
script.on_event(e.on_player_created, function(event)
 | 
					script.on_event(e.on_player_created, function(event)
 | 
				
			||||||
    local player = game.get_player(event.player_index) --[[@as LuaPlayer]]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    local surface = storage.surface
 | 
					 | 
				
			||||||
    player.teleport(surface.find_non_colliding_position("character", { 0, 0 }, 0, 1) --[[@as MapPosition]], "lignumis")
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if not storage.nauvis_visited then
 | 
					    if not storage.nauvis_visited then
 | 
				
			||||||
        local nauvis = game.get_surface("nauvis") --[[@as LuaSurface]]
 | 
					        local nauvis = game.get_surface("nauvis") --[[@as LuaSurface]]
 | 
				
			||||||
        nauvis.clear()
 | 
					        nauvis.clear()
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    local player = game.get_player(event.player_index) --[[@as LuaPlayer]]
 | 
				
			||||||
 | 
					    local surface = storage.surface
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if not storage.init then
 | 
					    if not storage.init then
 | 
				
			||||||
        storage.init = true
 | 
					        storage.init = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        surface.daytime = 0.7
 | 
					        surface.daytime = 0.7
 | 
				
			||||||
        if player.character then
 | 
					 | 
				
			||||||
            player.character.destructible = false
 | 
					 | 
				
			||||||
        end
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if remote.interfaces.freeplay then
 | 
					        if player then
 | 
				
			||||||
            storage.crashed_ship_items = remote.call("freeplay", "get_ship_items")
 | 
					            player.teleport(surface.find_non_colliding_position("character", { 0, 0 }, 0, 1) --[[@as MapPosition]], "lignumis")
 | 
				
			||||||
            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"] = 8 }
 | 
					            if player.character then
 | 
				
			||||||
            local debris_items = { ["lumber"] = 8 }
 | 
					                player.character.destructible = false
 | 
				
			||||||
 | 
					            end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            crash_site.create_crash_site(surface, { -5, -6 }, ship_items, debris_items, table.deepcopy(storage.crashed_ship_parts))
 | 
					            if remote.interfaces.freeplay then
 | 
				
			||||||
            util.remove_safe(player, storage.crashed_ship_items)
 | 
					                storage.crashed_ship_items = remote.call("freeplay", "get_ship_items")
 | 
				
			||||||
            util.remove_safe(player, storage.crashed_debris_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")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            player.get_main_inventory().sort_and_merge()
 | 
					                local ship_items = { ["wood-darts-magazine"] = 8 }
 | 
				
			||||||
 | 
					                local debris_items = { ["lumber"] = 8 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            storage.crash_site_cutscene_active = true
 | 
					                crash_site.create_crash_site(surface, { -5, -6 }, ship_items, debris_items, table.deepcopy(storage.crashed_ship_parts))
 | 
				
			||||||
            crash_site.create_cutscene(player, { -5, -4 })
 | 
					                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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        chart_starting_area()
 | 
					        chart_starting_area()
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue