mirror of
https://github.com/opensim/opensim.git
synced 2026-08-10 19:36:07 +08:00
Merge branch 'master' into careminster
This commit is contained in:
@@ -5865,8 +5865,13 @@ Environment.Exit(1);
|
||||
|
||||
if (banned)
|
||||
{
|
||||
reason = "No suitable landing point found";
|
||||
return false;
|
||||
if(Permissions.IsAdministrator(agentID) == false || Permissions.IsGridGod(agentID) == false)
|
||||
{
|
||||
reason = "No suitable landing point found";
|
||||
return false;
|
||||
}
|
||||
reason = "Administrative access only";
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4269,6 +4269,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
(m_teleportFlags & TeleportFlags.ViaLocation) != 0 ||
|
||||
(m_teleportFlags & Constants.TeleportFlags.ViaHGLogin) != 0)
|
||||
{
|
||||
|
||||
if (GodLevel < 200 &&
|
||||
((!m_scene.Permissions.IsGod(m_uuid) &&
|
||||
!m_scene.RegionInfo.EstateSettings.IsEstateManagerOrOwner(m_uuid)) ||
|
||||
@@ -4277,7 +4278,14 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
{
|
||||
SpawnPoint[] spawnPoints = m_scene.RegionInfo.RegionSettings.SpawnPoints().ToArray();
|
||||
if (spawnPoints.Length == 0)
|
||||
{
|
||||
if(m_scene.RegionInfo.EstateSettings.IsEstateManagerOrOwner(m_uuid))
|
||||
{
|
||||
pos.X = 128.0f;
|
||||
pos.Y = 128.0f;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
int index;
|
||||
bool selected = false;
|
||||
@@ -4286,6 +4294,8 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
{
|
||||
case "random":
|
||||
|
||||
if (spawnPoints.Length == 0)
|
||||
return;
|
||||
do
|
||||
{
|
||||
index = Util.RandomClass.Next(spawnPoints.Length - 1);
|
||||
@@ -4297,6 +4307,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
// SpawnPoint sp = spawnPoints[index];
|
||||
|
||||
ILandObject land = m_scene.LandChannel.GetLandObject(spawnPosition.X, spawnPosition.Y);
|
||||
|
||||
if (land == null || land.IsEitherBannedOrRestricted(UUID))
|
||||
selected = false;
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user