diff options
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/Api/Implementation')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 12 |
1 files changed, 11 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 084bd41..c3b1f3d 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -10446,7 +10446,17 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
10446 | ret.Add(new LSL_Vector(obj.AbsolutePosition.X, obj.AbsolutePosition.Y, obj.AbsolutePosition.Z)); | 10446 | ret.Add(new LSL_Vector(obj.AbsolutePosition.X, obj.AbsolutePosition.Y, obj.AbsolutePosition.Z)); |
10447 | break; | 10447 | break; |
10448 | case ScriptBaseClass.OBJECT_ROT: | 10448 | case ScriptBaseClass.OBJECT_ROT: |
10449 | ret.Add(new LSL_Rotation(obj.RotationOffset.X, obj.RotationOffset.Y, obj.RotationOffset.Z, obj.RotationOffset.W)); | 10449 | { |
10450 | Quaternion rot = Quaternion.Identity; | ||
10451 | |||
10452 | if (obj.ParentGroup.RootPart == obj) | ||
10453 | rot = obj.ParentGroup.GroupRotation; | ||
10454 | else | ||
10455 | rot = obj.GetWorldRotation(); | ||
10456 | |||
10457 | LSL_Rotation objrot = new LSL_Rotation(rot.X, rot.Y, rot.Z, rot.W); | ||
10458 | ret.Add(objrot); | ||
10459 | } | ||
10450 | break; | 10460 | break; |
10451 | case ScriptBaseClass.OBJECT_VELOCITY: | 10461 | case ScriptBaseClass.OBJECT_VELOCITY: |
10452 | ret.Add(new LSL_Vector(obj.Velocity.X, obj.Velocity.Y, obj.Velocity.Z)); | 10462 | ret.Add(new LSL_Vector(obj.Velocity.X, obj.Velocity.Y, obj.Velocity.Z)); |