Shuttle movement fix (#20498)
This commit is contained in:
@@ -249,8 +249,8 @@ namespace Content.Server.Physics.Controllers
|
|||||||
|
|
||||||
var horizIndex = vel.X > 0 ? 1 : 3; // east else west
|
var horizIndex = vel.X > 0 ? 1 : 3; // east else west
|
||||||
var vertIndex = vel.Y > 0 ? 2 : 0; // north else south
|
var vertIndex = vel.Y > 0 ? 2 : 0; // north else south
|
||||||
var horizComp = MathF.Pow(Vector2.Dot(vel, new (shuttle.BaseLinearThrust[horizIndex] / shuttle.LinearThrust[horizIndex], 0f)), 2);
|
var horizComp = vel.X != 0 ? MathF.Pow(Vector2.Dot(vel, new (shuttle.BaseLinearThrust[horizIndex] / shuttle.LinearThrust[horizIndex], 0f)), 2) : 0;
|
||||||
var vertComp = MathF.Pow(Vector2.Dot(vel, new (0f, shuttle.BaseLinearThrust[vertIndex] / shuttle.LinearThrust[vertIndex])), 2);
|
var vertComp = vel.Y != 0 ? MathF.Pow(Vector2.Dot(vel, new (0f, shuttle.BaseLinearThrust[vertIndex] / shuttle.LinearThrust[vertIndex])), 2) : 0;
|
||||||
|
|
||||||
return shuttle.BaseMaxLinearVelocity * vel * MathF.ReciprocalSqrtEstimate(horizComp + vertComp);
|
return shuttle.BaseMaxLinearVelocity * vel * MathF.ReciprocalSqrtEstimate(horizComp + vertComp);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user