blob: 5df8bc47d6f3922ba7cec03254a03b96274154c9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# This special function is already called by apply_boid_calculations.rb
# do not add or call this function elsewhere
FF::Sys.new('Limit') do
unless $config.limit < 0
FF::Cmp::Boids.each do |boid|
if boid.entities[0].components[FF::Cmp::Piranha].nil?
multi = 1.0
else
multi = 0.3
end
absolute_velocity = Math.sqrt((boid.vx**2) + (boid.vy**2))
if absolute_velocity > ($config.limit * multi)
boid.vx = (boid.vx / absolute_velocity) * $config.limit * multi
boid.vy = (boid.vy / absolute_velocity) * $config.limit * multi
end
end
end
end
|