aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs20
1 files changed, 19 insertions, 1 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index 9745ae6..060fde2 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -4626,6 +4626,15 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
4626 return 0; 4626 return 0;
4627 } 4627 }
4628 4628
4629 /// <summary>
4630 /// Not fully implemented yet. Still to do:-
4631 /// AGENT_SITTING
4632 /// AGENT_ON_OBJECT
4633 /// AGENT_IN_AIR
4634 /// AGENT_CROUCHING
4635 /// AGENT_BUSY
4636 /// Remove as they are done
4637 /// </summary>
4629 public LSL_Integer llGetAgentInfo(string id) 4638 public LSL_Integer llGetAgentInfo(string id)
4630 { 4639 {
4631 m_host.AddScriptLPS(1); 4640 m_host.AddScriptLPS(1);
@@ -4651,6 +4660,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
4651 flags |= ScriptBaseClass.AGENT_ALWAYS_RUN; 4660 flags |= ScriptBaseClass.AGENT_ALWAYS_RUN;
4652 } 4661 }
4653 4662
4663 if (agent.HasAttachments())
4664 {
4665 flags |= ScriptBaseClass.AGENT_ATTACHMENTS;
4666 if (agent.HasScriptedAttachments())
4667 flags |= ScriptBaseClass.AGENT_SCRIPTED;
4668 }
4669
4654 if ((agent.AgentControlFlags & (uint)AgentManager.ControlFlags.AGENT_CONTROL_FLY) != 0) 4670 if ((agent.AgentControlFlags & (uint)AgentManager.ControlFlags.AGENT_CONTROL_FLY) != 0)
4655 { 4671 {
4656 flags |= ScriptBaseClass.AGENT_FLYING; 4672 flags |= ScriptBaseClass.AGENT_FLYING;
@@ -4900,9 +4916,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
4900 // in edit appearance in SL to find the ones that affected the height and how 4916 // in edit appearance in SL to find the ones that affected the height and how
4901 // much they affected it. 4917 // much they affected it.
4902 float avatarHeight = 1.23077f // Shortest possible avatar height 4918 float avatarHeight = 1.23077f // Shortest possible avatar height
4903 + 0.516945f * (float)parms[25] / 255.0f // Body length 4919 + 0.516945f * (float)parms[25] / 255.0f // Body height
4904 + 0.072514f * (float)parms[120] / 255.0f // Head size 4920 + 0.072514f * (float)parms[120] / 255.0f // Head size
4905 + 0.3836f * (float)parms[125] / 255.0f // Leg length 4921 + 0.3836f * (float)parms[125] / 255.0f // Leg length
4922 + 0.08f * (float)parms[77] / 255.0f // Shoe heel height
4923 + 0.07f * (float)parms[78] / 255.0f // Shoe platform height
4906 + 0.076f * (float)parms[148] / 255.0f; // Neck length 4924 + 0.076f * (float)parms[148] / 255.0f; // Neck length
4907 agentSize = new LSL_Vector(0.45, 0.6, avatarHeight); 4925 agentSize = new LSL_Vector(0.45, 0.6, avatarHeight);
4908 } 4926 }