aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorBlueWall2012-01-08 17:41:47 -0500
committerBlueWall2012-01-08 17:41:47 -0500
commit266167f5a390e089f7f79d73bdaad4c853d04daa (patch)
treeba41013affd97287fda1df4fb3b35f9b5bd47858 /OpenSim
parentfix a typo "osNpcCreated" to "osNpcCreate" in OSSL threat level check (diff)
downloadopensim-SC-266167f5a390e089f7f79d73bdaad4c853d04daa.zip
opensim-SC-266167f5a390e089f7f79d73bdaad4c853d04daa.tar.gz
opensim-SC-266167f5a390e089f7f79d73bdaad4c853d04daa.tar.bz2
opensim-SC-266167f5a390e089f7f79d73bdaad4c853d04daa.tar.xz
Fix teleport routing
Route non-owner avatars according to land settings
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs17
1 files changed, 17 insertions, 0 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index 8ebb7a6..afd4813 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -1180,6 +1180,23 @@ namespace OpenSim.Region.Framework.Scenes
1180 client.Name, Scene.RegionInfo.RegionName, AbsolutePosition); 1180 client.Name, Scene.RegionInfo.RegionName, AbsolutePosition);
1181 1181
1182 Vector3 look = Velocity; 1182 Vector3 look = Velocity;
1183
1184 // Place avatar according to parcel owner teleport routing...
1185 ILandObject land = Scene.LandChannel.GetLandObject(AbsolutePosition.X, AbsolutePosition.Y);
1186
1187 if (land != null)
1188 {
1189 // Land owner should be able to land anywhere, others honor settings
1190 if (land.LandData.OwnerID != client.AgentId)
1191 {
1192 if (land.LandData.LandingType == (byte)1 && land.LandData.UserLocation != Vector3.Zero)
1193 {
1194 AbsolutePosition = land.LandData.UserLocation;
1195 look = land.LandData.UserLookAt;
1196 }
1197 }
1198 }
1199
1183 if ((look.X == 0) && (look.Y == 0) && (look.Z == 0)) 1200 if ((look.X == 0) && (look.Y == 0) && (look.Z == 0))
1184 { 1201 {
1185 look = new Vector3(0.99f, 0.042f, 0); 1202 look = new Vector3(0.99f, 0.042f, 0);