From dde0160956a702d775a9b978a9979ea83f985dcf Mon Sep 17 00:00:00 2001 From: Regalis Date: Sun, 19 Mar 2017 18:29:53 +0200 Subject: [PATCH] Fixed items that aren't selected with the default select key being impossible to interact with, unconscious characters CanBeSelected --- Subsurface/Source/Characters/Character.cs | 14 ++++---------- .../Source/Characters/CharacterNetworking.cs | 4 ++-- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/Subsurface/Source/Characters/Character.cs b/Subsurface/Source/Characters/Character.cs index fbc7ffd40..b888bbb80 100644 --- a/Subsurface/Source/Characters/Character.cs +++ b/Subsurface/Source/Characters/Character.cs @@ -446,7 +446,7 @@ namespace Barotrauma { get { - return isDead || Stun > 0.0f || LockHands; + return isDead || Stun > 0.0f || LockHands || IsUnconscious; } } @@ -661,28 +661,22 @@ namespace Barotrauma { case InputType.Left: return !(dequeuedInput.HasFlag(InputNetFlags.Left)) && (prevDequeuedInput.HasFlag(InputNetFlags.Left)); - //break; case InputType.Right: return !(dequeuedInput.HasFlag(InputNetFlags.Right)) && (prevDequeuedInput.HasFlag(InputNetFlags.Right)); - //break; case InputType.Up: return !(dequeuedInput.HasFlag(InputNetFlags.Up)) && (prevDequeuedInput.HasFlag(InputNetFlags.Up)); - //break; case InputType.Down: return !(dequeuedInput.HasFlag(InputNetFlags.Down)) && (prevDequeuedInput.HasFlag(InputNetFlags.Down)); - //break; case InputType.Run: return !(dequeuedInput.HasFlag(InputNetFlags.Run)) && (prevDequeuedInput.HasFlag(InputNetFlags.Run)); - //break; case InputType.Crouch: return !(dequeuedInput.HasFlag(InputNetFlags.Crouch)) && (prevDequeuedInput.HasFlag(InputNetFlags.Crouch)); - //break; case InputType.Select: - return dequeuedInput.HasFlag(InputNetFlags.Select); //TODO: clean up the way this input is registered - //break; + return dequeuedInput.HasFlag(InputNetFlags.Select); //TODO: clean up the way this input is registered + case InputType.Use: + return !(dequeuedInput.HasFlag(InputNetFlags.Use)) && (prevDequeuedInput.HasFlag(InputNetFlags.Use)); default: return false; - //break; } } diff --git a/Subsurface/Source/Characters/CharacterNetworking.cs b/Subsurface/Source/Characters/CharacterNetworking.cs index 598fbd71b..0a96f6f16 100644 --- a/Subsurface/Source/Characters/CharacterNetworking.cs +++ b/Subsurface/Source/Characters/CharacterNetworking.cs @@ -212,7 +212,7 @@ namespace Barotrauma { msg.Write(memInput[i].intAim); } - if (memInput[i].states.HasFlag(InputNetFlags.Select)) + if (memInput[i].states.HasFlag(InputNetFlags.Select) || memInput[i].states.HasFlag(InputNetFlags.Use)) { msg.Write(memInput[i].interact); } @@ -254,7 +254,7 @@ namespace Barotrauma { newAim = msg.ReadUInt16(); } - if (newInput.HasFlag(InputNetFlags.Select)) + if (newInput.HasFlag(InputNetFlags.Select) || newInput.HasFlag(InputNetFlags.Use)) { newInteract = msg.ReadUInt16(); }