Server reads CHARACTER_INPUT messages even if the client isn't allowed to move (but ignores the inputs), otherwise it would fail to read the rest of the packet

This commit is contained in:
Regalis
2017-01-06 18:19:51 +02:00
parent 2a7ef5dd84
commit 65d64af041
4 changed files with 26 additions and 19 deletions
@@ -59,7 +59,7 @@ namespace Barotrauma
ColliderIndex = Crouching ? 1 : 0;
if (!Crouching && ColliderIndex == 1) Crouching = true;
if (!character.AllowMovement)
if (!character.AllowInput)
{
levitatingCollider = false;
Collider.FarseerBody.FixedRotation = false;
@@ -925,7 +925,7 @@ namespace Barotrauma
target.AnimController.IgnorePlatforms = IgnorePlatforms;
if (!target.AllowMovement)
if (!target.AllowInput)
{
target.AnimController.TargetMovement = TargetMovement;
}
@@ -1223,7 +1223,7 @@ namespace Barotrauma
}
if (character != GameMain.NetworkMember.Character || !character.AllowMovement)
if (character != GameMain.NetworkMember.Character || !character.AllowInput)
{
//use simple interpolation for other players' characters and characters that can't move
if (character.MemPos.Count > 0)
@@ -1233,7 +1233,7 @@ namespace Barotrauma
//unconscious/dead characters can't correct their position using AnimController movement
// -> we need to correct it manually
if (!character.AllowMovement)
if (!character.AllowInput)
{
Collider.LinearVelocity = overrideTargetMovement;
MainLimb.pullJoint.WorldAnchorB = Collider.SimPosition;