Change the way ban lines work

avinationmerge
Melanie 2011-01-28 03:35:59 +01:00
parent 1b2deb5b77
commit 3834000778
2 changed files with 13 additions and 5 deletions

View File

@ -367,10 +367,18 @@ namespace OpenSim.Region.CoreModules.World.Land
private void ForceAvatarToPosition(ScenePresence avatar, Vector3? position) private void ForceAvatarToPosition(ScenePresence avatar, Vector3? position)
{ {
if (m_scene.Permissions.IsGod(avatar.UUID)) return; if (m_scene.Permissions.IsGod(avatar.UUID)) return;
if (position.HasValue)
{ if (!position.HasValue)
forcedPosition[avatar.ControllingClient.AgentId] = (Vector3)position; return;
}
bool isFlying = avatar.PhysicsActor.Flying;
avatar.RemoveFromPhysicalScene();
avatar.AbsolutePosition = (Vector3)position;
avatar.AddToPhysicalScene(isFlying);
forcedPosition[avatar.ControllingClient.AgentId] = (Vector3)position;
} }
public void SendYouAreRestrictedNotice(ScenePresence avatar) public void SendYouAreRestrictedNotice(ScenePresence avatar)

View File

@ -1128,7 +1128,7 @@ namespace OpenSim.Region.Framework.Scenes
/// <summary> /// <summary>
/// Removes physics plugin scene representation of this agent if it exists. /// Removes physics plugin scene representation of this agent if it exists.
/// </summary> /// </summary>
private void RemoveFromPhysicalScene() public void RemoveFromPhysicalScene()
{ {
if (PhysicsActor != null) if (PhysicsActor != null)
{ {