}
[HarmonyPatch(typeof(ShipStatus), nameof(ShipStatus.KMPKPPGPNIH))]
- class CheckEndCriteriaPatch{
-
+ class CheckEndCriteriaPatch {
public static bool Prefix(ShipStatus __instance) {
if (!GameData.Instance) return false;
+ if (FreePlayFix.isInFreePlay) // if (__instance.DummyLocations != null && __instance.DummyLocations.Count > 0)
+ return true; // I don't know how to get from ShipStatus GameModes.FreePlay
var statistics = new PlayerStatistics(__instance);
if (CheckAndEndGameForChildLose(__instance)) return false;
if (CheckAndEndGameForJesterWin(__instance)) return false;
--- /dev/null
+using System;\r
+using System.Linq;\r
+using HarmonyLib;\r
+using UnityEngine;\r
+\r
+namespace TheOtherRoles {\r
+ [HarmonyPatch]\r
+ public static class FreePlayFix {\r
+ public static bool isInFreePlay = false;\r
+\r
+ [HarmonyPatch(typeof(ShipStatus), nameof(ShipStatus.Begin))]\r
+ public static class ShipStatusBeginPatch { \r
+ public static void Prefix(ShipStatus __instance) {\r
+ System.Console.WriteLine("Begin");\r
+ isInFreePlay = UnityEngine.Object.FindObjectsOfType<SystemConsole>().ToList()\r
+ .Find(console => console.name == "TaskAddConsole");\r
+ } \r
+ }\r
+ }\r
+}
\ No newline at end of file