v1.6.18.1 (Unto the Breach Hotfix 1)

This commit is contained in:
Regalis11
2024-10-28 15:03:46 +02:00
parent a29662c074
commit 7eac44ea7d
47 changed files with 246 additions and 124 deletions
@@ -291,7 +291,7 @@ namespace Barotrauma
if (characterInfos.Count >= 3) { break; }
}
}
characterInfos.Sort((a, b) => Math.Sign(b.Job.MinKarma - a.Job.MinKarma));
characterInfos.Sort((a, b) => Math.Sign(a.Job.CampaignSetupUIOrder - b.Job.CampaignSetupUIOrder));
characterInfoColumns.ClearChildren();
CharacterMenus?.ForEach(m => m.Dispose());
@@ -2708,13 +2708,18 @@ namespace Barotrauma
if (newTeamPreference == CharacterTeamType.None
&& GameMain.Client?.ServerSettings?.PvpTeamSelectionMode == PvpTeamSelectionMode.PlayerChoice) { return false; } // Already handled by delegate above
var oldPreference = MultiplayerPreferences.Instance.TeamPreference;
MultiplayerPreferences.Instance.TeamPreference = newTeamPreference;
UpdateSelectedSub(newTeamPreference);
GameMain.Client?.ForceNameJobTeamUpdate();
if (newTeamPreference != oldPreference)
{
GameMain.Client?.ForceNameJobTeamUpdate();
GameSettings.SaveCurrentConfig();
}
RefreshPvpTeamSelectionButtons();
GameSettings.SaveCurrentConfig();
UpdateDisembarkPointListFromServerSettings();
//need to update job preferences and close the selection frame
//because the team selection might affect the uniform sprite and the loadouts
@@ -4015,7 +4020,9 @@ namespace Barotrauma
JobSelectionFrame.Visible = false;
}
if (GUI.MouseOn?.UserData is JobVariant jobPrefab && GUI.MouseOn.Style?.Name == "JobVariantButton")
if (GUI.MouseOn?.UserData is JobVariant jobPrefab &&
GUI.MouseOn.Style?.Name == "JobVariantButton" &&
GUI.MouseOn.Parent != null)
{
if (jobVariantTooltip?.UserData is not JobVariant prevVisibleVariant ||
prevVisibleVariant.Prefab != jobPrefab.Prefab ||
@@ -448,7 +448,7 @@ namespace Barotrauma
.ToArray();
bool inSelectedCall = false;
languageDropdown.AfterSelected = (_, userData) =>
languageDropdown.OnSelected = (_, userData) =>
{
if (inSelectedCall) { return true; }
try
@@ -465,33 +465,38 @@ namespace Barotrauma
bool noneSelected = langTickboxes.All(tb => !tb.Selected);
bool allSelected = langTickboxes.All(tb => tb.Selected);
if (allSelected != allTickbox.Selected)
{
allTickbox.Selected = allSelected;
}
if (allSelected)
{
languageDropdown.Text = TextManager.Get(allLanguagesKey);
}
else if (noneSelected)
{
languageDropdown.Text = TextManager.Get("None");
}
var languages = languageDropdown.SelectedDataMultiple.OfType<LanguageIdentifier>();
ServerListFilters.Instance.SetAttribute(languageKey, string.Join(", ", languages));
GameSettings.SaveCurrentConfig();
return true;
}
finally
{
inSelectedCall = false;
FilterServers();
}
};
languageDropdown.AfterSelected = (_, userData) =>
{
bool noneSelected = langTickboxes.All(tb => !tb.Selected);
bool allSelected = langTickboxes.All(tb => tb.Selected);
if (allSelected)
{
languageDropdown.Text = TextManager.Get(allLanguagesKey);
}
else if (noneSelected)
{
languageDropdown.Text = TextManager.Get("None");
}
var languages = languageDropdown.SelectedDataMultiple.OfType<LanguageIdentifier>();
ServerListFilters.Instance.SetAttribute(languageKey, string.Join(", ", languages));
GameSettings.SaveCurrentConfig();
FilterServers();
return true;
};
}
// Filter Tags