From 240ab951b52aa87434cc02736a4ef84d95470082 Mon Sep 17 00:00:00 2001
From: UbitUmarov
Date: Tue, 6 Dec 2016 16:15:57 +0000
Subject: let NPCs have profile

---
 .../Avatar/UserProfiles/UserProfileModule.cs       | 33 ++++++++++++++--------
 1 file changed, 22 insertions(+), 11 deletions(-)

diff --git a/OpenSim/Region/CoreModules/Avatar/UserProfiles/UserProfileModule.cs b/OpenSim/Region/CoreModules/Avatar/UserProfiles/UserProfileModule.cs
index 61835f9..47914cc 100644
--- a/OpenSim/Region/CoreModules/Avatar/UserProfiles/UserProfileModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/UserProfiles/UserProfileModule.cs
@@ -320,13 +320,12 @@ namespace OpenSim.Region.CoreModules.Avatar.UserProfiles
             UUID targetID;
             UUID.TryParse(args[0], out targetID);
 
-            // Can't handle NPC yet...
-            ScenePresence p = FindPresence(targetID);
 
-            if (null != p)
+            ScenePresence p = FindPresence(targetID);
+            if (p != null && p.isNPC)
             {
-                if (p.PresenceType == PresenceType.Npc)
-                    return;
+                remoteClient.SendAvatarClassifiedReply(new UUID(args[0]), new Dictionary<UUID, string>());
+                return;
             }
 
             string serverURI = string.Empty;
@@ -575,10 +574,10 @@ namespace OpenSim.Region.CoreModules.Avatar.UserProfiles
             // Can't handle NPC yet...
             ScenePresence p = FindPresence(targetId);
 
-            if (null != p)
+            if (p != null && p.isNPC)
             {
-                if (p.PresenceType == PresenceType.Npc)
-                    return;
+                remoteClient.SendAvatarPicksReply(new UUID(args[0]), new Dictionary<UUID, string>());
+                return;
             }
 
             string serverURI = string.Empty;
@@ -860,6 +859,14 @@ namespace OpenSim.Region.CoreModules.Avatar.UserProfiles
         /// </param>
         public void NotesUpdate(IClientAPI remoteClient, UUID queryTargetID, string queryNotes)
         {
+            ScenePresence p = FindPresence(queryTargetID);
+            if (p != null && p.isNPC)
+            {
+                remoteClient.SendAgentAlertMessage(
+                        "Notes for NPCs not avaiable", false);
+                return;
+            }
+
             UserProfileNotes note = new UserProfileNotes();
 
             note.UserId = remoteClient.AgentId;
@@ -1000,10 +1007,14 @@ namespace OpenSim.Region.CoreModules.Avatar.UserProfiles
             // Can't handle NPC yet...
             ScenePresence p = FindPresence(avatarID);
 
-            if (null != p)
+            if (p != null && p.isNPC)
             {
-                if (p.PresenceType == PresenceType.Npc)
-                    return;
+                remoteClient.SendAvatarProperties(avatarID, "im a happy NPC", "5/25/1977" ,
+                      Utils.StringToBytes("NPC"), "NPCs have no life", 0,
+                      UUID.Zero, UUID.Zero, "", UUID.Zero);
+                remoteClient.SendAvatarInterestsReply(avatarID, 0, "",
+                          0, "Getting into trouble", "Droidspeak");
+                return;
             }
 
             string serverURI = string.Empty;
-- 
cgit v1.1