diff --git a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/Lua/LuaClasses/LuaGame.cs b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/Lua/LuaClasses/LuaGame.cs index e7ab3ce3d..6abc57e26 100644 --- a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/Lua/LuaClasses/LuaGame.cs +++ b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/Lua/LuaClasses/LuaGame.cs @@ -67,12 +67,19 @@ namespace Barotrauma set { MapEntity.GapUpdateInterval = value; } } + public int poweredUpdateInterval + { + get { return MapEntity.PoweredUpdateInterval; } + set { MapEntity.PoweredUpdateInterval = value; } + } + public int characterUpdateInterval { get { return Character.CharacterUpdateInterval; } set { Character.CharacterUpdateInterval = value; } } + public HashSet updatePriorityItems = new HashSet(); public HashSet updatePriorityCharacters = new HashSet(); diff --git a/Barotrauma/BarotraumaShared/SharedSource/Map/MapEntity.cs b/Barotrauma/BarotraumaShared/SharedSource/Map/MapEntity.cs index ec8e6a735..c400e96db 100644 --- a/Barotrauma/BarotraumaShared/SharedSource/Map/MapEntity.cs +++ b/Barotrauma/BarotraumaShared/SharedSource/Map/MapEntity.cs @@ -21,6 +21,7 @@ namespace Barotrauma public static int MapEntityUpdateInterval = 1; public static int GapUpdateInterval = 4; + public static int PoweredUpdateInterval = 1; private static int mapEntityUpdateTick; /// @@ -591,9 +592,13 @@ namespace Barotrauma } } + if (mapEntityUpdateTick % PoweredUpdateInterval == 0) + { + Powered.UpdatePower(deltaTime * PoweredUpdateInterval); + } + if (mapEntityUpdateTick % MapEntityUpdateInterval == 0) { - Powered.UpdatePower(deltaTime * MapEntityUpdateInterval); foreach (Item item in Item.ItemList) { if (GameMain.LuaCs.Game.updatePriorityItems.Contains(item)) continue;