diff options
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | 5 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/ScenePresence.cs | 10 |
2 files changed, 12 insertions, 3 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs index efee81b..6fd0cf0 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | |||
@@ -1580,6 +1580,11 @@ namespace OpenSim.Region.Environment.Scenes | |||
1580 | List<ScenePresence> avatars = GetScenePresences(); | 1580 | List<ScenePresence> avatars = GetScenePresences(); |
1581 | for (int i = 0; i < avatars.Count; i++) | 1581 | for (int i = 0; i < avatars.Count; i++) |
1582 | { | 1582 | { |
1583 | if (avatars[i].ParentID == LocalId) | ||
1584 | { | ||
1585 | avatars[i].StandUp(); | ||
1586 | } | ||
1587 | |||
1583 | avatars[i].ControllingClient.SendKillObject(m_regionHandle, part.LocalID); | 1588 | avatars[i].ControllingClient.SendKillObject(m_regionHandle, part.LocalID); |
1584 | } | 1589 | } |
1585 | } | 1590 | } |
diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs index 7927de6..ea8d5c4 100644 --- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs | |||
@@ -526,7 +526,6 @@ namespace OpenSim.Region.Environment.Scenes | |||
526 | if ((flags & (uint) MainAvatar.ControlFlags.AGENT_CONTROL_STAND_UP) != 0) | 526 | if ((flags & (uint) MainAvatar.ControlFlags.AGENT_CONTROL_STAND_UP) != 0) |
527 | { | 527 | { |
528 | StandUp(); | 528 | StandUp(); |
529 | UpdateMovementAnimations(true); | ||
530 | } | 529 | } |
531 | 530 | ||
532 | if (PhysicsActor == null) | 531 | if (PhysicsActor == null) |
@@ -593,7 +592,11 @@ namespace OpenSim.Region.Environment.Scenes | |||
593 | 592 | ||
594 | } | 593 | } |
595 | 594 | ||
596 | protected void StandUp() | 595 | /// <summary> |
596 | /// Perform the logic necessary to stand the client up. This method also executes | ||
597 | /// the stand animation. | ||
598 | /// </summary> | ||
599 | public void StandUp() | ||
597 | { | 600 | { |
598 | if (m_parentID != 0) | 601 | if (m_parentID != 0) |
599 | { | 602 | { |
@@ -607,6 +610,8 @@ namespace OpenSim.Region.Environment.Scenes | |||
607 | m_parentID = 0; | 610 | m_parentID = 0; |
608 | SendFullUpdateToAllClients(); | 611 | SendFullUpdateToAllClients(); |
609 | } | 612 | } |
613 | |||
614 | UpdateMovementAnimations(true); | ||
610 | } | 615 | } |
611 | 616 | ||
612 | private void SendSitResponse(IClientAPI remoteClient, LLUUID targetID, LLVector3 offset) | 617 | private void SendSitResponse(IClientAPI remoteClient, LLUUID targetID, LLVector3 offset) |
@@ -651,7 +656,6 @@ namespace OpenSim.Region.Environment.Scenes | |||
651 | if (m_parentID != 0) | 656 | if (m_parentID != 0) |
652 | { | 657 | { |
653 | StandUp(); | 658 | StandUp(); |
654 | UpdateMovementAnimations(true); | ||
655 | } | 659 | } |
656 | 660 | ||
657 | SceneObjectPart part = m_scene.GetSceneObjectPart(targetID); | 661 | SceneObjectPart part = m_scene.GetSceneObjectPart(targetID); |