revert last bad commit but fix recoil direction
parent
768447e41b
commit
372b76031b
|
@ -3079,9 +3079,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
|||
// need the magnitude later
|
||||
// float velmag = (float)Util.GetMagnitude(llvel);
|
||||
|
||||
// rez with zero velocity so we can apply it here after resume scripts etc
|
||||
// SceneObjectGroup new_group = World.RezObject(m_host, inv.Value, llpos, Rot2Quaternion(rot), llvel, param);
|
||||
SceneObjectGroup new_group = World.RezObject(m_host, inv.Value, llpos, Rot2Quaternion(rot), Vector3.Zero, param);
|
||||
SceneObjectGroup new_group = World.RezObject(m_host, inv.Value, llpos, Rot2Quaternion(rot), llvel, param);
|
||||
|
||||
// If either of these are null, then there was an unknown error.
|
||||
if (new_group == null)
|
||||
|
@ -3104,7 +3102,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
|||
|
||||
if (pa != null && pa.IsPhysical && llvel != Vector3.Zero)
|
||||
{
|
||||
llApplyImpulse(new LSL_Vector(llvel.X * groupmass, llvel.Y * groupmass, llvel.Z * groupmass), 0);
|
||||
// recoil
|
||||
llvel *= -groupmass;
|
||||
llApplyImpulse(new LSL_Vector(llvel.X, llvel.Y,llvel.Z), 0);
|
||||
}
|
||||
// Variable script delay? (see (http://wiki.secondlife.com/wiki/LSL_Delay)
|
||||
return;
|
||||
|
|
Loading…
Reference in New Issue