mirror of
				https://asciireactor.com/factorio/adamo-physics.git
				synced 2025-11-04 01:08:04 +00:00 
			
		
		
		
	Improved fluid box leveling.
This commit is contained in:
		
							parent
							
								
									06f37425c4
								
							
						
					
					
						commit
						4ecd8d1125
					
				@ -1,3 +1,14 @@
 | 
			
		||||
---------------------------------------------------------------------------------------------------
 | 
			
		||||
Version: 0.2.0
 | 
			
		||||
Date: 2020-06-26
 | 
			
		||||
 | 
			
		||||
  Changes:
 | 
			
		||||
    - Updated to version 1.0
 | 
			
		||||
 | 
			
		||||
  Entities:
 | 
			
		||||
    - Tweaked fluid box algorithm to improve pipe level matching
 | 
			
		||||
      and generator throughput.
 | 
			
		||||
 | 
			
		||||
---------------------------------------------------------------------------------------------------
 | 
			
		||||
Version: 0.1.0
 | 
			
		||||
Date: 2020-06-26
 | 
			
		||||
 | 
			
		||||
@ -101,12 +101,25 @@ local set_burner_colors = function(entity)
 | 
			
		||||
		)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
-- Assumes pipe had height 1 before being changed by this mod.
 | 
			
		||||
local pipe_rise = data.raw.pipe.pipe.fluid_box.height - 1
 | 
			
		||||
 | 
			
		||||
for _,boiler in pairs(data.raw.boiler) do
 | 
			
		||||
	boiler.target_temperature = chem_temp_max
 | 
			
		||||
	boiler.fluid_box.height =
 | 
			
		||||
		(boiler.fluid_box.height or 1)/gen_eff
 | 
			
		||||
	boiler.output_fluid_box.height =
 | 
			
		||||
		(boiler.output_fluid_box.height or 1)/gen_eff
 | 
			
		||||
	local input_rise = boiler.fluid_box.height or 1
 | 
			
		||||
	local output_rise = boiler.output_fluid_box.height or 1
 | 
			
		||||
	boiler.fluid_box.height = input_rise/gen_eff
 | 
			
		||||
	boiler.output_fluid_box.height = output_rise/gen_eff
 | 
			
		||||
	input_rise = (boiler.fluid_box.height or 1) - input_rise
 | 
			
		||||
	output_rise = (boiler.output_fluid_box.height or 1) - output_rise
 | 
			
		||||
	local input_drop = input_rise - pipe_rise
 | 
			
		||||
	local output_drop = output_rise - pipe_rise
 | 
			
		||||
	boiler.fluid_box.base_level =
 | 
			
		||||
		(boiler.fluid_box.base_level or 0)
 | 
			
		||||
		- input_drop
 | 
			
		||||
	boiler.output_fluid_box.base_level =
 | 
			
		||||
		(boiler.output_fluid_box.base_level or 0)
 | 
			
		||||
		- output_drop
 | 
			
		||||
	boiler.energy_consumption = energy_div(
 | 
			
		||||
		boiler.energy_consumption,gen_eff
 | 
			
		||||
	)
 | 
			
		||||
@ -136,8 +149,14 @@ for _,generator in pairs(data.raw.generator) do
 | 
			
		||||
		(generator.effectivity or 1)
 | 
			
		||||
		*gen_eff
 | 
			
		||||
	if generator.fluid_box then
 | 
			
		||||
		local input_rise = generator.fluid_box.height or 1
 | 
			
		||||
		generator.fluid_box.height = 
 | 
			
		||||
			(generator.fluid_box.height or 1)/gen_eff
 | 
			
		||||
		input_rise = (generator.fluid_box.height or 1) - input_rise
 | 
			
		||||
		local input_drop = input_rise - pipe_rise
 | 
			
		||||
		generator.fluid_box.base_level =
 | 
			
		||||
			(generator.fluid_box.base_level or 0)
 | 
			
		||||
			- input_drop
 | 
			
		||||
	end
 | 
			
		||||
	if generator.name:find "steam" then
 | 
			
		||||
		if generator.name:find "turbine" then
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user