public LSL_String llGetAnimation(string id)
{
// This should only return a value if the avatar is in the same region
m_host.AddScriptLPS(1);
UUID avatar = (UUID)id;
ScenePresence presence = World.GetScenePresence(avatar);
if (presence == null)
return "";
if (m_host.RegionHandle == presence.RegionHandle)
{
if (presence != null)
{
// if (presence.SitGround)
// return "Sitting on Ground";
// if (presence.ParentID != 0 || presence.ParentUUID != UUID.Zero)
// return "Sitting";
string movementAnimation = presence.Animator.CurrentMovementAnimation;
string lslMovementAnimation;
if (MovementAnimationsForLSL.TryGetValue(movementAnimation, out lslMovementAnimation))
return lslMovementAnimation;
}
}
return String.Empty;
}