From 7eb1df41199de76c8626482deb27c1a0c94bde32 Mon Sep 17 00:00:00 2001 From: Fiftytwo Date: Wed, 29 Nov 2017 13:24:05 +0100 Subject: [PATCH] Add aim recalibration during falling --- src/object/task/taskbuild.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/object/task/taskbuild.cpp b/src/object/task/taskbuild.cpp index 7a608cc7..3c8d769c 100644 --- a/src/object/task/taskbuild.cpp +++ b/src/object/task/taskbuild.cpp @@ -202,9 +202,9 @@ void CTaskBuild::BlackLight() bool CTaskBuild::EventProcess(const Event &event) { Math::Matrix* mat; - Math::Vector pos, dir, speed; + Math::Vector pos, dir, speed, pv, pm, tilt; Math::Point dim; - float a, g, cirSpeed, dist, linSpeed; + float a, g, cirSpeed, dist, linSpeed, diff; if ( m_engine->GetPause() ) return true; if ( event.type != EVENT_FRAME ) return true; @@ -355,6 +355,16 @@ bool CTaskBuild::EventProcess(const Event &event) m_sound->Play(SOUND_BUILD, m_object->GetPosition(), 0.5f, 1.0f*Math::Rand()*1.5f); } } + + if(m_object->GetType() == OBJECT_MOBILEfb && m_object->GetReactorRange()<0.2f && m_phase != TBP_MOVE) + { + pv = m_object->GetPosition(); + pm = m_metal->GetPosition(); + dist = Math::Distance(pv, pm); + diff = pm.y - 8.0f - pv.y; + tilt = m_object->GetRotation(); + m_object->StartTaskGunGoal(asin(diff/dist)-tilt.z, 0.0f); + } return true; }