forked from cacklingfiend/lignumis
		
	Add transition to Nauvis
This commit is contained in:
		
							parent
							
								
									a83851341a
								
							
						
					
					
						commit
						dfea26a7cf
					
				
					 6 changed files with 75 additions and 59 deletions
				
			
		
							
								
								
									
										40
									
								
								lignumis/script/to-nauvis.lua
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								lignumis/script/to-nauvis.lua
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,40 @@ | |||
| local crash_site = require("crash-site") | ||||
| local util = require("util") | ||||
| local e = defines.events | ||||
| 
 | ||||
| local function chart_starting_area(surface, player) | ||||
|     local r = 200 | ||||
|     local force = player.force | ||||
|     local origin = force.get_spawn_position(surface) | ||||
|     force.chart(surface, { { origin.x - r, origin.y - r }, { origin.x + r, origin.y + r } }) | ||||
| end | ||||
| 
 | ||||
| local function travel_to_nauvis() | ||||
|     local nauvis = game.planets["nauvis"].create_surface() | ||||
|     nauvis.request_to_generate_chunks({ 0, 0 }, 3) | ||||
|     nauvis.force_generate_chunk_requests() | ||||
| 
 | ||||
|     for _, player in pairs(game.players) do | ||||
|         if player.surface.name == "lignumis" then | ||||
|             player.teleport(nauvis.find_non_colliding_position("character", { 0, 0 }, 0, 1) --[[@as MapPosition]], | ||||
|                 "nauvis") | ||||
|             chart_starting_area(nauvis, player) | ||||
|             player.print("Oh no, not again. But... Welcome to Nauvis!") | ||||
|         end | ||||
|     end | ||||
| 
 | ||||
|     local ship_items = remote.call("freeplay", "get_ship_items") | ||||
|     local debris_items = remote.call("freeplay", "get_debris_items") | ||||
|     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, util.copy(crashed_ship_parts)) | ||||
| end | ||||
| 
 | ||||
| script.on_event(e.on_rocket_launch_ordered, function(event) | ||||
|     local rocket_silo = event.rocket_silo | ||||
|     if rocket_silo.name == "provisional-rocket-silo" then | ||||
|         --rocket_silo.destroy() | ||||
|         travel_to_nauvis() | ||||
|     end | ||||
| end) | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Simon Brodtmann
						Simon Brodtmann