diff --git a/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs b/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs index 2e4c260093..da1104a5ba 100644 --- a/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs +++ b/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs @@ -200,7 +200,10 @@ namespace OpenSim.Region.Framework.Scenes.Animation else if (move.Z < 0f) { if (actor != null && actor.IsColliding) + { + //Console.WriteLine("LAND"); return "LAND"; + } else return "HOVER_DOWN"; } @@ -249,7 +252,10 @@ namespace OpenSim.Region.Framework.Scenes.Animation float landElapsed = (float)(Environment.TickCount - m_animTickFall) / 1000f; if (landElapsed <= FALL_DELAY) + { + m_animTickFall = 0; return "LAND"; + } } m_animTickFall = 0; diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 5604e3d3f0..33717b1a24 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -1445,7 +1445,10 @@ namespace OpenSim.Region.Framework.Scenes // nesting this check because LengthSquared() is expensive and we don't // want to do it every step when flying. if ((Velocity.LengthSquared() <= LAND_VELOCITYMAG_MAX)) + { StopFlying(); + m_physicsActor.Flying = false; + } } }