diff options
Diffstat (limited to 'OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs')
-rw-r--r-- | OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs b/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs index ac39a53..ab0be77 100644 --- a/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs +++ b/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs | |||
@@ -34,6 +34,7 @@ using OpenSim.Region.Framework.Scenes; | |||
34 | using OpenSim.Region.CoreModules.Avatar.NPC; | 34 | using OpenSim.Region.CoreModules.Avatar.NPC; |
35 | using OpenSim.Framework; | 35 | using OpenSim.Framework; |
36 | using Timer=System.Timers.Timer; | 36 | using Timer=System.Timers.Timer; |
37 | using OpenSim.Services.Interfaces; | ||
37 | 38 | ||
38 | namespace OpenSim.Region.OptionalModules.World.NPC | 39 | namespace OpenSim.Region.OptionalModules.World.NPC |
39 | { | 40 | { |
@@ -63,11 +64,16 @@ namespace OpenSim.Region.OptionalModules.World.NPC | |||
63 | if (m_appearanceCache.ContainsKey(target)) | 64 | if (m_appearanceCache.ContainsKey(target)) |
64 | return m_appearanceCache[target]; | 65 | return m_appearanceCache[target]; |
65 | 66 | ||
66 | AvatarAppearance x = scene.CommsManager.AvatarService.GetUserAppearance(target); | 67 | AvatarData adata = scene.AvatarService.GetAvatar(target); |
68 | if (adata != null) | ||
69 | { | ||
70 | AvatarAppearance x = adata.ToAvatarAppearance(target); | ||
67 | 71 | ||
68 | m_appearanceCache.Add(target, x); | 72 | m_appearanceCache.Add(target, x); |
69 | 73 | ||
70 | return x; | 74 | return x; |
75 | } | ||
76 | return new AvatarAppearance(); | ||
71 | } | 77 | } |
72 | 78 | ||
73 | public UUID CreateNPC(string firstname, string lastname,Vector3 position, Scene scene, UUID cloneAppearanceFrom) | 79 | public UUID CreateNPC(string firstname, string lastname,Vector3 position, Scene scene, UUID cloneAppearanceFrom) |
@@ -104,7 +110,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC | |||
104 | if (m_avatars.ContainsKey(agentID)) | 110 | if (m_avatars.ContainsKey(agentID)) |
105 | { | 111 | { |
106 | ScenePresence sp; | 112 | ScenePresence sp; |
107 | scene.TryGetAvatar(agentID, out sp); | 113 | scene.TryGetScenePresence(agentID, out sp); |
108 | sp.DoAutoPilot(0, pos, m_avatars[agentID]); | 114 | sp.DoAutoPilot(0, pos, m_avatars[agentID]); |
109 | } | 115 | } |
110 | } | 116 | } |
@@ -159,7 +165,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC | |||
159 | p_scene.AddNewClient(npcAvatar); | 165 | p_scene.AddNewClient(npcAvatar); |
160 | 166 | ||
161 | ScenePresence sp; | 167 | ScenePresence sp; |
162 | if (p_scene.TryGetAvatar(npcAvatar.AgentId, out sp)) | 168 | if (p_scene.TryGetScenePresence(npcAvatar.AgentId, out sp)) |
163 | { | 169 | { |
164 | AvatarAppearance x = GetAppearance(p_cloneAppearanceFrom, p_scene); | 170 | AvatarAppearance x = GetAppearance(p_cloneAppearanceFrom, p_scene); |
165 | 171 | ||