HG landing points: this hopefully fixes some confusion that was making HG avies always land in 0,0

iar_mods
Diva Canto 2012-01-10 11:10:47 -08:00
parent a22d0dcab9
commit 7b84942f86
1 changed files with 6 additions and 5 deletions

View File

@ -3851,17 +3851,18 @@ namespace OpenSim.Region.Framework.Scenes
(TeleportFlags.ViaLogin | TeleportFlags.ViaRegionID) || (TeleportFlags.ViaLogin | TeleportFlags.ViaRegionID) ||
(m_teleportFlags & TeleportFlags.ViaLandmark) != 0 || (m_teleportFlags & TeleportFlags.ViaLandmark) != 0 ||
(m_teleportFlags & TeleportFlags.ViaLocation) != 0 || (m_teleportFlags & TeleportFlags.ViaLocation) != 0 ||
((m_teleportFlags & (TeleportFlags)Constants.TeleportFlags.ViaHGLogin) == (TeleportFlags)Constants.TeleportFlags.ViaHGLogin)) (m_teleportFlags & Constants.TeleportFlags.ViaHGLogin) != 0)
{ {
// Don't restrict gods, estate managers, or land owners to // Don't restrict gods, estate managers, or land owners to
// the TP point. This behaviour mimics agni. // the TP point. This behaviour mimics agni.
if (land.LandData.LandingType == (byte)LandingType.LandingPoint && if (land.LandData.LandingType == (byte)LandingType.LandingPoint &&
land.LandData.UserLocation != Vector3.Zero && land.LandData.UserLocation != Vector3.Zero &&
GodLevel < 200 && GodLevel < 200 &&
((land.LandData.OwnerID != m_uuid && ((land.LandData.OwnerID != m_uuid &&
(!m_scene.Permissions.IsGod(m_uuid)) && !m_scene.Permissions.IsGod(m_uuid) &&
(!m_scene.RegionInfo.EstateSettings.IsEstateManager(m_uuid))) || (m_teleportFlags & TeleportFlags.ViaLocation) != 0) || !m_scene.RegionInfo.EstateSettings.IsEstateManager(m_uuid)) ||
((m_teleportFlags & (TeleportFlags)Constants.TeleportFlags.ViaHGLogin) == (TeleportFlags)Constants.TeleportFlags.ViaHGLogin)) (m_teleportFlags & TeleportFlags.ViaLocation) != 0 ||
(m_teleportFlags & Constants.TeleportFlags.ViaHGLogin) != 0))
{ {
pos = land.LandData.UserLocation; pos = land.LandData.UserLocation;
} }