From fa340e91de36f5a84353421f4ff44f65fd61f5ff Mon Sep 17 00:00:00 2001 From: MapleWheels Date: Fri, 6 Feb 2026 14:36:33 -0500 Subject: [PATCH] Fixed an issue affecting parsing the required runstate to edit a setting. --- .../LuaCs/Data/SettingsFactoryRegistrationProvider.cs | 2 +- .../LuaCs/_Services/SettingsFileParserService.cs | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/Data/SettingsFactoryRegistrationProvider.cs b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/Data/SettingsFactoryRegistrationProvider.cs index 3ab15e4d6..61a561fd2 100644 --- a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/Data/SettingsFactoryRegistrationProvider.cs +++ b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/Data/SettingsFactoryRegistrationProvider.cs @@ -64,7 +64,7 @@ public class SettingsEntryRegistrar : ISettingsRegistrationProvider Func, bool> valueChangePredicate) { return !info.Element.GetAttributeBool("ReadOnly", false) - || !info.EditableStates.HasFlag(_infoProvider?.CurrentRunState ?? RunState.Running) + || info.EditableStates < _infoProvider.CurrentRunState || valueChangePredicate is null || valueChangePredicate.Invoke(newValue); } diff --git a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/_Services/SettingsFileParserService.cs b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/_Services/SettingsFileParserService.cs index 5ab01f02e..70699e6c4 100644 --- a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/_Services/SettingsFileParserService.cs +++ b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/_Services/SettingsFileParserService.cs @@ -92,9 +92,9 @@ public sealed class SettingsFileParserService : OwnerPackage = res.path.ContentPackage, DataType = element.GetAttributeString("Type", string.Empty), Element = element, - EditableStates = element.GetAttributeBool("AllowChangesWhileExecuting", true) ? RunState.Running : - element.GetAttributeBool("ReadOnly", false) ? RunState.LoadedNoExec : - RunState.Unloaded, + EditableStates = element.GetAttributeBool("ReadOnly", false) ? RunState.Unloaded : + element.GetAttributeBool("AllowChangesWhileExecuting", true) ? RunState.Running : + RunState.LoadedNoExec, NetSync = element.GetAttributeEnum("NetSync", NetSync.None), #if CLIENT DisplayName = $"{packageIdent}.{name}.DisplayName",