namespace BP
{
	namespace Weapon
	{
		class TekBow : ScriptWeapon
		{   
			float m_fScalar;
			//------------------------------------------------------------------------------------------------------------------------
			TekBow(kWeapon @actor)
			{
				id = kWpn_TekBow;
				super(actor);
				m_fScalar = 1.0f;
			}
			//------------------------------------------------------------------------------------------------------------------------
			void OnSerialize(kDict& out dict)
			{
				SERIALIZE(m_fScalar);
			}
			//------------------------------------------------------------------------------------------------------------------------
			void OnDeserialize(kDict& in dict)
			{
				DESERIALIZE_FLOAT(m_fScalar);
			}
			//------------------------------------------------------------------------------------------------------------------------
			void OnEndFire(void) override
			{
				ScriptWeapon::OnEndFire();
				m_fScalar = Math::Max(0.5f, Math::Min(2.0f, self.AnimTrackComponent().PlayTime()));
			}
			//------------------------------------------------------------------------------------------------------------------------
			void OnFiredParticleFromAnim(kParticle@ pArrow) override
			{
				ScriptWeapon::OnFiredParticleFromAnim(@pArrow);
				
				if (self.ScopeReady())
				{
					return;
				}
				
				pArrow.Velocity() *= m_fScalar;
			}
			//------------------------------------------------------------------------------------------------------------------------
		};
	}
}
