diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 18 | ||||
-rw-r--r-- | OpenSim/Region/OptionalModules/Scripting/Minimodule/SPAvatar.cs | 2 |
2 files changed, 19 insertions, 1 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 8fd4b47..8950942 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -1015,6 +1015,24 @@ namespace OpenSim.Region.Framework.Scenes | |||
1015 | SendTerseUpdateToAllClients(); | 1015 | SendTerseUpdateToAllClients(); |
1016 | } | 1016 | } |
1017 | 1017 | ||
1018 | public void TeleportWithMomentum(Vector3 pos) | ||
1019 | { | ||
1020 | bool isFlying = false; | ||
1021 | if (m_physicsActor != null) | ||
1022 | isFlying = m_physicsActor.Flying; | ||
1023 | |||
1024 | RemoveFromPhysicalScene(); | ||
1025 | AbsolutePosition = pos; | ||
1026 | AddToPhysicalScene(isFlying); | ||
1027 | if (m_appearance != null) | ||
1028 | { | ||
1029 | if (m_appearance.AvatarHeight > 0) | ||
1030 | SetHeight(m_appearance.AvatarHeight); | ||
1031 | } | ||
1032 | |||
1033 | SendTerseUpdateToAllClients(); | ||
1034 | } | ||
1035 | |||
1018 | /// <summary> | 1036 | /// <summary> |
1019 | /// | 1037 | /// |
1020 | /// </summary> | 1038 | /// </summary> |
diff --git a/OpenSim/Region/OptionalModules/Scripting/Minimodule/SPAvatar.cs b/OpenSim/Region/OptionalModules/Scripting/Minimodule/SPAvatar.cs index 0f2076e..8fed89c 100644 --- a/OpenSim/Region/OptionalModules/Scripting/Minimodule/SPAvatar.cs +++ b/OpenSim/Region/OptionalModules/Scripting/Minimodule/SPAvatar.cs | |||
@@ -61,7 +61,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule | |||
61 | public Vector3 WorldPosition | 61 | public Vector3 WorldPosition |
62 | { | 62 | { |
63 | get { return GetSP().AbsolutePosition; } | 63 | get { return GetSP().AbsolutePosition; } |
64 | set { GetSP().AbsolutePosition = value; } | 64 | set { GetSP().TeleportWithMomentum(value); } |
65 | } | 65 | } |
66 | } | 66 | } |
67 | } | 67 | } |