From 5fee72e649472f09bd250262ec9e12ba5fab20f9 Mon Sep 17 00:00:00 2001 From: Nick Date: Fri, 9 Sep 2022 19:38:27 -0400 Subject: [PATCH] Patch CharacterDialogueTree to end conversation when attaching --- .../Patches/CharacterDialogueTreePatches.cs | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 NewHorizons/Patches/CharacterDialogueTreePatches.cs diff --git a/NewHorizons/Patches/CharacterDialogueTreePatches.cs b/NewHorizons/Patches/CharacterDialogueTreePatches.cs new file mode 100644 index 00000000..6493eba1 --- /dev/null +++ b/NewHorizons/Patches/CharacterDialogueTreePatches.cs @@ -0,0 +1,21 @@ +using HarmonyLib; + +namespace NewHorizons.Patches; + +[HarmonyPatch] +internal class CharacterDialogueTreePatches +{ + [HarmonyPrefix] + [HarmonyPatch(typeof(CharacterDialogueTree), nameof(CharacterDialogueTree.Awake))] + private static void CharacterDialogueTree_Awake(CharacterDialogueTree __instance) + { + GlobalMessenger.AddListener("AttachPlayerToPoint", (_) => __instance.EndConversation()); + } + + [HarmonyPrefix] + [HarmonyPatch(typeof(CharacterDialogueTree), nameof(CharacterDialogueTree.OnDestroy))] + private static void CharacterDialogueTree_OnDestroy(CharacterDialogueTree __instance) + { + GlobalMessenger.RemoveListener("AttachPlayerToPoint", (_) => __instance.EndConversation()); + } +}