diff --git a/Intersect.Client.Core/Interface/Menu/MainMenu.cs b/Intersect.Client.Core/Interface/Menu/MainMenu.cs index 900d98ab1c..b5ffd5beb4 100644 --- a/Intersect.Client.Core/Interface/Menu/MainMenu.cs +++ b/Intersect.Client.Core/Interface/Menu/MainMenu.cs @@ -203,8 +203,11 @@ internal void SettingsButton_Clicked() public static void SetNetworkStatus(NetworkStatus networkStatus, bool resetStatusCheck = false) { - ActiveNetworkStatus = networkStatus; - NetworkStatusChanged?.Invoke(); + if (ActiveNetworkStatus != networkStatus) + { + ActiveNetworkStatus = networkStatus; + NetworkStatusChanged?.Invoke(); + } LastNetworkStatusChangeTime = resetStatusCheck ? -1 : Timing.Global.MillisecondsUtc; } } diff --git a/Intersect.Client.Core/MonoGame/Network/MonoSocket.cs b/Intersect.Client.Core/MonoGame/Network/MonoSocket.cs index 390e083e9b..5edc7eefba 100644 --- a/Intersect.Client.Core/MonoGame/Network/MonoSocket.cs +++ b/Intersect.Client.Core/MonoGame/Network/MonoSocket.cs @@ -251,7 +251,7 @@ public override void Update() ); } - if (MainMenu.LastNetworkStatusChangeTime + ServerStatusPingInterval < now) + if (MainMenu.LastNetworkStatusChangeTime + ServerStatusPingInterval * 1.5f < now) { MainMenu.SetNetworkStatus(NetworkStatus.Offline); }