diff options
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index c925719..eac7cbc 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -2189,8 +2189,12 @@ namespace OpenSim.Region.Framework.Scenes | |||
2189 | { | 2189 | { |
2190 | IFriendsModule friendsModule = m_scene.RequestModuleInterface<IFriendsModule>(); | 2190 | IFriendsModule friendsModule = m_scene.RequestModuleInterface<IFriendsModule>(); |
2191 | if (friendsModule != null) | 2191 | if (friendsModule != null) |
2192 | friendsModule.SendFriendsOnlineIfNeeded(ControllingClient); | 2192 | { |
2193 | 2193 | if(gotCrossUpdate) | |
2194 | friendsModule.IsNpwRoot(this); | ||
2195 | else | ||
2196 | friendsModule.SendFriendsOnlineIfNeeded(ControllingClient); | ||
2197 | } | ||
2194 | m_log.DebugFormat("[CompleteMovement] friendsModule: {0}ms", Util.EnvironmentTickCountSubtract(ts)); | 2198 | m_log.DebugFormat("[CompleteMovement] friendsModule: {0}ms", Util.EnvironmentTickCountSubtract(ts)); |
2195 | 2199 | ||
2196 | } | 2200 | } |
@@ -3163,6 +3167,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
3163 | ResetMoveToTarget(); | 3167 | ResetMoveToTarget(); |
3164 | 3168 | ||
3165 | Velocity = Vector3.Zero; | 3169 | Velocity = Vector3.Zero; |
3170 | m_AngularVelocity = Vector3.Zero; | ||
3166 | 3171 | ||
3167 | part.AddSittingAvatar(this); | 3172 | part.AddSittingAvatar(this); |
3168 | 3173 | ||
@@ -3488,9 +3493,10 @@ namespace OpenSim.Region.Framework.Scenes | |||
3488 | part.AddSittingAvatar(this); | 3493 | part.AddSittingAvatar(this); |
3489 | ParentPart = part; | 3494 | ParentPart = part; |
3490 | ParentID = m_requestedSitTargetID; | 3495 | ParentID = m_requestedSitTargetID; |
3496 | |||
3497 | RemoveFromPhysicalScene(); | ||
3491 | m_AngularVelocity = Vector3.Zero; | 3498 | m_AngularVelocity = Vector3.Zero; |
3492 | Velocity = Vector3.Zero; | 3499 | Velocity = Vector3.Zero; |
3493 | RemoveFromPhysicalScene(); | ||
3494 | 3500 | ||
3495 | m_requestedSitTargetID = 0; | 3501 | m_requestedSitTargetID = 0; |
3496 | 3502 | ||
@@ -3513,13 +3519,15 @@ namespace OpenSim.Region.Framework.Scenes | |||
3513 | return; | 3519 | return; |
3514 | 3520 | ||
3515 | // m_updateCount = 0; // Kill animation update burst so that the SIT_G.. will stick.. | 3521 | // m_updateCount = 0; // Kill animation update burst so that the SIT_G.. will stick.. |
3516 | m_AngularVelocity = Vector3.Zero; | ||
3517 | sitAnimation = "SIT_GROUND_CONSTRAINED"; | 3522 | sitAnimation = "SIT_GROUND_CONSTRAINED"; |
3518 | // Animator.TrySetMovementAnimation("SIT_GROUND_CONSTRAINED"); | 3523 | // Animator.TrySetMovementAnimation("SIT_GROUND_CONSTRAINED"); |
3519 | // TriggerScenePresenceUpdated(); | 3524 | // TriggerScenePresenceUpdated(); |
3520 | SitGround = true; | 3525 | SitGround = true; |
3521 | RemoveFromPhysicalScene(); | 3526 | RemoveFromPhysicalScene(); |
3522 | 3527 | ||
3528 | m_AngularVelocity = Vector3.Zero; | ||
3529 | Velocity = Vector3.Zero; | ||
3530 | |||
3523 | Animator.SetMovementAnimations("SITGROUND"); | 3531 | Animator.SetMovementAnimations("SITGROUND"); |
3524 | TriggerScenePresenceUpdated(); | 3532 | TriggerScenePresenceUpdated(); |
3525 | } | 3533 | } |
@@ -4236,6 +4244,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
4236 | pos.Y -= Velocity.Y * 2; | 4244 | pos.Y -= Velocity.Y * 2; |
4237 | 4245 | ||
4238 | Velocity = Vector3.Zero; | 4246 | Velocity = Vector3.Zero; |
4247 | m_AngularVelocity = Vector3.Zero; | ||
4248 | |||
4239 | AbsolutePosition = pos; | 4249 | AbsolutePosition = pos; |
4240 | 4250 | ||
4241 | AddToPhysicalScene(isFlying); | 4251 | AddToPhysicalScene(isFlying); |