diff --git a/Content.Server/Preferences/Managers/ServerPreferencesManager.cs b/Content.Server/Preferences/Managers/ServerPreferencesManager.cs index 3bc170afcad..7b434110cfa 100644 --- a/Content.Server/Preferences/Managers/ServerPreferencesManager.cs +++ b/Content.Server/Preferences/Managers/ServerPreferencesManager.cs @@ -107,6 +107,15 @@ private async void HandleUpdateCharacterMessage(MsgUpdateCharacter message) var curPrefs = prefsData.Prefs!; var session = _playerManager.GetSessionById(userId); + if (profile is HumanoidCharacterProfile humanoid) + if (curPrefs.Characters.TryGetValue(slot, out var storedProfile) && storedProfile is HumanoidCharacterProfile storedHumanoid) + { + if (humanoid.BankBalance != storedHumanoid.BankBalance) + return; + } + else if (humanoid.BankBalance != HumanoidCharacterProfile.DefaultBalance) + return; + // Corvax-Sponsors-Start: Ensure removing sponsor markings if client somehow bypassed client filtering // WARN! It's not removing markings from DB! var sponsorPrototypes = _sponsors != null && _sponsors.TryGetPrototypes(message.MsgChannel.UserId, out var prototypes)