aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs20
1 files changed, 16 insertions, 4 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index f4809a7..29e526d 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -13510,11 +13510,23 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
13510 if (presence == null) 13510 if (presence == null)
13511 return; 13511 return;
13512 13512
13513 UUID animID = ScriptUtils.GetAssetIdFromItemName(m_host, anim, (int)AssetType.Animation); 13513 UUID animID;
13514 if (animID == UUID.Zero) 13514 if (animState == anim)
13515 { 13515 {
13516 llShout(ScriptBaseClass.DEBUG_CHANNEL, "Animation not found"); 13516 animID = UUID.Zero;
13517 return; 13517 }
13518 else if (MovementAnimationsForLSL.ContainsKey(anim))
13519 {
13520 animID = DefaultAvatarAnimations.AnimsUUID[MovementAnimationsForLSL[anim]];
13521 }
13522 else
13523 {
13524 animID = ScriptUtils.GetAssetIdFromItemName(m_host, anim, (int)AssetType.Animation);
13525 if (animID == UUID.Zero)
13526 {
13527 llShout(ScriptBaseClass.DEBUG_CHANNEL, "Animation not found");
13528 return;
13529 }
13518 } 13530 }
13519 13531
13520 presence.SetAnimationOverride(state, animID); 13532 presence.SetAnimationOverride(state, animID);