From d41c19a17628b8eefabde5580944f76f02d1bd0a Mon Sep 17 00:00:00 2001
From: XtraCube <72575280+XtraCube@users.noreply.github.com>
Date: Fri, 30 May 2025 15:45:59 -0400
Subject: [PATCH] Adjust kill anim patch for inlining
---
MiraAPI/Patches/Events/KillAnimationPatches.cs | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/MiraAPI/Patches/Events/KillAnimationPatches.cs b/MiraAPI/Patches/Events/KillAnimationPatches.cs
index 5e7b3ef..9c6e76e 100644
--- a/MiraAPI/Patches/Events/KillAnimationPatches.cs
+++ b/MiraAPI/Patches/Events/KillAnimationPatches.cs
@@ -14,13 +14,17 @@ public static class KillAnimationPatches
///
/// Used to trigger the .
///
- /// The killer.
- /// The target.
[HarmonyPostfix]
- [HarmonyPatch(typeof(KillAnimation), nameof(KillAnimation.CoPerformKill))]
- public static void KillAnimPostfix(PlayerControl source, PlayerControl target)
+ [HarmonyPatch(typeof(KillAnimation), nameof(KillAnimation._CoPerformKill_d__2.MoveNext))]
+ public static void KillAnimPostfix(KillAnimation._CoPerformKill_d__2 __instance)
{
- var afterMurderEvent = new AfterMurderEvent(source, target, Helpers.GetBodyById(target.PlayerId));
+ // Checking if state is -1 to wait for the end of coroutine.
+ if (__instance.__1__state != -1)
+ {
+ return;
+ }
+
+ var afterMurderEvent = new AfterMurderEvent(__instance.source, __instance.target, Helpers.GetBodyById(__instance.target.PlayerId));
MiraEventManager.InvokeEvent(afterMurderEvent);
}
}