diff options
author | Melanie | 2012-06-29 01:04:48 +0200 |
---|---|---|
committer | Melanie | 2012-06-29 01:04:48 +0200 |
commit | f0f928dce1fcd03ec7259c26b7717690c28a3c5f (patch) | |
tree | 351c0bb2ee754d0a3d0a68ed54c02d11f505a9ff /OpenSim/Region/ScriptEngine/Shared | |
parent | stop chat being sent to child avs again. (diff) | |
parent | don't recoil attachments doing llRezObject() (diff) | |
download | opensim-SC_OLD-f0f928dce1fcd03ec7259c26b7717690c28a3c5f.zip opensim-SC_OLD-f0f928dce1fcd03ec7259c26b7717690c28a3c5f.tar.gz opensim-SC_OLD-f0f928dce1fcd03ec7259c26b7717690c28a3c5f.tar.bz2 opensim-SC_OLD-f0f928dce1fcd03ec7259c26b7717690c28a3c5f.tar.xz |
Merge branch 'ubitwork' into avination
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index f475b99..8c51473 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -3129,13 +3129,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3129 | new_group.RootPart.UUID.ToString()) }, | 3129 | new_group.RootPart.UUID.ToString()) }, |
3130 | new DetectParams[0])); | 3130 | new DetectParams[0])); |
3131 | 3131 | ||
3132 | float groupmass = new_group.GetMass(); | 3132 | // do recoil |
3133 | SceneObjectGroup hostgrp = m_host.ParentGroup; | ||
3134 | if (hostgrp == null) | ||
3135 | return; | ||
3136 | |||
3137 | if (hostgrp.IsAttachment) // don't recoil avatars | ||
3138 | return; | ||
3133 | 3139 | ||
3134 | PhysicsActor pa = new_group.RootPart.PhysActor; | 3140 | PhysicsActor pa = new_group.RootPart.PhysActor; |
3135 | 3141 | ||
3136 | if (pa != null && pa.IsPhysical && llvel != Vector3.Zero) | 3142 | if (pa != null && pa.IsPhysical && llvel != Vector3.Zero) |
3137 | { | 3143 | { |
3138 | // recoil | 3144 | float groupmass = new_group.GetMass(); |
3139 | llvel *= -groupmass; | 3145 | llvel *= -groupmass; |
3140 | llApplyImpulse(new LSL_Vector(llvel.X, llvel.Y,llvel.Z), 0); | 3146 | llApplyImpulse(new LSL_Vector(llvel.X, llvel.Y,llvel.Z), 0); |
3141 | } | 3147 | } |