aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs54
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs5
2 files changed, 59 insertions, 0 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index 849d02d..80bb461 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -13758,6 +13758,40 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
13758 case ScriptBaseClass.OBJECT_LAST_OWNER_ID: 13758 case ScriptBaseClass.OBJECT_LAST_OWNER_ID:
13759 ret.Add(new LSL_Key(ScriptBaseClass.NULL_KEY)); 13759 ret.Add(new LSL_Key(ScriptBaseClass.NULL_KEY));
13760 break; 13760 break;
13761 case ScriptBaseClass.OBJECT_CLICK_ACTION:
13762 ret.Add(new LSL_Integer(0));
13763 break;
13764 case ScriptBaseClass.OBJECT_OMEGA:
13765 ret.Add(new LSL_Vector(Vector3.Zero));
13766 break;
13767 case ScriptBaseClass.OBJECT_PRIM_COUNT:
13768 List<SceneObjectGroup> Attachments = av.GetAttachments();
13769 int count = 0;
13770 try
13771 {
13772 foreach (SceneObjectGroup Attachment in Attachments)
13773 count += Attachment.PrimCount;
13774 } catch { };
13775 ret.Add(new LSL_Integer(count));
13776 break;
13777 case ScriptBaseClass.OBJECT_TOTAL_INVENTORY_COUNT:
13778 List<SceneObjectGroup> invAttachments = av.GetAttachments();
13779 int invcount = 0;
13780 try
13781 {
13782 foreach (SceneObjectGroup Attachment in invAttachments)
13783 {
13784 SceneObjectPart[] parts = Attachment.Parts;
13785 int nparts = parts.Count();
13786 for(int i = 0; i < nparts; i++)
13787 invcount += parts[i].Inventory.Count;
13788 }
13789 } catch { };
13790 ret.Add(new LSL_Integer(invcount));
13791 break;
13792 case ScriptBaseClass.OBJECT_GROUP_TAG:
13793 ret.Add(new LSL_String(av.Grouptitle));
13794 break;
13761 default: 13795 default:
13762 // Invalid or unhandled constant. 13796 // Invalid or unhandled constant.
13763 ret.Add(new LSL_Integer(ScriptBaseClass.OBJECT_UNKNOWN_DETAIL)); 13797 ret.Add(new LSL_Integer(ScriptBaseClass.OBJECT_UNKNOWN_DETAIL));
@@ -13930,6 +13964,26 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
13930 case ScriptBaseClass.OBJECT_LAST_OWNER_ID: 13964 case ScriptBaseClass.OBJECT_LAST_OWNER_ID:
13931 ret.Add(new LSL_Key(obj.ParentGroup.LastOwnerID.ToString())); 13965 ret.Add(new LSL_Key(obj.ParentGroup.LastOwnerID.ToString()));
13932 break; 13966 break;
13967 case ScriptBaseClass.OBJECT_CLICK_ACTION:
13968 ret.Add(new LSL_Integer(obj.ClickAction));
13969 break;
13970 case ScriptBaseClass.OBJECT_OMEGA:
13971 ret.Add(new LSL_Vector(obj.AngularVelocity));
13972 break;
13973 case ScriptBaseClass.OBJECT_PRIM_COUNT:
13974 ret.Add(new LSL_Integer(obj.ParentGroup.PrimCount));
13975 break;
13976 case ScriptBaseClass.OBJECT_TOTAL_INVENTORY_COUNT:
13977 SceneObjectPart[] parts = obj.ParentGroup.Parts;
13978 int nparts = parts.Count();
13979 int count = 0;
13980 for(int i = 0; i < nparts; i++)
13981 count += parts[i].Inventory.Count;
13982 ret.Add(new LSL_Integer(count));
13983 break;
13984 case ScriptBaseClass.OBJECT_GROUP_TAG:
13985 ret.Add(new LSL_String(String.Empty));
13986 break;
13933 default: 13987 default:
13934 // Invalid or unhandled constant. 13988 // Invalid or unhandled constant.
13935 ret.Add(new LSL_Integer(ScriptBaseClass.OBJECT_UNKNOWN_DETAIL)); 13989 ret.Add(new LSL_Integer(ScriptBaseClass.OBJECT_UNKNOWN_DETAIL));
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs
index cee66b2..17173a2 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs
@@ -636,6 +636,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
636 public const int OBJECT_HOVER_HEIGHT = 25; 636 public const int OBJECT_HOVER_HEIGHT = 25;
637 public const int OBJECT_BODY_SHAPE_TYPE = 26; 637 public const int OBJECT_BODY_SHAPE_TYPE = 26;
638 public const int OBJECT_LAST_OWNER_ID = 27; 638 public const int OBJECT_LAST_OWNER_ID = 27;
639 public const int OBJECT_CLICK_ACTION = 28;
640 public const int OBJECT_OMEGA = 29;
641 public const int OBJECT_PRIM_COUNT = 30;
642 public const int OBJECT_TOTAL_INVENTORY_COUNT = 31;
643 public const int OBJECT_GROUP_TAG = 33;
639 644
640 // Pathfinding types 645 // Pathfinding types
641 public const int OPT_OTHER = -1; 646 public const int OPT_OTHER = -1;