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)
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
        local nauvis = game.get_surface("nauvis") --[[@as LuaSurface]]
 | 
			
		||||
        nauvis.clear()
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    local player = game.get_player(event.player_index) --[[@as LuaPlayer]]
 | 
			
		||||
    local surface = storage.surface
 | 
			
		||||
 | 
			
		||||
    if not storage.init then
 | 
			
		||||
        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_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")
 | 
			
		||||
        if player then
 | 
			
		||||
            player.teleport(surface.find_non_colliding_position("character", { 0, 0 }, 0, 1) --[[@as MapPosition]], "lignumis")
 | 
			
		||||
 | 
			
		||||
            local ship_items = { ["wood-darts-magazine"] = 8 }
 | 
			
		||||
            local debris_items = { ["lumber"] = 8 }
 | 
			
		||||
            if player.character then
 | 
			
		||||
                player.character.destructible = false
 | 
			
		||||
            end
 | 
			
		||||
 | 
			
		||||
            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)
 | 
			
		||||
            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")
 | 
			
		||||
 | 
			
		||||
            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_cutscene(player, { -5, -4 })
 | 
			
		||||
                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
 | 
			
		||||
 | 
			
		||||
        chart_starting_area()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue