From 9527d53558fbe252355a56d09058a261b399c21f Mon Sep 17 00:00:00 2001 From: Joonas Rikkonen Date: Wed, 7 Jun 2017 20:20:14 +0300 Subject: [PATCH] Fixed exceptions in CharacterNetworking.WriteStatus if a characters stun timer goes over 60.0 --- Barotrauma/Source/Characters/Character.cs | 4 ++++ Barotrauma/Source/Characters/CharacterNetworking.cs | 3 +-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Barotrauma/Source/Characters/Character.cs b/Barotrauma/Source/Characters/Character.cs index bb5e6b4aa..b76febfd4 100644 --- a/Barotrauma/Source/Characters/Character.cs +++ b/Barotrauma/Source/Characters/Character.cs @@ -277,6 +277,8 @@ namespace Barotrauma set { oxygenAvailable = MathHelper.Clamp(value, 0.0f, 100.0f); } } + public const float MaxStun = 60.0f; + private float stunTimer; public float Stun { @@ -1771,6 +1773,8 @@ namespace Barotrauma { if (GameMain.Client != null && !isNetworkMessage) return; + newStun = MathHelper.Clamp(newStun, 0.0f, MaxStun); + if ((newStun <= stunTimer && !allowStunDecrease) || !MathUtils.IsValid(newStun)) return; if (GameMain.Server != null && diff --git a/Barotrauma/Source/Characters/CharacterNetworking.cs b/Barotrauma/Source/Characters/CharacterNetworking.cs index 00b8e7785..2787e1164 100644 --- a/Barotrauma/Source/Characters/CharacterNetworking.cs +++ b/Barotrauma/Source/Characters/CharacterNetworking.cs @@ -620,8 +620,7 @@ namespace Barotrauma msg.Write(Stun > 0.0f); if (Stun > 0.0f) { - Stun = MathHelper.Clamp(Stun, 0.0f, 60.0f); - msg.WriteRangedSingle(Stun, 0.0f, 60.0f, 8); + msg.WriteRangedSingle(MathHelper.Clamp(Stun, 0.0f, MaxStun), 0.0f, MaxStun, 8); } msg.Write(HuskInfectionState > 0.0f);