diff --git a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/LuaCsHook.cs b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/LuaCsHook.cs index c542a9272..0516f6344 100644 --- a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/LuaCsHook.cs +++ b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/LuaCsHook.cs @@ -327,7 +327,11 @@ namespace Barotrauma if (hookPrefixMethods.TryGetValue(funcAddr, out HashSet<(string, LuaCsFunc, ACsMod)> methodSet)) { - methodSet.RemoveWhere(tuple => tuple.Item1 == identifier); + if (identifier != "") + { + methodSet.RemoveWhere(tuple => tuple.Item1 == identifier); + } + methodSet.Add((identifier, patch, owner)); } else if (patch != null) @@ -355,7 +359,11 @@ namespace Barotrauma if (hookPostfixMethods.TryGetValue(funcAddr, out HashSet<(string, LuaCsFunc, ACsMod)> methodSet)) { - methodSet.RemoveWhere(tuple => tuple.Item1 == identifier); + if (identifier != "") + { + methodSet.RemoveWhere(tuple => tuple.Item1 == identifier); + } + methodSet.Add((identifier, patch, owner)); } else if (patch != null) diff --git a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/LuaCsHookCompat.cs b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/LuaCsHookCompat.cs index e3795e7fc..dee8089e3 100644 --- a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/LuaCsHookCompat.cs +++ b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/LuaCsHookCompat.cs @@ -185,7 +185,11 @@ namespace Barotrauma if (compatHookPrefixMethods.TryGetValue(funcAddr, out HashSet<(string, LuaCsPatch, ACsMod)> methodSet)) { - methodSet.RemoveWhere(tuple => tuple.Item1 == identifier); + if (identifier != "") + { + methodSet.RemoveWhere(tuple => tuple.Item1 == identifier); + } + methodSet.Add((identifier, patch, owner)); } else if (patch != null) @@ -213,7 +217,11 @@ namespace Barotrauma if (compatHookPostfixMethods.TryGetValue(funcAddr, out HashSet<(string, LuaCsPatch, ACsMod)> methodSet)) { - methodSet.RemoveWhere(tuple => tuple.Item1 == identifier); + if (identifier != "") + { + methodSet.RemoveWhere(tuple => tuple.Item1 == identifier); + } + methodSet.Add((identifier, patch, owner)); } else if (patch != null)