forked from luanti-org/minetest_game
		
	TNT: Limit amount of stacks ejected.
We apply a log scale to the size of the stacks ejected, so that in larger explosions we are getting larger stacks. For normal r=3 explosions, this gives stack sizes ~6-7 or so, but for r=10 explosions it could end up giving stacks of 25+.V
This commit is contained in:
		@@ -49,8 +49,9 @@ local function eject_drops(drops, pos, radius)
 | 
			
		||||
	local drop_pos = vector.new(pos)
 | 
			
		||||
	for _, item in pairs(drops) do
 | 
			
		||||
		local count = item:get_count()
 | 
			
		||||
		local take_est = math.log(count * count) + math.random(0,4) - 2
 | 
			
		||||
		while count > 0 do
 | 
			
		||||
			local take = math.min(math.random(2,5),
 | 
			
		||||
			local take = math.min(take_est,
 | 
			
		||||
					item:get_count(),
 | 
			
		||||
					item:get_stack_max())
 | 
			
		||||
			rand_pos(pos, drop_pos, radius)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user