From fe03f56217733707e23b0882fe35d32f86bb4d9a Mon Sep 17 00:00:00 2001 From: Evil Factory <36804725+evilfactory@users.noreply.github.com> Date: Sat, 26 Mar 2022 14:32:13 -0300 Subject: [PATCH] Oiltanker's special hook (adds hook gameSession.getSessionCrewCharacters) --- .../SharedSource/GameSession/GameSession.cs | 7 +++++++ .../SharedSource/Lua/LuaClasses/LuaClasses.cs | 10 ++++++++++ 2 files changed, 17 insertions(+) diff --git a/Barotrauma/BarotraumaShared/SharedSource/GameSession/GameSession.cs b/Barotrauma/BarotraumaShared/SharedSource/GameSession/GameSession.cs index 64f517272..e57cbd9ef 100644 --- a/Barotrauma/BarotraumaShared/SharedSource/GameSession/GameSession.cs +++ b/Barotrauma/BarotraumaShared/SharedSource/GameSession/GameSession.cs @@ -716,6 +716,13 @@ namespace Barotrauma public static IEnumerable GetSessionCrewCharacters() { + LuaResult result = new LuaResult(GameMain.Lua.hook.Call("gameSession.getSessionCrewCharacters")); + + if (!result.IsNull()) + { + return result.DynValue().ToObject>(); + } + #if SERVER return GameMain.Server.ConnectedClients.Select(c => c.Character).Where(c => c?.Info != null && !c.IsDead); #else diff --git a/Barotrauma/BarotraumaShared/SharedSource/Lua/LuaClasses/LuaClasses.cs b/Barotrauma/BarotraumaShared/SharedSource/Lua/LuaClasses/LuaClasses.cs index 886373561..816de457e 100644 --- a/Barotrauma/BarotraumaShared/SharedSource/Lua/LuaClasses/LuaClasses.cs +++ b/Barotrauma/BarotraumaShared/SharedSource/Lua/LuaClasses/LuaClasses.cs @@ -416,4 +416,14 @@ public class LuaResult return null; } + + public DynValue DynValue() + { + if (result is DynValue dynValue) + { + return dynValue; + } + + return null; + } } \ No newline at end of file