diff options
author | BlueWall | 2012-02-17 08:21:33 -0500 |
---|---|---|
committer | BlueWall | 2012-02-17 08:21:33 -0500 |
commit | 0e16e0fb6abd111d8e155fad519c0f02fe85119e (patch) | |
tree | a2b6fcd2e376a820171059ce51dd94827319fa63 /OpenSim | |
parent | Make osNpcStopAnimation() call AvatarStopAnimation() rather than AvatarPlayAn... (diff) | |
parent | Fix missing telehub handling on login (diff) | |
download | opensim-SC-0e16e0fb6abd111d8e155fad519c0f02fe85119e.zip opensim-SC-0e16e0fb6abd111d8e155fad519c0f02fe85119e.tar.gz opensim-SC-0e16e0fb6abd111d8e155fad519c0f02fe85119e.tar.bz2 opensim-SC-0e16e0fb6abd111d8e155fad519c0f02fe85119e.tar.xz |
Merge branch 'master' of /home/opensim/src/opensim
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 4c8e2d2..ecc553d 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -3427,6 +3427,27 @@ namespace OpenSim.Region.Framework.Scenes | |||
3427 | agent.startpos.Z = 720; | 3427 | agent.startpos.Z = 720; |
3428 | } | 3428 | } |
3429 | } | 3429 | } |
3430 | |||
3431 | // Honor Estate teleport routing via Telehubs | ||
3432 | if (RegionInfo.RegionSettings.TelehubObject != UUID.Zero && RegionInfo.EstateSettings.AllowDirectTeleport == false) | ||
3433 | { | ||
3434 | SceneObjectGroup telehub = GetSceneObjectGroup(RegionInfo.RegionSettings.TelehubObject); | ||
3435 | // Can have multiple SpawnPoints | ||
3436 | List<SpawnPoint> spawnpoints = RegionInfo.RegionSettings.SpawnPoints(); | ||
3437 | if ( spawnpoints.Count > 1) | ||
3438 | { | ||
3439 | // We have multiple SpawnPoints, Route the agent to a random one | ||
3440 | agent.startpos = spawnpoints[Util.RandomClass.Next(spawnpoints.Count)].GetLocation(telehub.AbsolutePosition, telehub.GroupRotation); | ||
3441 | } | ||
3442 | else | ||
3443 | { | ||
3444 | // We have a single SpawnPoint and will route the agent to it | ||
3445 | agent.startpos = spawnpoints[0].GetLocation(telehub.AbsolutePosition, telehub.GroupRotation); | ||
3446 | } | ||
3447 | |||
3448 | return true; | ||
3449 | } | ||
3450 | |||
3430 | // Honor parcel landing type and position. | 3451 | // Honor parcel landing type and position. |
3431 | if (land != null) | 3452 | if (land != null) |
3432 | { | 3453 | { |