From 240ab951b52aa87434cc02736a4ef84d95470082 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 6 Dec 2016 16:15:57 +0000 Subject: [PATCH] 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 61835f9d71..47914cc313 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()); + 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()); + return; } string serverURI = string.Empty; @@ -860,6 +859,14 @@ namespace OpenSim.Region.CoreModules.Avatar.UserProfiles /// 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;