Dash goes farther in air

so i want to make my dash the same distance no matter if the players character is on the ground or in the air

Dashs.Normal.OnServerEvent:Connect(function(player,DashKey,CameraCFrame)
	if StunnedList:FindFirstChild(player.Name) then
		return
	end

	local HumanoidRootPart = player.Character:WaitForChild("HumanoidRootPart")
	local randomnumber = math.random(1,3)
	local dashposition = Instance.new("BodyPosition")
	local CloneDash1 = Dash_Particle:Clone()
	local CloneDash2 = Dash_Particle:Clone()
	dashposition.MaxForce = Vector3.new(1000000,10000,1000000)
	dashposition.Parent = HumanoidRootPart

	Debris:AddItem(CloneDash1,1)
	Debris:AddItem(CloneDash2,1)

	if DashKey == "W" then
		DashEffect(CloneDash1,CloneDash2,player,Enum.NormalId.Back)
		dashposition.Position = (HumanoidRootPart.CFrame * CFrame.new(0,0,-60)).Position
	elseif DashKey == "A" then
		DashEffect(CloneDash1,CloneDash2,player,Enum.NormalId.Right)
		dashposition.Position = (HumanoidRootPart.CFrame * CFrame.new(-60,0,0)).Position
	elseif DashKey == "S" then
		DashEffect(CloneDash1,CloneDash2,player,Enum.NormalId.Front)
		dashposition.Position = (HumanoidRootPart.CFrame * CFrame.new(0,0,60)).Position
	elseif DashKey == "D" then
		DashEffect(CloneDash1,CloneDash2,player,Enum.NormalId.Left)
		dashposition.Position = (HumanoidRootPart.CFrame * CFrame.new(60,0,0)).Position
	end

	wait(0.1)
	dashposition:Destroy()

end)

https://gyazo.com/18d7cce7e52bf66785431abd78330dc9

Pretty sure this is to do with friction, no force stopping you in the air, is there?
Unfortunately not really sure how to fix it, but maybe you could find resources on negating friction temporarily somehow.

Only way to really “fix” this is to not use any body movers. A good way to do it is by lerping the player.