diff options
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs index 19f3ce1..f7314da 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs | |||
@@ -68,6 +68,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins | |||
68 | private const int AGENT = 1; | 68 | private const int AGENT = 1; |
69 | private const int AGENT_BY_USERNAME = 0x10; | 69 | private const int AGENT_BY_USERNAME = 0x10; |
70 | private const int NPC = 0x20; | 70 | private const int NPC = 0x20; |
71 | private const int OS_NPC = 0x01000000; | ||
71 | private const int ACTIVE = 2; | 72 | private const int ACTIVE = 2; |
72 | private const int PASSIVE = 4; | 73 | private const int PASSIVE = 4; |
73 | private const int SCRIPTED = 8; | 74 | private const int SCRIPTED = 8; |
@@ -220,7 +221,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins | |||
220 | List<SensedEntity> sensedEntities = new List<SensedEntity>(); | 221 | List<SensedEntity> sensedEntities = new List<SensedEntity>(); |
221 | 222 | ||
222 | // Is the sensor type is AGENT and not SCRIPTED then include agents | 223 | // Is the sensor type is AGENT and not SCRIPTED then include agents |
223 | if ((ts.type & (AGENT | AGENT_BY_USERNAME | NPC)) != 0 && (ts.type & SCRIPTED) == 0) | 224 | if ((ts.type & (AGENT | AGENT_BY_USERNAME | NPC | OS_NPC)) != 0 && (ts.type & SCRIPTED) == 0) |
224 | { | 225 | { |
225 | sensedEntities.AddRange(doAgentSensor(ts)); | 226 | sensedEntities.AddRange(doAgentSensor(ts)); |
226 | } | 227 | } |
@@ -484,7 +485,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins | |||
484 | // "[SENSOR REPEAT]: Inspecting scene presence {0}, type {1} on sensor sweep for {2}, type {3}", | 485 | // "[SENSOR REPEAT]: Inspecting scene presence {0}, type {1} on sensor sweep for {2}, type {3}", |
485 | // presence.Name, presence.PresenceType, ts.name, ts.type); | 486 | // presence.Name, presence.PresenceType, ts.name, ts.type); |
486 | 487 | ||
487 | if ((ts.type & NPC) == 0 && presence.PresenceType == PresenceType.Npc) | 488 | if ((ts.type & NPC) == 0 && (ts.type & OS_NPC) == 0 && presence.PresenceType == PresenceType.Npc) |
488 | { | 489 | { |
489 | INPC npcData = npcModule.GetNPC(presence.UUID, presence.Scene); | 490 | INPC npcData = npcModule.GetNPC(presence.UUID, presence.Scene); |
490 | if (npcData == null || !npcData.SenseAsAgent) | 491 | if (npcData == null || !npcData.SenseAsAgent) |