diff options
| -rw-r--r-- | app/components/rules/decay_speed.rb | 2 | ||||
| -rw-r--r-- | app/main.rb | 2 | ||||
| -rw-r--r-- | app/systems/rules/decay_speed.rb | 9 | ||||
| -rw-r--r-- | app/systems/start_game.rb | 1 |
4 files changed, 14 insertions, 0 deletions
diff --git a/app/components/rules/decay_speed.rb b/app/components/rules/decay_speed.rb new file mode 100644 index 0000000..83a3938 --- /dev/null +++ b/app/components/rules/decay_speed.rb @@ -0,0 +1,2 @@ +FF::Cmp.new('DecaySpeed', + strength: 0.8) diff --git a/app/main.rb b/app/main.rb index 23851df..f4feee6 100644 --- a/app/main.rb +++ b/app/main.rb @@ -12,6 +12,7 @@ require 'app/components/rules/alignment.rb' require 'app/components/rules/separation.rb' require 'app/components/rules/follow.rb' require 'app/components/rules/minimum_speed.rb' +require 'app/components/rules/decay_speed.rb' require 'app/components/debug/singleton_debug_vector_arrow.rb' require 'app/components/singleton_camera.rb' require 'app/components/stats/collision_damage.rb' @@ -35,6 +36,7 @@ require 'app/systems/rules/alignment.rb' require 'app/systems/rules/separation.rb' require 'app/systems/rules/reset_change_vector.rb' require 'app/systems/rules/follow.rb' +require 'app/systems/rules/decay_speed.rb' require 'app/systems/debug/debug_render_vector_arrow.rb' require 'app/systems/camera.rb' require 'app/systems/collision_damage.rb' diff --git a/app/systems/rules/decay_speed.rb b/app/systems/rules/decay_speed.rb new file mode 100644 index 0000000..490c7d0 --- /dev/null +++ b/app/systems/rules/decay_speed.rb @@ -0,0 +1,9 @@ +FF::Scn::BoidRules.add( + FF::Sys.new('DecaySpeed', priority: 50) do + FF::Cmp::DecaySpeed.each do |decay| + boid = decay.entities[0].components[FF::Cmp::Boid][0] + boid.vx *= decay.strength + boid.vy *= decay.strength + end + end +) diff --git a/app/systems/start_game.rb b/app/systems/start_game.rb index ebb972d..51f26d4 100644 --- a/app/systems/start_game.rb +++ b/app/systems/start_game.rb @@ -45,6 +45,7 @@ FF::Sys.new('StartGame', priority: 50 ) do FF::Cmp::Team.new(team: 'player'), FF::Cmp::Weapon.new, FF::Cmp::BoidMinimumSpeed.new, + FF::Cmp::DecaySpeed.new(strength: 0.9), ) |
