aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment
diff options
context:
space:
mode:
authorMelanie Thielker2008-10-06 07:21:13 +0000
committerMelanie Thielker2008-10-06 07:21:13 +0000
commitc65b10caa2a877096d52d29e7b89026e9f54d622 (patch)
tree15172f710b1fbd4236ba31946d69f3574d8186b5 /OpenSim/Region/Environment
parentCause inventory items to also be sold when a prim is sold (diff)
downloadopensim-SC-c65b10caa2a877096d52d29e7b89026e9f54d622.zip
opensim-SC-c65b10caa2a877096d52d29e7b89026e9f54d622.tar.gz
opensim-SC-c65b10caa2a877096d52d29e7b89026e9f54d622.tar.bz2
opensim-SC-c65b10caa2a877096d52d29e7b89026e9f54d622.tar.xz
Implement ForceOwnerPermissive and God TakeCopy
Diffstat (limited to 'OpenSim/Region/Environment')
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.Inventory.cs6
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs9
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectPart.cs8
3 files changed, 23 insertions, 0 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
index ecc6180..204ba39 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
@@ -1516,6 +1516,12 @@ namespace OpenSim.Region.Environment.Scenes
1516 permissionToDelete = false; //Just taking copy! 1516 permissionToDelete = false; //Just taking copy!
1517 1517
1518 } 1518 }
1519 else if (DeRezPacket.AgentBlock.Destination == 5) //God take copy
1520 {
1521 permissionToTake = ExternalChecks.ExternalChecksCanBeGodLike(remoteClient.AgentId);
1522 permissionToDelete = false; //Just taking copy!
1523
1524 }
1519 else if (DeRezPacket.AgentBlock.Destination == 4) //Take 1525 else if (DeRezPacket.AgentBlock.Destination == 4) //Take
1520 { 1526 {
1521 // Take 1527 // Take
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs
index 5b57e73..34e5305 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs
@@ -733,6 +733,15 @@ namespace OpenSim.Region.Environment.Scenes
733 TriggerScriptChangedEvent(Changed.OWNER); 733 TriggerScriptChangedEvent(Changed.OWNER);
734 } 734 }
735 735
736 public void ApplyGodPermissions(uint perms)
737 {
738 foreach (TaskInventoryItem item in m_taskInventory.Values)
739 {
740 item.CurrentPermissions = perms;
741 item.BasePermissions = perms;
742 }
743 }
744
736 public bool ContainsScripts() 745 public bool ContainsScripts()
737 { 746 {
738 foreach (TaskInventoryItem item in m_taskInventory.Values) 747 foreach (TaskInventoryItem item in m_taskInventory.Values)
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
index 91249f9..f4ada1a 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
@@ -3037,6 +3037,14 @@ namespace OpenSim.Region.Environment.Scenes
3037 { 3037 {
3038 switch (field) 3038 switch (field)
3039 { 3039 {
3040 case 1:
3041 if (god)
3042 {
3043 _baseMask = ApplyMask(_baseMask, set, mask);
3044 ApplyGodPermissions(_baseMask);
3045 }
3046
3047 break;
3040 case 2: 3048 case 2:
3041 _ownerMask = ApplyMask(_ownerMask, set, mask) & 3049 _ownerMask = ApplyMask(_ownerMask, set, mask) &
3042 baseMask; 3050 baseMask;