(ef6edf745) Fixed remote characters frequently getting stuck to the ragdoll state in multiplayer. Happened because the characters are forced to stay in ragdoll mode if they're moving more than 1 m/s, and if the character stops being ragdolled server-side and starts moving, the movement will prevent it from going back to normal state client-side. Now the client will simply determine the ragdoll state based on the ragdoll input from the server.

This commit is contained in:
Joonas Rikkonen
2019-05-06 11:24:37 +03:00
parent 6cfca0437e
commit 44001459c0
17 changed files with 106 additions and 761 deletions
@@ -2023,6 +2023,10 @@ namespace Barotrauma
{
IsRagdolled = IsForceRagdolled;
}
else if (IsRemotePlayer)
{
IsRagdolled = IsKeyDown(InputType.Ragdoll);
}
//Keep us ragdolled if we were forced or we're too speedy to unragdoll
else if (allowRagdoll && (!IsRagdolled || AnimController.Collider.LinearVelocity.LengthSquared() < 1f))
{