diff options
author | Justin Clark-Casey (justincc) | 2011-08-10 01:47:37 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2011-08-10 01:47:37 +0100 |
commit | 5d6c9644faf6aeac38410af9cff97adfef88d7aa (patch) | |
tree | 4913309153fd8b55f7cd5cd27bd449f9eecd41f5 /OpenSim/Region/Framework/Scenes | |
parent | Stop trying to deregister caps or close child agents when an NPC is removed (diff) | |
download | opensim-SC_OLD-5d6c9644faf6aeac38410af9cff97adfef88d7aa.zip opensim-SC_OLD-5d6c9644faf6aeac38410af9cff97adfef88d7aa.tar.gz opensim-SC_OLD-5d6c9644faf6aeac38410af9cff97adfef88d7aa.tar.bz2 opensim-SC_OLD-5d6c9644faf6aeac38410af9cff97adfef88d7aa.tar.xz |
early code to allow scripts to force npcs not to fly when moving to target
this is to allow walking on prims. it will be up to the script writer to be sure that there is a continuous path.
currently implemented in osNpcMoveToTarget(), but none of this is final.
Diffstat (limited to 'OpenSim/Region/Framework/Scenes')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 9 |
2 files changed, 8 insertions, 3 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 3b6a458..fe96152 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -1650,7 +1650,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1650 | ScenePresence avatar = m_scene.GetScenePresence(rootpart.AttachedAvatar); | 1650 | ScenePresence avatar = m_scene.GetScenePresence(rootpart.AttachedAvatar); |
1651 | if (avatar != null) | 1651 | if (avatar != null) |
1652 | { | 1652 | { |
1653 | avatar.MoveToTarget(target); | 1653 | avatar.MoveToTarget(target, false); |
1654 | } | 1654 | } |
1655 | } | 1655 | } |
1656 | else | 1656 | else |
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 2db83eb..b8e4e93 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -1684,7 +1684,12 @@ namespace OpenSim.Region.Framework.Scenes | |||
1684 | /// Move to the given target over time. | 1684 | /// Move to the given target over time. |
1685 | /// </summary> | 1685 | /// </summary> |
1686 | /// <param name="pos"></param> | 1686 | /// <param name="pos"></param> |
1687 | public void MoveToTarget(Vector3 pos) | 1687 | /// <param name="noFly"> |
1688 | /// If true, then don't allow the avatar to fly to the target, even if it's up in the air. | ||
1689 | /// This is to allow movement to targets that are known to be on an elevated platform with a continuous path | ||
1690 | /// from start to finish. | ||
1691 | /// </param> | ||
1692 | public void MoveToTarget(Vector3 pos, bool noFly) | ||
1688 | { | 1693 | { |
1689 | // m_log.DebugFormat( | 1694 | // m_log.DebugFormat( |
1690 | // "[SCENE PRESENCE]: Avatar {0} received request to move to position {1} in {2}", | 1695 | // "[SCENE PRESENCE]: Avatar {0} received request to move to position {1} in {2}", |
@@ -1718,7 +1723,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1718 | "[SCENE PRESENCE]: Avatar {0} set move to target {1} (terrain height {2}) in {3}", | 1723 | "[SCENE PRESENCE]: Avatar {0} set move to target {1} (terrain height {2}) in {3}", |
1719 | Name, pos, terrainHeight, m_scene.RegionInfo.RegionName); | 1724 | Name, pos, terrainHeight, m_scene.RegionInfo.RegionName); |
1720 | 1725 | ||
1721 | if (pos.Z > terrainHeight) | 1726 | if (!noFly && pos.Z > terrainHeight) |
1722 | PhysicsActor.Flying = true; | 1727 | PhysicsActor.Flying = true; |
1723 | 1728 | ||
1724 | MovingToTarget = true; | 1729 | MovingToTarget = true; |