don't recoil attachments doing llRezObject()

avinationmerge
UbitUmarov 2012-06-29 01:17:53 +01:00
parent 58b4417140
commit 7ab8bc0a60
1 changed files with 8 additions and 2 deletions

View File

@ -3129,13 +3129,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
new_group.RootPart.UUID.ToString()) },
new DetectParams[0]));
float groupmass = new_group.GetMass();
// do recoil
SceneObjectGroup hostgrp = m_host.ParentGroup;
if (hostgrp == null)
return;
if (hostgrp.IsAttachment) // don't recoil avatars
return;
PhysicsActor pa = new_group.RootPart.PhysActor;
if (pa != null && pa.IsPhysical && llvel != Vector3.Zero)
{
// recoil
float groupmass = new_group.GetMass();
llvel *= -groupmass;
llApplyImpulse(new LSL_Vector(llvel.X, llvel.Y,llvel.Z), 0);
}