diff options
Diffstat (limited to 'OpenSim/Region/ScriptEngine')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 7 | ||||
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs | 2 |
2 files changed, 6 insertions, 3 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index bb8fb79..11dbae1 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -15305,6 +15305,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
15305 | bool checkAgents = !((rejectTypes & ScriptBaseClass.RC_REJECT_AGENTS) == ScriptBaseClass.RC_REJECT_AGENTS); | 15305 | bool checkAgents = !((rejectTypes & ScriptBaseClass.RC_REJECT_AGENTS) == ScriptBaseClass.RC_REJECT_AGENTS); |
15306 | bool checkNonPhysical = !((rejectTypes & ScriptBaseClass.RC_REJECT_NONPHYSICAL) == ScriptBaseClass.RC_REJECT_NONPHYSICAL); | 15306 | bool checkNonPhysical = !((rejectTypes & ScriptBaseClass.RC_REJECT_NONPHYSICAL) == ScriptBaseClass.RC_REJECT_NONPHYSICAL); |
15307 | bool checkPhysical = !((rejectTypes & ScriptBaseClass.RC_REJECT_PHYSICAL) == ScriptBaseClass.RC_REJECT_PHYSICAL); | 15307 | bool checkPhysical = !((rejectTypes & ScriptBaseClass.RC_REJECT_PHYSICAL) == ScriptBaseClass.RC_REJECT_PHYSICAL); |
15308 | bool rejectHost = ((rejectTypes & ScriptBaseClass.RC_REJECT_HOST) != 0); | ||
15309 | bool rejectHostGroup = ((rejectTypes & ScriptBaseClass.RC_REJECT_HOSTGROUP) != 0); | ||
15308 | 15310 | ||
15309 | if (World.SupportsRayCastFiltered()) | 15311 | if (World.SupportsRayCastFiltered()) |
15310 | { | 15312 | { |
@@ -15432,7 +15434,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
15432 | continue; | 15434 | continue; |
15433 | 15435 | ||
15434 | // physics ray can return colisions with host prim | 15436 | // physics ray can return colisions with host prim |
15435 | if (m_host.LocalId == result.ConsumerID) | 15437 | if (rejectHost && m_host.LocalId == result.ConsumerID) |
15436 | continue; | 15438 | continue; |
15437 | 15439 | ||
15438 | UUID itemID = UUID.Zero; | 15440 | UUID itemID = UUID.Zero; |
@@ -15442,8 +15444,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
15442 | // It's a prim! | 15444 | // It's a prim! |
15443 | if (part != null) | 15445 | if (part != null) |
15444 | { | 15446 | { |
15445 | // dont detect members of same object ??? | 15447 | if (rejectHostGroup && part.ParentGroup == thisgrp) |
15446 | if (part.ParentGroup == thisgrp) | ||
15447 | continue; | 15448 | continue; |
15448 | 15449 | ||
15449 | if ((dataFlags & ScriptBaseClass.RC_GET_ROOT_KEY) == ScriptBaseClass.RC_GET_ROOT_KEY) | 15450 | if ((dataFlags & ScriptBaseClass.RC_GET_ROOT_KEY) == ScriptBaseClass.RC_GET_ROOT_KEY) |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs index 15a57cd..49f46b7 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs | |||
@@ -842,6 +842,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase | |||
842 | public static readonly LSLInteger RC_REJECT_PHYSICAL = 2; | 842 | public static readonly LSLInteger RC_REJECT_PHYSICAL = 2; |
843 | public static readonly LSLInteger RC_REJECT_NONPHYSICAL = 4; | 843 | public static readonly LSLInteger RC_REJECT_NONPHYSICAL = 4; |
844 | public static readonly LSLInteger RC_REJECT_LAND = 8; | 844 | public static readonly LSLInteger RC_REJECT_LAND = 8; |
845 | public static readonly LSLInteger RC_REJECT_HOST = 0x20000000; | ||
846 | public static readonly LSLInteger RC_REJECT_HOSTGROUP = 0x40000000; | ||
845 | 847 | ||
846 | public static readonly LSLInteger RC_GET_NORMAL = 1; | 848 | public static readonly LSLInteger RC_GET_NORMAL = 1; |
847 | public static readonly LSLInteger RC_GET_ROOT_KEY = 2; | 849 | public static readonly LSLInteger RC_GET_ROOT_KEY = 2; |