Release 1.9.7.0 - Summer Update 2025

This commit is contained in:
Regalis11
2025-06-17 16:38:11 +03:00
parent 22227f13e5
commit ea5a2bc693
297 changed files with 7344 additions and 2421 deletions
@@ -680,6 +680,7 @@ namespace Barotrauma
private void OnInvitedToSteamGame(string connectCommand)
{
DebugConsole.NewMessage($"Invited to Steam game, connect command: {connectCommand}", Color.Lime);
try
{
ConnectCommand = Barotrauma.Networking.ConnectCommand.Parse(ToolBox.SplitCommand(connectCommand));
@@ -819,6 +820,7 @@ namespace Barotrauma
{
if (ConnectCommand.TryUnwrap(out var connectCommand))
{
DebugConsole.NewMessage($"Processing connect command: {connectCommand}...", Color.Lime);
if (Client != null)
{
Client.Quit();
@@ -830,6 +832,7 @@ namespace Barotrauma
if (connectCommand.SteamLobbyIdOption.TryUnwrap(out var lobbyId))
{
DebugConsole.NewMessage($"Connecting to lobby ID {lobbyId}...", Color.Lime);
SteamManager.JoinLobby(lobbyId.Value, joinServer: true);
}
else if ((connectCommand.NameAndP2PEndpointsOption.TryUnwrap(out var nameAndEndpoint) && nameAndEndpoint is { ServerName: var serverName, Endpoints: var endpoints }))
@@ -838,6 +841,7 @@ namespace Barotrauma
endpoints.Cast<Endpoint>().ToImmutableArray(),
string.IsNullOrWhiteSpace(serverName) ? endpoints.First().StringRepresentation : serverName,
Option<int>.None());
DebugConsole.NewMessage($"Connecting to endpoint {endpoints.First().StringRepresentation}...", Color.Lime);
}
else if ((connectCommand.NameAndLidgrenEndpointOption.TryUnwrap(out var nameAndLidgrenEndpoint) && nameAndLidgrenEndpoint is { ServerName: var lidgrenServerName, Endpoint: var endpoint }))
{
@@ -847,6 +851,10 @@ namespace Barotrauma
string.IsNullOrWhiteSpace(lidgrenServerName) ? endpoint.StringRepresentation : lidgrenServerName,
Option<int>.None());
}
else
{
DebugConsole.NewMessage($"Cannot connect: unrecognized connect command.", Color.Lime);
}
ConnectCommand = Option<ConnectCommand>.None();
}
@@ -1187,8 +1195,9 @@ namespace Barotrauma
CoroutineManager.StopCoroutines("EndCinematic");
if (GameSession != null)
if (GameSession != null && GameSession.IsRunning)
{
AchievementManager.OnRoundEnded(GameSession, roundInterrupted: true);
GameAnalyticsManager.AddProgressionEvent(GameAnalyticsManager.ProgressionStatus.Fail,
GameSession.GameMode?.Preset.Identifier.Value ?? "none",
GameSession.RoundDuration);