aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/Animation
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/Animation')
-rw-r--r--OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs11
1 files changed, 10 insertions, 1 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs b/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs
index e80a33b..13d4562 100644
--- a/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs
+++ b/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs
@@ -399,6 +399,15 @@ namespace OpenSim.Region.Framework.Scenes.Animation
399 { 399 {
400 float fallVelocity = actor.Velocity.Z; 400 float fallVelocity = actor.Velocity.Z;
401 401
402 // if stable on Hover assume falling
403 if(actor.PIDHoverActive && fallVelocity < 0.05f)
404 {
405 Falling = true;
406 currentControlState = motionControlStates.falling;
407 m_lastFallVelocity = fallVelocity;
408 return "FALLDOWN";
409 }
410
402 if (fallVelocity < -2.5f) 411 if (fallVelocity < -2.5f)
403 Falling = true; 412 Falling = true;
404 413
@@ -431,7 +440,7 @@ namespace OpenSim.Region.Framework.Scenes.Animation
431 440
432 #region Jumping // section added for jumping... 441 #region Jumping // section added for jumping...
433 442
434 if (isColliding && heldUp && currentControlState != motionControlStates.jumping) 443 if (isColliding && heldUp && currentControlState != motionControlStates.jumping && !actor.PIDHoverActive)
435 { 444 {
436 // Start jumping, prejump 445 // Start jumping, prejump
437 currentControlState = motionControlStates.jumping; 446 currentControlState = motionControlStates.jumping;