diff --git a/Barotrauma/BarotraumaShared/SharedSource/Characters/Health/Afflictions/AfflictionHusk.cs b/Barotrauma/BarotraumaShared/SharedSource/Characters/Health/Afflictions/AfflictionHusk.cs index 5203f1728..b902c04cb 100644 --- a/Barotrauma/BarotraumaShared/SharedSource/Characters/Health/Afflictions/AfflictionHusk.cs +++ b/Barotrauma/BarotraumaShared/SharedSource/Characters/Health/Afflictions/AfflictionHusk.cs @@ -235,13 +235,14 @@ namespace Barotrauma if (Prefab is AfflictionPrefabHusk huskPrefab) { - if (huskPrefab.ControlHusk) + if (huskPrefab.ControlHusk || GameMain.Lua.game.enableControlHusk) { #if SERVER var client = GameMain.Server?.ConnectedClients.FirstOrDefault(c => c.CharacterInfo.Character == character); if (client != null) { GameMain.Server.SetClientCharacter(client, husk); + GameMain.Lua.hook.Call("husk.clientControlHusk", new object[] { client, husk }); } #else if (!character.IsRemotelyControlled && character == Character.Controlled) diff --git a/Barotrauma/BarotraumaShared/SharedSource/Lua/LuaClasses.cs b/Barotrauma/BarotraumaShared/SharedSource/Lua/LuaClasses.cs index 698967aec..96340ee7f 100644 --- a/Barotrauma/BarotraumaShared/SharedSource/Lua/LuaClasses.cs +++ b/Barotrauma/BarotraumaShared/SharedSource/Lua/LuaClasses.cs @@ -112,6 +112,7 @@ namespace Barotrauma public bool overrideSignalRadio = false; public bool disableSpamFilter = false; public bool disableDisconnectCharacter = false; + public bool enableControlHusk = false; public bool RoundStarted { @@ -188,6 +189,12 @@ namespace Barotrauma disableDisconnectCharacter = o; } + + public void EnableControlHusk(bool o) + { + enableControlHusk = o; + } + public static void Explode(Vector2 pos, float range = 100, float force = 30, float damage = 30, float structureDamage = 30, float itemDamage = 30, float empStrength = 0, float ballastFloraStrength = 0) { new Explosion(range, force, damage, structureDamage, itemDamage, empStrength, ballastFloraStrength).Explode(pos, null);