diff --git a/QSB/Animation/NPC/Patches/CharacterAnimationPatches.cs b/QSB/Animation/NPC/Patches/CharacterAnimationPatches.cs index 57cc327d..dca77c3f 100644 --- a/QSB/Animation/NPC/Patches/CharacterAnimationPatches.cs +++ b/QSB/Animation/NPC/Patches/CharacterAnimationPatches.cs @@ -116,14 +116,12 @@ namespace QSB.Animation.NPC.Patches [HarmonyPrefix] [HarmonyPatch(typeof(FacePlayerWhenTalking), nameof(FacePlayerWhenTalking.OnStartConversation))] - public static bool OnStartConversation( - FacePlayerWhenTalking __instance, - CharacterDialogueTree ____dialogueTree) + public static bool OnStartConversation(FacePlayerWhenTalking __instance) { - var playerId = ConversationManager.Instance.GetPlayerTalkingToTree(____dialogueTree); + var playerId = ConversationManager.Instance.GetPlayerTalkingToTree(__instance._dialogueTree); if (playerId == uint.MaxValue) { - DebugLog.ToConsole($"Error - No player talking to {____dialogueTree.name}!", MessageType.Error); + DebugLog.ToConsole($"Error - No player talking to {__instance._dialogueTree.name}!", MessageType.Error); return false; } @@ -134,7 +132,7 @@ namespace QSB.Animation.NPC.Patches var angle = Vector3.Angle(__instance.transform.forward, vector2) * Mathf.Sign(Vector3.Dot(vector2, __instance.transform.right)); var axis = __instance.transform.parent.InverseTransformDirection(__instance.transform.up); var lhs = Quaternion.AngleAxis(angle, axis); - __instance.GetType().GetMethod("FaceLocalRotation", BindingFlags.NonPublic | BindingFlags.Instance).Invoke(__instance, new object[] { lhs * __instance.transform.localRotation }); + __instance.FaceLocalRotation(lhs * __instance.transform.localRotation); return false; } @@ -173,22 +171,18 @@ namespace QSB.Animation.NPC.Patches [HarmonyPrefix] [HarmonyPatch(typeof(KidRockController), nameof(KidRockController.Update))] - public static bool UpdateReplacement( - KidRockController __instance, - bool ____throwingRock, - CharacterDialogueTree ____dialogueTree, - float ____nextThrowTime) + public static bool UpdateReplacement(KidRockController __instance) { if (!WorldObjectManager.AllReady) { return true; } - var qsbObj = QSBWorldSync.GetWorldObjects().First(x => x.GetDialogueTree() == ____dialogueTree); + var qsbObj = QSBWorldSync.GetWorldObjects().First(x => x.GetDialogueTree() == __instance._dialogueTree); - if (!____throwingRock && !qsbObj.InConversation() && Time.time > ____nextThrowTime) + if (!__instance._throwingRock && !qsbObj.InConversation() && Time.time > __instance._nextThrowTime) { - __instance.GetType().GetMethod("StartRockThrow", BindingFlags.NonPublic | BindingFlags.Instance).Invoke(__instance, null); + __instance.StartRockThrow(); } return false; diff --git a/QSB/Animation/NPC/WorldObjects/QSBTravelerController.cs b/QSB/Animation/NPC/WorldObjects/QSBTravelerController.cs index 7c8927e7..9914aa3c 100644 --- a/QSB/Animation/NPC/WorldObjects/QSBTravelerController.cs +++ b/QSB/Animation/NPC/WorldObjects/QSBTravelerController.cs @@ -5,9 +5,9 @@ namespace QSB.Animation.NPC.WorldObjects internal class QSBTravelerController : NpcAnimController { public override CharacterDialogueTree GetDialogueTree() - => AttachedObject.GetValue("_dialogueSystem"); + => AttachedObject._dialogueSystem; public override bool InConversation() - => AttachedObject.GetValue("_talking"); + => AttachedObject._talking; } }