Files
Nitrox/NitroxPatcher/Patches/Dynamic/NoCostConsoleCommand_OnConsoleCommand_bobthebuilder_Patch.cs
2025-07-06 00:23:46 +02:00

35 lines
1.3 KiB
C#

using System.Reflection;
using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
/// <summary>
/// Prevents "bobthebuilder" command from enabling "fasthatch" and "fastgrow", since both commands are managed by the server.
/// Thus, it attempts to enable the cheats that are currently disabled by sending the related command to the server.
/// </summary>
public sealed partial class NoCostConsoleCommand_OnConsoleCommand_bobthebuilder_Patch : NitroxPatch, IDynamicPatch
{
public static readonly MethodInfo TARGET_METHOD = Reflect.Method((NoCostConsoleCommand t) => t.OnConsoleCommand_bobthebuilder(default));
public static void Prefix(out (bool, bool) __state)
{
__state = (NoCostConsoleCommand.main.fastHatchCheat, NoCostConsoleCommand.main.fastGrowCheat);
}
public static void Postfix((bool, bool) __state, NotificationCenter.Notification n)
{
NoCostConsoleCommand.main.fastHatchCheat = __state.Item1;
NoCostConsoleCommand.main.fastGrowCheat = __state.Item2;
// Requesting enabling of the cheats if they're currently disabled
if (!__state.Item1)
{
NoCostConsoleCommand.main.OnConsoleCommand_fasthatch(n);
}
if (!__state.Item2)
{
NoCostConsoleCommand.main.OnConsoleCommand_fastgrow(n);
}
}
}