diff --git a/NewHorizons/Patches/AchievementPatches.cs b/NewHorizons/Patches/AchievementPatches.cs index f0a459ad..21d7a8d1 100644 --- a/NewHorizons/Patches/AchievementPatches.cs +++ b/NewHorizons/Patches/AchievementPatches.cs @@ -1,6 +1,7 @@ using HarmonyLib; using NewHorizons.OtherMods.AchievementsPlus.NH; using System.Linq; +using UnityEngine; namespace NewHorizons.Patches { @@ -16,5 +17,26 @@ namespace NewHorizons.Patches SuckedIntoLavaByTornadoAchievement.Earn(); } } + + [HarmonyPrefix] + [HarmonyPatch(typeof(ProbeDestructionDetector), nameof(ProbeDestructionDetector.FixedUpdate))] + public static bool ProbeDestructionDetector_FixedUpdate(ProbeDestructionDetector __instance) + { + if (__instance._activeVolumes.Count > 0 && __instance._safetyVolumes.Count == 0) + { + if (LoadManager.GetCurrentScene() == OWScene.EyeOfTheUniverse) + { + DialogueConditionManager.SharedInstance.SetConditionState("PROBE_ENTERED_EYE", conditionState: true); + Debug.Log("PROBE DESTROYED (ENTERED THE EYE)"); + } + else + Debug.Log("PROBE DESTROYED"); + + ProbeLostAchievement.Earn(); + Object.Destroy(__instance._probe.gameObject); + } + __instance.enabled = false; + return false; + } } }