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
	
	 Simon Brodtmann
						Simon Brodtmann