scenepresence change! in standup() give avatar a physical actor after deciding the new position. This reduces a bit the odds of it being still coliding with object.
parent
022ae33ed5
commit
09f6647aa3
|
@ -1814,8 +1814,11 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
// m_log.DebugFormat("[SCENE PRESENCE]: StandUp() for {0}", Name);
|
// m_log.DebugFormat("[SCENE PRESENCE]: StandUp() for {0}", Name);
|
||||||
|
|
||||||
SitGround = false;
|
SitGround = false;
|
||||||
|
|
||||||
|
/* move this down so avatar gets physical in the new position and not where it is siting
|
||||||
if (PhysicsActor == null)
|
if (PhysicsActor == null)
|
||||||
AddToPhysicalScene(false);
|
AddToPhysicalScene(false);
|
||||||
|
*/
|
||||||
|
|
||||||
if (ParentID != 0)
|
if (ParentID != 0)
|
||||||
{
|
{
|
||||||
|
@ -1850,6 +1853,10 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
ParentPosition = Vector3.Zero;
|
ParentPosition = Vector3.Zero;
|
||||||
|
|
||||||
ParentID = 0;
|
ParentID = 0;
|
||||||
|
|
||||||
|
if (PhysicsActor == null)
|
||||||
|
AddToPhysicalScene(false);
|
||||||
|
|
||||||
SendAvatarDataToAllAgents();
|
SendAvatarDataToAllAgents();
|
||||||
m_requestedSitTargetID = 0;
|
m_requestedSitTargetID = 0;
|
||||||
|
|
||||||
|
@ -1857,6 +1864,9 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
part.ParentGroup.TriggerScriptChangedEvent(Changed.LINK);
|
part.ParentGroup.TriggerScriptChangedEvent(Changed.LINK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
else if (PhysicsActor == null)
|
||||||
|
AddToPhysicalScene(false);
|
||||||
|
|
||||||
Animator.TrySetMovementAnimation("STAND");
|
Animator.TrySetMovementAnimation("STAND");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue