(7749cbf6a) Server sends the current facing direction of a character to clients instead of the TargetDirection. Fixes monsters flipping around constantly client-side. + Don't allow clients to make characters flip in EnemyAIController (controlled by the server)

This commit is contained in:
Joonas Rikkonen
2019-04-03 16:28:10 +03:00
parent 311a34da80
commit 6b38ba8434
4 changed files with 29 additions and 3 deletions
@@ -283,7 +283,9 @@ namespace Barotrauma
Character.AnimController.IgnorePlatforms = ignorePlatforms;
if (Character.AnimController is HumanoidAnimController)
//clients get the facing direction from the server
if (Character.AnimController is HumanoidAnimController &&
(GameMain.NetworkMember == null || GameMain.NetworkMember.IsServer || Character.Controlled == Character))
{
if (Math.Abs(Character.AnimController.movement.X) > 0.1f && !Character.AnimController.InWater)
{
@@ -528,7 +530,8 @@ namespace Barotrauma
}
}
if (Math.Abs(Character.AnimController.movement.X) > 0.1f && !Character.AnimController.InWater)
if (Math.Abs(Character.AnimController.movement.X) > 0.1f && !Character.AnimController.InWater &&
(GameMain.NetworkMember == null || GameMain.NetworkMember.IsServer || Character.Controlled == Character))
{
Character.AnimController.TargetDir = Character.WorldPosition.X < attackWorldPos.X ? Direction.Right : Direction.Left;
}