 f3413e9cef
			
		
	
	f3413e9cef
	
	
	
		
			
			- removed tutorialization (Craft/Do X to unlock tech) - start with everything needed for power, electric mining drills, science lab and automation science already unlocked - updated world gen - updated mod api use - updated fluid boxes (CaitSith2) - new option: free sample quality (needs quality mod) - removed old gruft, faster gen speed, faster load time - lists space age as explicitly not supported, so it prevents the game from trying to load both - fixes Y offset of traps being wrong (way higher than intended) - client now has a 5 second timeout to communicate with the bound factorio server, so it aborts actions if the server died - savegames are now stored in write_data_directory -> saves -> Archipelago - add cargo-landing-pad handling - starting rocket silo and cargo landing pad respect free sample quality - supports Factorio 2.0 --------- Co-authored-by: CaitSith2 <d_good@caitsith2.com>
		
			
				
	
	
		
			40 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
| function get_any_stack_size(name)
 | |
|     local item = prototypes.item[name]
 | |
|     if item ~= nil then
 | |
|         return item.stack_size
 | |
|     end
 | |
|     item = prototypes.equipment[name]
 | |
|     if item ~= nil then
 | |
|         return item.stack_size
 | |
|     end
 | |
|     -- failsafe
 | |
|     return 1
 | |
| end
 | |
| 
 | |
| -- from https://stackoverflow.com/a/40180465
 | |
| -- split("a,b,c", ",") => {"a", "b", "c"}
 | |
| function split(s, sep)
 | |
|     local fields = {}
 | |
| 
 | |
|     sep = sep or " "
 | |
|     local pattern = string.format("([^%s]+)", sep)
 | |
|     string.gsub(s, pattern, function(c) fields[#fields + 1] = c end)
 | |
| 
 | |
|     return fields
 | |
| end
 | |
| 
 | |
| function random_offset_position(position, offset)
 | |
|     return {x=position.x+math.random(-offset, offset), y=position.y+math.random(-offset, offset)}
 | |
| end
 | |
| 
 | |
| function fire_entity_at_players(entity_name, speed)
 | |
|     for _, player in ipairs(game.forces["player"].players) do
 | |
|         current_character = player.character
 | |
|         if current_character ~= nil then
 | |
|             current_character.surface.create_entity{name=entity_name,
 | |
|                 position=random_offset_position(current_character.position, 128),
 | |
|                 target=current_character, speed=speed}
 | |
|         end
 | |
|     end
 | |
| end
 |