mirror of
https://github.com/hykilpikonna/AquaDX.git
synced 2026-08-09 12:41:56 -05:00
110 lines
2.9 KiB
C#
110 lines
2.9 KiB
C#
using System.Linq;
|
|
using System.Reflection;
|
|
using AquaMai.Config.Attributes;
|
|
using AquaMai.Core.Attributes;
|
|
using HarmonyLib;
|
|
using Manager.Operation;
|
|
using MelonLoader;
|
|
|
|
namespace AquaMai.Mods.Fix;
|
|
|
|
[ConfigSection(exampleHidden: true, defaultOn: true)]
|
|
public class DisableReboot
|
|
{
|
|
private static bool forceOfflineTimerExists = false;
|
|
|
|
public static void OnBeforePatch()
|
|
{
|
|
forceOfflineTimerExists = typeof(MaintenanceTimer).GetProperty(
|
|
"ForceOfflineRemainingMinutes",
|
|
BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic) != null;
|
|
}
|
|
|
|
// IsAutoRebootNeeded
|
|
[HarmonyPrefix]
|
|
[HarmonyPatch(typeof(MaintenanceTimer), "IsAutoRebootNeeded")]
|
|
public static bool IsAutoRebootNeeded(ref bool __result)
|
|
{
|
|
__result = false;
|
|
return false;
|
|
}
|
|
|
|
// IsUnderServerMaintenance
|
|
[HarmonyPrefix]
|
|
[HarmonyPatch(typeof(MaintenanceTimer), "IsUnderServerMaintenance")]
|
|
public static bool IsUnderServerMaintenance(ref bool __result)
|
|
{
|
|
__result = false;
|
|
return false;
|
|
}
|
|
|
|
// RemainingMinutes
|
|
// Original: private int RemainingMinutes => (this._secServerMaintenance + 59) / 60;
|
|
[HarmonyPrefix]
|
|
[HarmonyPatch(typeof(MaintenanceTimer), "RemainingMinutes", MethodType.Getter)]
|
|
public static bool RemainingMinutes(ref int __result)
|
|
{
|
|
__result = 600;
|
|
return false;
|
|
}
|
|
|
|
// GetAutoRebootSec
|
|
[HarmonyPrefix]
|
|
[HarmonyPatch(typeof(MaintenanceTimer), "GetAutoRebootSec")]
|
|
public static bool GetAutoRebootSec(ref int __result)
|
|
{
|
|
__result = 60 * 60 * 10;
|
|
return false;
|
|
}
|
|
|
|
// GetServerMaintenanceSec
|
|
[HarmonyPrefix]
|
|
[HarmonyPatch(typeof(MaintenanceTimer), "GetServerMaintenanceSec")]
|
|
public static bool GetServerMaintenanceSec(ref int __result)
|
|
{
|
|
__result = 60 * 60 * 10;
|
|
return false;
|
|
}
|
|
|
|
// Execute
|
|
[HarmonyPrefix]
|
|
[HarmonyPatch(typeof(MaintenanceTimer), "Execute")]
|
|
public static bool Execute(MaintenanceTimer __instance)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
// UpdateTimes
|
|
[HarmonyPrefix]
|
|
[HarmonyPatch(typeof(MaintenanceTimer), "UpdateTimes")]
|
|
public static bool UpdateTimes(MaintenanceTimer __instance)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
[HarmonyPrefix]
|
|
[HarmonyPatch(typeof(ClosingTimer), "IsShowRemainingMinutes")]
|
|
public static bool IsShowRemainingMinutes(ref bool __result)
|
|
{
|
|
__result = false;
|
|
return false;
|
|
}
|
|
|
|
[HarmonyPrefix]
|
|
[HarmonyPatch(typeof(ClosingTimer), "IsClosed")]
|
|
public static bool IsClosed(ref bool __result)
|
|
{
|
|
__result = false;
|
|
return false;
|
|
}
|
|
|
|
[EnableIf(nameof(forceOfflineTimerExists))]
|
|
[HarmonyPrefix]
|
|
[HarmonyPatch(typeof(MaintenanceTimer), "ForceOfflineRemainingMinutes", MethodType.Getter)]
|
|
public static bool ForceOfflineRemainingMinutes(ref int __result)
|
|
{
|
|
__result = 600;
|
|
return false;
|
|
}
|
|
}
|