diff --git a/Barotrauma/BarotraumaClient/Source/Networking/GameClient.cs b/Barotrauma/BarotraumaClient/Source/Networking/GameClient.cs index 733ad289a..636cd27d4 100644 --- a/Barotrauma/BarotraumaClient/Source/Networking/GameClient.cs +++ b/Barotrauma/BarotraumaClient/Source/Networking/GameClient.cs @@ -1126,6 +1126,18 @@ namespace Barotrauma.Networking mirrorLevel: campaign.Map.CurrentLocation != campaign.Map.SelectedConnection.Locations[0]); } + for (int i = 0; i < Submarine.MainSubs.Length; i++) + { + if (!loadSecondSub && i > 0) { break; } + + var teamID = i == 0 ? Character.TeamType.Team1 : Character.TeamType.Team2; + Submarine.MainSubs[i].TeamID = teamID; + foreach (Submarine sub in Submarine.MainSubs[i].DockedTo) + { + sub.TeamID = teamID; + } + } + if (Level.Loaded.EqualityCheckVal != levelEqualityCheckVal) { string errorMsg = "Level equality check failed. The level generated at your end doesn't match the level generated by the server (seed " + Level.Loaded.Seed + ")."; diff --git a/Barotrauma/BarotraumaServer/Source/Networking/GameServer.cs b/Barotrauma/BarotraumaServer/Source/Networking/GameServer.cs index d4c20614b..60d7c1e95 100644 --- a/Barotrauma/BarotraumaServer/Source/Networking/GameServer.cs +++ b/Barotrauma/BarotraumaServer/Source/Networking/GameServer.cs @@ -1767,6 +1767,12 @@ namespace Barotrauma.Networking { var teamID = n == 0 ? Character.TeamType.Team1 : Character.TeamType.Team2; + Submarine.MainSubs[n].TeamID = teamID; + foreach (Submarine sub in Submarine.MainSubs[n].DockedTo) + { + sub.TeamID = teamID; + } + //find the clients in this team List teamClients = teamCount == 1 ? new List(connectedClients) :