diff options
author | Teravus Ovares | 2008-04-30 16:52:12 +0000 |
---|---|---|
committer | Teravus Ovares | 2008-04-30 16:52:12 +0000 |
commit | b70da6ac1955ada29e1cb4dbe9aeb915735ec686 (patch) | |
tree | 68f6f5f3e7fe2b0fd9a8e0c9baf2dbfafeb90882 /OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs | |
parent | * Deal with a situation where the new fields in the inventory store are null ... (diff) | |
download | opensim-SC-b70da6ac1955ada29e1cb4dbe9aeb915735ec686.zip opensim-SC-b70da6ac1955ada29e1cb4dbe9aeb915735ec686.tar.gz opensim-SC-b70da6ac1955ada29e1cb4dbe9aeb915735ec686.tar.bz2 opensim-SC-b70da6ac1955ada29e1cb4dbe9aeb915735ec686.tar.xz |
* Patch by Melanie. Implements proper objectflags on child objects. Thanks Melanie!
RE: 0001079: r4387. touch() event does not fire when touch script is in root prim and child prims are touched
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs index 66d2700..7a3ccea 100644 --- a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs +++ b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs | |||
@@ -863,23 +863,23 @@ namespace OpenSim.Region.ScriptEngine.Common | |||
863 | public int llGetStatus(int status) | 863 | public int llGetStatus(int status) |
864 | { | 864 | { |
865 | m_host.AddScriptLPS(1); | 865 | m_host.AddScriptLPS(1); |
866 | Console.WriteLine(m_host.UUID.ToString() + " status is " + m_host.ObjectFlags.ToString()); | 866 | Console.WriteLine(m_host.UUID.ToString() + " status is " + m_host.GetEffectiveObjectFlags().ToString()); |
867 | switch (status) | 867 | switch (status) |
868 | { | 868 | { |
869 | case BuiltIn_Commands_BaseClass.STATUS_PHYSICS: | 869 | case BuiltIn_Commands_BaseClass.STATUS_PHYSICS: |
870 | if ((m_host.ObjectFlags & (uint)LLObject.ObjectFlags.Physics) == (uint)LLObject.ObjectFlags.Physics) | 870 | if ((m_host.GetEffectiveObjectFlags() & (uint)LLObject.ObjectFlags.Physics) == (uint)LLObject.ObjectFlags.Physics) |
871 | { | 871 | { |
872 | return 1; | 872 | return 1; |
873 | } | 873 | } |
874 | return 0; | 874 | return 0; |
875 | case BuiltIn_Commands_BaseClass.STATUS_PHANTOM: | 875 | case BuiltIn_Commands_BaseClass.STATUS_PHANTOM: |
876 | if ((m_host.ObjectFlags & (uint)LLObject.ObjectFlags.Phantom) == (uint)LLObject.ObjectFlags.Phantom) | 876 | if ((m_host.GetEffectiveObjectFlags() & (uint)LLObject.ObjectFlags.Phantom) == (uint)LLObject.ObjectFlags.Phantom) |
877 | { | 877 | { |
878 | return 1; | 878 | return 1; |
879 | } | 879 | } |
880 | return 0; | 880 | return 0; |
881 | case BuiltIn_Commands_BaseClass.STATUS_CAST_SHADOWS: | 881 | case BuiltIn_Commands_BaseClass.STATUS_CAST_SHADOWS: |
882 | if ((m_host.ObjectFlags & (uint)LLObject.ObjectFlags.CastShadows) == (uint)LLObject.ObjectFlags.CastShadows) | 882 | if ((m_host.GetEffectiveObjectFlags() & (uint)LLObject.ObjectFlags.CastShadows) == (uint)LLObject.ObjectFlags.CastShadows) |
883 | { | 883 | { |
884 | return 1; | 884 | return 1; |
885 | } | 885 | } |
@@ -2154,7 +2154,7 @@ namespace OpenSim.Region.ScriptEngine.Common | |||
2154 | 2154 | ||
2155 | bool attachment=false; // Attachments not implemented yet. TODO: reflect real attachemnt state | 2155 | bool attachment=false; // Attachments not implemented yet. TODO: reflect real attachemnt state |
2156 | 2156 | ||
2157 | if(attachment && agent == m_host.OwnerID) | 2157 | if(m_host.ParentGroup.RootPart.m_IsAttachment && agent == m_host.ParentGroup.RootPart.m_attachedAvatar) |
2158 | { | 2158 | { |
2159 | // When attached, certain permissions are implicit if requested from owner | 2159 | // When attached, certain permissions are implicit if requested from owner |
2160 | int implicitPerms = BuiltIn_Commands_BaseClass.PERMISSION_TAKE_CONTROLS | | 2160 | int implicitPerms = BuiltIn_Commands_BaseClass.PERMISSION_TAKE_CONTROLS | |