diff options
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/Api/Implementation')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index ea4e609..2bdf38b 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -10567,6 +10567,35 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
10567 | case ScriptBaseClass.OBJECT_PHYSICS_COST: | 10567 | case ScriptBaseClass.OBJECT_PHYSICS_COST: |
10568 | ret.Add(new LSL_Float(0)); | 10568 | ret.Add(new LSL_Float(0)); |
10569 | break; | 10569 | break; |
10570 | case ScriptBaseClass.OBJECT_CHARACTER_TIME: // Pathfinding | ||
10571 | ret.Add(new LSL_Float(0)); | ||
10572 | break; | ||
10573 | case ScriptBaseClass.OBJECT_ROOT: | ||
10574 | SceneObjectPart p = av.ParentPart; | ||
10575 | if (p != null) | ||
10576 | { | ||
10577 | ret.Add(new LSL_String(p.ParentGroup.RootPart.UUID.ToString())); | ||
10578 | } | ||
10579 | else | ||
10580 | { | ||
10581 | ret.Add(new LSL_String(id)); | ||
10582 | } | ||
10583 | break; | ||
10584 | case ScriptBaseClass.OBJECT_ATTACHED_POINT: | ||
10585 | ret.Add(new LSL_Integer(0)); | ||
10586 | break; | ||
10587 | case ScriptBaseClass.OBJECT_PATHFINDING_TYPE: // Pathfinding | ||
10588 | ret.Add(new LSL_Integer(ScriptBaseClass.OPT_AVATAR)); | ||
10589 | break; | ||
10590 | case ScriptBaseClass.OBJECT_PHYSICS: | ||
10591 | ret.Add(new LSL_Integer(0)); | ||
10592 | break; | ||
10593 | case ScriptBaseClass.OBJECT_PHANTOM: | ||
10594 | ret.Add(new LSL_Integer(0)); | ||
10595 | break; | ||
10596 | case ScriptBaseClass.OBJECT_TEMP_ON_REZ: | ||
10597 | ret.Add(new LSL_Integer(0)); | ||
10598 | break; | ||
10570 | default: | 10599 | default: |
10571 | // Invalid or unhandled constant. | 10600 | // Invalid or unhandled constant. |
10572 | ret.Add(new LSL_Integer(ScriptBaseClass.OBJECT_UNKNOWN_DETAIL)); | 10601 | ret.Add(new LSL_Integer(ScriptBaseClass.OBJECT_UNKNOWN_DETAIL)); |
@@ -10662,6 +10691,52 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
10662 | // The value returned in SL for normal prims looks like the prim count | 10691 | // The value returned in SL for normal prims looks like the prim count |
10663 | ret.Add(new LSL_Float(0)); | 10692 | ret.Add(new LSL_Float(0)); |
10664 | break; | 10693 | break; |
10694 | case ScriptBaseClass.OBJECT_CHARACTER_TIME: // Pathfinding | ||
10695 | ret.Add(new LSL_Float(0)); | ||
10696 | break; | ||
10697 | case ScriptBaseClass.OBJECT_ROOT: | ||
10698 | ret.Add(new LSL_String(obj.ParentGroup.RootPart.UUID.ToString())); | ||
10699 | break; | ||
10700 | case ScriptBaseClass.OBJECT_ATTACHED_POINT: | ||
10701 | ret.Add(new LSL_Integer(obj.ParentGroup.AttachmentPoint)); | ||
10702 | break; | ||
10703 | case ScriptBaseClass.OBJECT_PATHFINDING_TYPE: | ||
10704 | byte pcode = obj.Shape.PCode; | ||
10705 | if (obj.ParentGroup.AttachmentPoint != 0 | ||
10706 | || pcode == (byte)PCode.Grass | ||
10707 | || pcode == (byte)PCode.Tree | ||
10708 | || pcode == (byte)PCode.NewTree) | ||
10709 | { | ||
10710 | ret.Add(new LSL_Integer(ScriptBaseClass.OPT_OTHER)); | ||
10711 | } | ||
10712 | else | ||
10713 | { | ||
10714 | ret.Add(new LSL_Integer(ScriptBaseClass.OPT_LEGACY_LINKSET)); | ||
10715 | } | ||
10716 | break; | ||
10717 | case ScriptBaseClass.OBJECT_PHYSICS: | ||
10718 | if (obj.ParentGroup.AttachmentPoint != 0) | ||
10719 | { | ||
10720 | ret.Add(new LSL_Integer(0)); // Always false if attached | ||
10721 | } | ||
10722 | else | ||
10723 | { | ||
10724 | ret.Add(new LSL_Integer(obj.ParentGroup.UsesPhysics ? 1 : 0)); | ||
10725 | } | ||
10726 | break; | ||
10727 | case ScriptBaseClass.OBJECT_PHANTOM: | ||
10728 | if (obj.ParentGroup.AttachmentPoint != 0) | ||
10729 | { | ||
10730 | ret.Add(new LSL_Integer(0)); // Always false if attached | ||
10731 | } | ||
10732 | else | ||
10733 | { | ||
10734 | ret.Add(new LSL_Integer(obj.ParentGroup.IsPhantom ? 1 : 0)); | ||
10735 | } | ||
10736 | break; | ||
10737 | case ScriptBaseClass.OBJECT_TEMP_ON_REZ: | ||
10738 | ret.Add(new LSL_Integer(obj.ParentGroup.IsTemporary ? 1 : 0)); | ||
10739 | break; | ||
10665 | default: | 10740 | default: |
10666 | // Invalid or unhandled constant. | 10741 | // Invalid or unhandled constant. |
10667 | ret.Add(new LSL_Integer(ScriptBaseClass.OBJECT_UNKNOWN_DETAIL)); | 10742 | ret.Add(new LSL_Integer(ScriptBaseClass.OBJECT_UNKNOWN_DETAIL)); |