From bcc4357a1680c549e6c81dcc06bbd91b75aa8cf7 Mon Sep 17 00:00:00 2001 From: Evil Factory <36804725+evilfactory@users.noreply.github.com> Date: Sun, 8 Feb 2026 21:46:00 -0300 Subject: [PATCH] Pass in cs enabled check in ExecuteLoadedScripts --- .../_Services/LuaScriptManagementService.cs | 20 +++++++++---------- .../_Services/PackageManagementService.cs | 2 +- .../ILuaScriptManagementService.cs | 2 +- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/_Services/LuaScriptManagementService.cs b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/_Services/LuaScriptManagementService.cs index 479910bb2..cf2f53eb1 100644 --- a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/_Services/LuaScriptManagementService.cs +++ b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/_Services/LuaScriptManagementService.cs @@ -174,7 +174,7 @@ class LuaScriptManagementService : ILuaScriptManagementService, ILuaDataService _eventService.RegisterLuaEventAlias("think", "OnUpdate"); } - private void SetupEnvironment() + private void SetupEnvironment(bool enableSandbox) { _script = new Script(CoreModules.Preset_SoftSandbox | CoreModules.Debug | CoreModules.IO | CoreModules.OS_System); _script.Options.DebugPrint = (string msg) => @@ -220,16 +220,16 @@ class LuaScriptManagementService : ILuaScriptManagementService, ILuaDataService _script.Globals["Networking"] = _networkingService; //_script.Globals["Steam"] = Steam; - if (GameMain.LuaCs.IsCsEnabled) - { - UserData.RegisterType(typeof(LuaUserDataService)); - _script.Globals["LuaUserData"] = _userDataService; - } - else + if (enableSandbox) { UserData.RegisterType(typeof(SafeLuaUserDataService)); _script.Globals["LuaUserData"] = _safeUserDataService; } + else + { + UserData.RegisterType(typeof(LuaUserDataService)); + _script.Globals["LuaUserData"] = _userDataService; + } Table eventsTable = new Table(_script); @@ -249,7 +249,7 @@ class LuaScriptManagementService : ILuaScriptManagementService, ILuaDataService _script.Globals["Events"] = eventsTable; _script.Globals["ExecutionNumber"] = 0; - _script.Globals["CSActive"] = GameMain.LuaCs.IsCsEnabled; + _script.Globals["CSActive"] = !enableSandbox; _script.Globals["SERVER"] = LuaCsSetup.IsServer; _script.Globals["CLIENT"] = LuaCsSetup.IsClient; @@ -257,7 +257,7 @@ class LuaScriptManagementService : ILuaScriptManagementService, ILuaDataService _defaultLuaRegistrar.RegisterAll(); } - public FluentResults.Result ExecuteLoadedScripts(ImmutableArray executionOrder) + public FluentResults.Result ExecuteLoadedScripts(ImmutableArray executionOrder, bool enableSandbox) { if (_isRunning) { @@ -266,7 +266,7 @@ class LuaScriptManagementService : ILuaScriptManagementService, ILuaDataService _loggerService.LogMessage("Executing Lua scripts"); - SetupEnvironment(); + SetupEnvironment(enableSandbox); var result = FluentResults.Result.Ok(); diff --git a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/_Services/PackageManagementService.cs b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/_Services/PackageManagementService.cs index 0edc75b45..a51ee79b6 100644 --- a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/_Services/PackageManagementService.cs +++ b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/_Services/PackageManagementService.cs @@ -248,7 +248,7 @@ public sealed class PackageManagementService : IPackageManagementService if (!luaScripts.IsDefaultOrEmpty) { - result.WithReasons(_luaScriptManagementService.ExecuteLoadedScripts(luaScripts); + result.WithReasons(_luaScriptManagementService.ExecuteLoadedScripts(luaScripts, enableSandbox: !executeCsAssemblies).Reasons); } foreach (var package in loadingOrderedPackages) diff --git a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/_Services/_Interfaces/ILuaScriptManagementService.cs b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/_Services/_Interfaces/ILuaScriptManagementService.cs index e62da94a3..2117046da 100644 --- a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/_Services/_Interfaces/ILuaScriptManagementService.cs +++ b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/_Services/_Interfaces/ILuaScriptManagementService.cs @@ -34,7 +34,7 @@ public interface ILuaScriptManagementService : IReusableService /// /// // [Required] - FluentResults.Result ExecuteLoadedScripts(ImmutableArray executionOrder); + FluentResults.Result ExecuteLoadedScripts(ImmutableArray executionOrder, bool enableSandbox); /// ///