aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/CoreModules')
-rw-r--r--OpenSim/Region/CoreModules/World/Land/LandObject.cs25
1 files changed, 24 insertions, 1 deletions
diff --git a/OpenSim/Region/CoreModules/World/Land/LandObject.cs b/OpenSim/Region/CoreModules/World/Land/LandObject.cs
index 6b37dad..4cea7bb 100644
--- a/OpenSim/Region/CoreModules/World/Land/LandObject.cs
+++ b/OpenSim/Region/CoreModules/World/Land/LandObject.cs
@@ -694,7 +694,30 @@ namespace OpenSim.Region.CoreModules.World.Land
694 if (HasGroupAccess(avatar)) 694 if (HasGroupAccess(avatar))
695 return false; 695 return false;
696 696
697 return !IsInLandAccessList(avatar); 697 if(IsInLandAccessList(avatar))
698 return false;
699
700 // check for a NPC
701 ScenePresence sp;
702 if (!m_scene.TryGetScenePresence(avatar, out sp))
703 return true;
704
705 if(sp==null || !sp.isNPC)
706 return true;
707
708 INPC npccli = (INPC)sp.ControllingClient;
709 if(npccli== null)
710 return true;
711
712 UUID owner = npccli.Owner;
713
714 if(owner == UUID.Zero)
715 return true;
716
717 if (owner == LandData.OwnerID)
718 return false;
719
720 return !IsInLandAccessList(owner);
698 } 721 }
699 722
700 public bool IsInLandAccessList(UUID avatar) 723 public bool IsInLandAccessList(UUID avatar)