aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs
diff options
context:
space:
mode:
authorTeravus Ovares2008-04-30 16:52:12 +0000
committerTeravus Ovares2008-04-30 16:52:12 +0000
commitb70da6ac1955ada29e1cb4dbe9aeb915735ec686 (patch)
tree68f6f5f3e7fe2b0fd9a8e0c9baf2dbfafeb90882 /OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs
parent* Deal with a situation where the new fields in the inventory store are null ... (diff)
downloadopensim-SC_OLD-b70da6ac1955ada29e1cb4dbe9aeb915735ec686.zip
opensim-SC_OLD-b70da6ac1955ada29e1cb4dbe9aeb915735ec686.tar.gz
opensim-SC_OLD-b70da6ac1955ada29e1cb4dbe9aeb915735ec686.tar.bz2
opensim-SC_OLD-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 '')
-rw-r--r--OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs10
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 |