aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2011-10-17 01:42:31 +0100
committerJustin Clark-Casey (justincc)2011-10-17 01:42:31 +0100
commit0c041ce12f393367e2754e88d9b8dad5e45f88c4 (patch)
treeac02f32cda8bd7056e1ebbf0c037d9979d808d2b /OpenSim/Region/Framework
parentGuard HGAssetService against uninitialized variables and null arguments. (diff)
downloadopensim-SC_OLD-0c041ce12f393367e2754e88d9b8dad5e45f88c4.zip
opensim-SC_OLD-0c041ce12f393367e2754e88d9b8dad5e45f88c4.tar.gz
opensim-SC_OLD-0c041ce12f393367e2754e88d9b8dad5e45f88c4.tar.bz2
opensim-SC_OLD-0c041ce12f393367e2754e88d9b8dad5e45f88c4.tar.xz
Implement osNpcSit(). This is still in development so don't trust it
Format is osNpcSit(<npc-uuid>, <target-uuid>, OS_NPC_SIT_IMMEDIATE) e.g. osNpcSit(npc, llGetKey(), OS_NPC_SIT_IMMEDIATE); At the moment, sit only succeeds if the part has a sit target set. NPC immediately sits on the target even if miles away - they do not walk up to it. This method is in development - it may change so please don't trust it yet. Standing will follow shortly since that's kind of important once you're sitting :)
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r--OpenSim/Region/Framework/Interfaces/INPCModule.cs9
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPart.cs2
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs7
3 files changed, 13 insertions, 5 deletions
diff --git a/OpenSim/Region/Framework/Interfaces/INPCModule.cs b/OpenSim/Region/Framework/Interfaces/INPCModule.cs
index 5e5c4a1..9dd8c79 100644
--- a/OpenSim/Region/Framework/Interfaces/INPCModule.cs
+++ b/OpenSim/Region/Framework/Interfaces/INPCModule.cs
@@ -95,6 +95,15 @@ namespace OpenSim.Region.Framework.Interfaces
95 bool Say(UUID agentID, Scene scene, string text); 95 bool Say(UUID agentID, Scene scene, string text);
96 96
97 /// <summary> 97 /// <summary>
98 /// Sit the NPC.
99 /// </summary>
100 /// <param name="agentID"></param>
101 /// <param name="partID"></param>
102 /// <param name="scene"></param>
103 /// <returns>true if the sit succeeded, false if not</returns>
104 bool Sit(UUID agentID, UUID partID, Scene scene);
105
106 /// <summary>
98 /// Delete an NPC. 107 /// Delete an NPC.
99 /// </summary> 108 /// </summary>
100 /// <param name="agentID">The UUID of the NPC</param> 109 /// <param name="agentID">The UUID of the NPC</param>
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index 42cc1ce..703b986 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -1220,14 +1220,12 @@ namespace OpenSim.Region.Framework.Scenes
1220 } 1220 }
1221 } 1221 }
1222 1222
1223
1224 public UUID SitTargetAvatar 1223 public UUID SitTargetAvatar
1225 { 1224 {
1226 get { return m_sitTargetAvatar; } 1225 get { return m_sitTargetAvatar; }
1227 set { m_sitTargetAvatar = value; } 1226 set { m_sitTargetAvatar = value; }
1228 } 1227 }
1229 1228
1230
1231 public virtual UUID RegionID 1229 public virtual UUID RegionID
1232 { 1230 {
1233 get 1231 get
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index 972e7fc..dd1a29d 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -615,13 +615,13 @@ namespace OpenSim.Region.Framework.Scenes
615 set { m_isChildAgent = value; } 615 set { m_isChildAgent = value; }
616 } 616 }
617 617
618 private uint m_parentID;
619
620 public uint ParentID 618 public uint ParentID
621 { 619 {
622 get { return m_parentID; } 620 get { return m_parentID; }
623 set { m_parentID = value; } 621 set { m_parentID = value; }
624 } 622 }
623 private uint m_parentID;
624
625 public float Health 625 public float Health
626 { 626 {
627 get { return m_health; } 627 get { return m_health; }
@@ -1962,6 +1962,8 @@ namespace OpenSim.Region.Framework.Scenes
1962 ) 1962 )
1963 )); 1963 ));
1964 1964
1965// m_log.DebugFormat("[SCENE PRESENCE]: {0} {1}", SitTargetisSet, SitTargetUnOccupied);
1966
1965 if (SitTargetisSet && SitTargetUnOccupied) 1967 if (SitTargetisSet && SitTargetUnOccupied)
1966 { 1968 {
1967 part.SitTargetAvatar = UUID; 1969 part.SitTargetAvatar = UUID;
@@ -2256,7 +2258,6 @@ namespace OpenSim.Region.Framework.Scenes
2256 } 2258 }
2257 */ 2259 */
2258 2260
2259
2260 public void HandleAgentSit(IClientAPI remoteClient, UUID agentID) 2261 public void HandleAgentSit(IClientAPI remoteClient, UUID agentID)
2261 { 2262 {
2262 if (!String.IsNullOrEmpty(m_nextSitAnimation)) 2263 if (!String.IsNullOrEmpty(m_nextSitAnimation))