aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared/Api/Implementation
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/Api/Implementation')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs40
1 files changed, 17 insertions, 23 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index 8d06d83..f0d378d 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -10149,31 +10149,25 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
10149 UUID key = new UUID(); 10149 UUID key = new UUID();
10150 if (UUID.TryParse(id, out key)) 10150 if (UUID.TryParse(id, out key))
10151 { 10151 {
10152 try 10152 // return total object mass
10153 { 10153 SceneObjectPart part = World.GetSceneObjectPart(key);
10154 /* 10154 if (part != null)
10155 SceneObjectPart obj = World.GetSceneObjectPart(World.Entities[key].LocalId); 10155 return part.ParentGroup.GetMass();
10156 if (obj != null)
10157 return (double)obj.GetMass();
10158 */
10159 // return total object mass
10160 SceneObjectGroup obj = World.GetGroupByPrim(World.Entities[key].LocalId);
10161 if (obj != null)
10162 return obj.GetMass();
10163 10156
10164 // the object is null so the key is for an avatar 10157 // the object is null so the key is for an avatar
10165 ScenePresence avatar = World.GetScenePresence(key); 10158 ScenePresence avatar = World.GetScenePresence(key);
10166 if (avatar != null) 10159 if (avatar != null)
10167 if (avatar.IsChildAgent)
10168 // reference http://www.lslwiki.net/lslwiki/wakka.php?wakka=llGetObjectMass
10169 // child agents have a mass of 1.0
10170 return 1;
10171 else
10172 return (double)avatar.GetMass();
10173 }
10174 catch (KeyNotFoundException)
10175 { 10160 {
10176 return 0; // The Object/Agent not in the region so just return zero 10161 if (avatar.IsChildAgent)
10162 {
10163 // reference http://www.lslwiki.net/lslwiki/wakka.php?wakka=llGetObjectMass
10164 // child agents have a mass of 1.0
10165 return 1;
10166 }
10167 else
10168 {
10169 return (double)avatar.GetMass();
10170 }
10177 } 10171 }
10178 } 10172 }
10179 return 0; 10173 return 0;