diff --git a/src/game/shared/tf/tf_gamemovement.cpp b/src/game/shared/tf/tf_gamemovement.cpp index 4091387bc..6b2023a58 100644 --- a/src/game/shared/tf/tf_gamemovement.cpp +++ b/src/game/shared/tf/tf_gamemovement.cpp @@ -1142,9 +1142,10 @@ void CTFGameMovement::ToggleParachute() } else { + bool bOnGround = ( player->GetGroundEntity() != NULL ); int iParachuteDisabled = 0; CALL_ATTRIB_HOOK_INT_ON_OTHER( m_pTFPlayer, iParachuteDisabled, parachute_disabled ); - if ( !iParachuteDisabled && ( tf_parachute_deploy_toggle_allowed.GetBool() || !m_pTFPlayer->m_Shared.InCond( TF_COND_PARACHUTE_DEPLOYED ) ) ) + if ( !bOnGround && !iParachuteDisabled && ( tf_parachute_deploy_toggle_allowed.GetBool() || !m_pTFPlayer->m_Shared.InCond( TF_COND_PARACHUTE_DEPLOYED ) ) ) { m_pTFPlayer->m_Shared.AddCond( TF_COND_PARACHUTE_ACTIVE ); m_pTFPlayer->m_Shared.AddCond( TF_COND_PARACHUTE_DEPLOYED );