diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 54 | ||||
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs | 5 |
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; |