Merge branch 'master' into httptests
Merge branch 'master' into httptests
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index 85837e4..ced81ad 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -7022,6 +7022,33 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
return m_host.ParentGroup.AttachmentPoint;
}
+ public LSL_List llGetAttachedList(string id)
+ {
+ m_host.AddScriptLPS(1);
+
+ ScenePresence av = World.GetScenePresence((UUID)id);
+
+ if (av == null || av.IsDeleted)
+ return new LSL_List("NOT_FOUND");
+
+ if (av.IsChildAgent || av.IsInTransit)
+ return new LSL_List("NOT_ON_REGION");
+
+ LSL_List AttachmentsList = new LSL_List();
+ List<SceneObjectGroup> Attachments;
+
+ Attachments = av.GetAttachments();
+
+ foreach (SceneObjectGroup Attachment in Attachments)
+ {
+ if(Attachment.HasPrivateAttachmentPoint)
+ continue;
+ AttachmentsList.Add(new LSL_Key(Attachment.UUID.ToString()));
+ }
+
+ return AttachmentsList;
+ }
+
public virtual LSL_Integer llGetFreeMemory()
{
m_host.AddScriptLPS(1);
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILSL_Api.cs
index 8b8638c..3d1482d 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILSL_Api.cs
@@ -116,6 +116,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
LSL_String llGetAnimation(string id);
LSL_List llGetAnimationList(string id);
LSL_Integer llGetAttached();
+ LSL_List llGetAttachedList(string id);
LSL_List llGetBoundingBox(string obj);
LSL_Vector llGetCameraPos();
LSL_Rotation llGetCameraRot();
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Stub.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Stub.cs
index cea66d2..2769712 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Stub.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Stub.cs
@@ -426,6 +426,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
return m_LSL_Functions.llGetAttached();
}
+ public LSL_List llGetAttachedList(string id)
+ {
+ return m_LSL_Functions.llGetAttachedList(id);
+ }
+
public LSL_List llGetBoundingBox(string obj)
{
return m_LSL_Functions.llGetBoundingBox(obj);