diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index ba3aaae..22860b1 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -1619,8 +1619,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
1619 | 1619 | ||
1620 | public void TeleportWithMomentum(Vector3 pos, Vector3? v) | 1620 | public void TeleportWithMomentum(Vector3 pos, Vector3? v) |
1621 | { | 1621 | { |
1622 | if(!CheckLocalTPLandingPoint(ref pos)) | 1622 | if(!CheckLocalTPLandingPoint(ref pos)) |
1623 | return; | 1623 | return; |
1624 | 1624 | ||
1625 | if (ParentID != (uint)0) | 1625 | if (ParentID != (uint)0) |
1626 | StandUp(); | 1626 | StandUp(); |
@@ -1642,6 +1642,20 @@ namespace OpenSim.Region.Framework.Scenes | |||
1642 | SendTerseUpdateToAllClients(); | 1642 | SendTerseUpdateToAllClients(); |
1643 | } | 1643 | } |
1644 | 1644 | ||
1645 | public void TeleportOnEject(Vector3 pos) | ||
1646 | { | ||
1647 | if (ParentID != (uint)0) | ||
1648 | StandUp(); | ||
1649 | |||
1650 | bool isFlying = Flying; | ||
1651 | RemoveFromPhysicalScene(); | ||
1652 | |||
1653 | AbsolutePosition = pos; | ||
1654 | |||
1655 | AddToPhysicalScene(isFlying); | ||
1656 | SendTerseUpdateToAllClients(); | ||
1657 | } | ||
1658 | |||
1645 | public void avnLocalTeleport(Vector3 newpos, Vector3? newvel, bool rotateToVelXY) | 1659 | public void avnLocalTeleport(Vector3 newpos, Vector3? newvel, bool rotateToVelXY) |
1646 | { | 1660 | { |
1647 | if(!CheckLocalTPLandingPoint(ref newpos)) | 1661 | if(!CheckLocalTPLandingPoint(ref newpos)) |