From 561ac9574a5afc88ac762edc8892353e678b1117 Mon Sep 17 00:00:00 2001 From: arngo <27396817+arngo@users.noreply.github.com> Date: Sun, 19 Dec 2021 22:34:28 -0500 Subject: implemented speed decay --- app/components/rules/decay_speed.rb | 2 ++ app/main.rb | 2 ++ app/systems/rules/decay_speed.rb | 9 +++++++++ app/systems/start_game.rb | 1 + 4 files changed, 14 insertions(+) create mode 100644 app/components/rules/decay_speed.rb create mode 100644 app/systems/rules/decay_speed.rb 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 3bd54a2..d70958c 100644 --- a/app/main.rb +++ b/app/main.rb @@ -11,6 +11,7 @@ require 'app/components/rules/cohesion.rb' require 'app/components/rules/alignment.rb' require 'app/components/rules/separation.rb' require 'app/components/rules/follow.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' @@ -34,6 +35,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 678100b..ed78339 100644 --- a/app/systems/start_game.rb +++ b/app/systems/start_game.rb @@ -44,6 +44,7 @@ FF::Sys.new('StartGame', priority: 50 ) do FF::Cmp::SingletonPlayer[0], FF::Cmp::Team.new(team: 'player'), FF::Cmp::Weapon.new, + FF::Cmp::DecaySpeed.new(strength: 0.9), ) -- cgit v1.2.3