diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Helpers.cs | 34 |
1 files changed, 30 insertions, 4 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Helpers.cs b/OpenSim/Region/ScriptEngine/Shared/Helpers.cs index 5c9d30f..9e5fb24 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Helpers.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Helpers.cs | |||
@@ -36,6 +36,7 @@ using OpenSim.Framework; | |||
36 | using OpenSim.Region.CoreModules; | 36 | using OpenSim.Region.CoreModules; |
37 | using OpenSim.Region.Framework.Scenes; | 37 | using OpenSim.Region.Framework.Scenes; |
38 | using OpenSim.Services.Interfaces; | 38 | using OpenSim.Services.Interfaces; |
39 | using OpenSim.Region.Framework.Interfaces; | ||
39 | 40 | ||
40 | namespace OpenSim.Region.ScriptEngine.Shared | 41 | namespace OpenSim.Region.ScriptEngine.Shared |
41 | { | 42 | { |
@@ -83,6 +84,12 @@ namespace OpenSim.Region.ScriptEngine.Shared | |||
83 | 84 | ||
84 | public class DetectParams | 85 | public class DetectParams |
85 | { | 86 | { |
87 | public const int AGENT = 1; | ||
88 | public const int ACTIVE = 2; | ||
89 | public const int PASSIVE = 4; | ||
90 | public const int SCRIPTED = 8; | ||
91 | public const int OS_NPC = 0x01000000; | ||
92 | |||
86 | public DetectParams() | 93 | public DetectParams() |
87 | { | 94 | { |
88 | Key = UUID.Zero; | 95 | Key = UUID.Zero; |
@@ -199,8 +206,27 @@ namespace OpenSim.Region.ScriptEngine.Shared | |||
199 | Type = 0x01; // Avatar | 206 | Type = 0x01; // Avatar |
200 | if (presence.PresenceType == PresenceType.Npc) | 207 | if (presence.PresenceType == PresenceType.Npc) |
201 | Type = 0x20; | 208 | Type = 0x20; |
209 | |||
210 | // Cope Impl. We don't use OS_NPC. | ||
211 | //if (presence.PresenceType != PresenceType.Npc) | ||
212 | //{ | ||
213 | // Type = AGENT; | ||
214 | //} | ||
215 | //else | ||
216 | //{ | ||
217 | // Type = OS_NPC; | ||
218 | |||
219 | // INPCModule npcModule = scene.RequestModuleInterface<INPCModule>(); | ||
220 | // INPC npcData = npcModule.GetNPC(presence.UUID, presence.Scene); | ||
221 | |||
222 | // if (npcData.SenseAsAgent) | ||
223 | // { | ||
224 | // Type |= AGENT; | ||
225 | // } | ||
226 | //} | ||
227 | |||
202 | if (presence.Velocity != Vector3.Zero) | 228 | if (presence.Velocity != Vector3.Zero) |
203 | Type |= 0x02; // Active | 229 | Type |= ACTIVE; |
204 | 230 | ||
205 | Group = presence.ControllingClient.ActiveGroupId; | 231 | Group = presence.ControllingClient.ActiveGroupId; |
206 | 232 | ||
@@ -215,15 +241,15 @@ namespace OpenSim.Region.ScriptEngine.Shared | |||
215 | Name = part.Name; | 241 | Name = part.Name; |
216 | Owner = part.OwnerID; | 242 | Owner = part.OwnerID; |
217 | if (part.Velocity == Vector3.Zero) | 243 | if (part.Velocity == Vector3.Zero) |
218 | Type = 0x04; // Passive | 244 | Type = PASSIVE; |
219 | else | 245 | else |
220 | Type = 0x02; // Passive | 246 | Type = ACTIVE; |
221 | 247 | ||
222 | foreach (SceneObjectPart p in part.ParentGroup.Parts) | 248 | foreach (SceneObjectPart p in part.ParentGroup.Parts) |
223 | { | 249 | { |
224 | if (p.Inventory.ContainsScripts()) | 250 | if (p.Inventory.ContainsScripts()) |
225 | { | 251 | { |
226 | Type |= 0x08; // Scripted | 252 | Type |= SCRIPTED; // Scripted |
227 | break; | 253 | break; |
228 | } | 254 | } |
229 | } | 255 | } |