From dfc553d0a4c25d6c1f491b228e89402c0415acda Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Fri, 15 Aug 2008 13:13:39 +0000 Subject: Fix up master avatar handling for estate owners. Introduces a new hierarchical rights structure. MasterAvatar: Owner of the region server (may be null), net gods (users with GodLevel 200), Estate owner (from database). Look at Opensim.ini.example to enable net gods. Estate owner will default to master avatar. --- .../Modules/World/Land/LandManagementModule.cs | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'OpenSim/Region/Environment/Modules/World/Land') diff --git a/OpenSim/Region/Environment/Modules/World/Land/LandManagementModule.cs b/OpenSim/Region/Environment/Modules/World/Land/LandManagementModule.cs index ca03035..d5cb0eb 100644 --- a/OpenSim/Region/Environment/Modules/World/Land/LandManagementModule.cs +++ b/OpenSim/Region/Environment/Modules/World/Land/LandManagementModule.cs @@ -162,7 +162,10 @@ namespace OpenSim.Region.Environment.Modules.World.Land ILandObject fullSimParcel = new LandObject(LLUUID.Zero, false, m_scene); fullSimParcel.setLandBitmap(fullSimParcel.getSquareLandBitmap(0, 0, (int)Constants.RegionSize, (int)Constants.RegionSize)); - fullSimParcel.landData.OwnerID = m_scene.RegionInfo.MasterAvatarAssignedUUID; + if(m_scene.RegionInfo.EstateSettings.EstateOwner != LLUUID.Zero) + fullSimParcel.landData.OwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner; + else + fullSimParcel.landData.OwnerID = m_scene.RegionInfo.MasterAvatarAssignedUUID; fullSimParcel.landData.ClaimDate = Util.UnixTimeSinceEpoch(); AddLandObject(fullSimParcel); } @@ -931,7 +934,10 @@ namespace OpenSim.Region.Environment.Modules.World.Land { if (m_scene.ExternalChecks.ExternalChecksCanAbandonParcel(remote_client.AgentId, landList[local_id])) { - landList[local_id].landData.OwnerID = m_scene.RegionInfo.MasterAvatarAssignedUUID; + if(m_scene.RegionInfo.EstateSettings.EstateOwner != LLUUID.Zero) + landList[local_id].landData.OwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner; + else + landList[local_id].landData.OwnerID = m_scene.RegionInfo.MasterAvatarAssignedUUID; m_scene.Broadcast(SendParcelOverlay); landList[local_id].sendLandUpdateToClient(remote_client); } @@ -945,7 +951,10 @@ namespace OpenSim.Region.Environment.Modules.World.Land { if (m_scene.ExternalChecks.ExternalChecksCanReclaimParcel(remote_client.AgentId, landList[local_id])) { - landList[local_id].landData.OwnerID = m_scene.RegionInfo.MasterAvatarAssignedUUID; + if(m_scene.RegionInfo.EstateSettings.EstateOwner != LLUUID.Zero) + landList[local_id].landData.OwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner; + else + landList[local_id].landData.OwnerID = m_scene.RegionInfo.MasterAvatarAssignedUUID; landList[local_id].landData.ClaimDate = Util.UnixTimeSinceEpoch(); m_scene.Broadcast(SendParcelOverlay); landList[local_id].sendLandUpdateToClient(remote_client); -- cgit v1.1