diff options
author | Melanie Thielker | 2008-10-06 07:21:13 +0000 |
---|---|---|
committer | Melanie Thielker | 2008-10-06 07:21:13 +0000 |
commit | c65b10caa2a877096d52d29e7b89026e9f54d622 (patch) | |
tree | 15172f710b1fbd4236ba31946d69f3574d8186b5 | |
parent | Cause inventory items to also be sold when a prim is sold (diff) | |
download | opensim-SC_OLD-c65b10caa2a877096d52d29e7b89026e9f54d622.zip opensim-SC_OLD-c65b10caa2a877096d52d29e7b89026e9f54d622.tar.gz opensim-SC_OLD-c65b10caa2a877096d52d29e7b89026e9f54d622.tar.bz2 opensim-SC_OLD-c65b10caa2a877096d52d29e7b89026e9f54d622.tar.xz |
Implement ForceOwnerPermissive and God TakeCopy
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; |