blob: b2a8f32c0193d357429bba8cd68cb33e17dbe20a (
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
boid.vx = (boid.vx / absolute_velocity) * $config.limit * multi
boid.vy = (boid.vy / absolute_velocity) * $config.limit * multi
end
end
end
end
|