diff --git a/project/Aki.SinglePlayer/Patches/MainMenu/AmmoUsedCounterPatch.cs b/project/Aki.SinglePlayer/Patches/MainMenu/AmmoUsedCounterPatch.cs index 2833fc6..8b17ab5 100644 --- a/project/Aki.SinglePlayer/Patches/MainMenu/AmmoUsedCounterPatch.cs +++ b/project/Aki.SinglePlayer/Patches/MainMenu/AmmoUsedCounterPatch.cs @@ -2,7 +2,6 @@ using EFT; using HarmonyLib; using System.Reflection; -using Comfort.Common; namespace Aki.SinglePlayer.Patches.MainMenu { @@ -12,20 +11,16 @@ namespace Aki.SinglePlayer.Patches.MainMenu protected override MethodBase GetTargetMethod() { - return AccessTools.Method(typeof(GameWorld), nameof(GameWorld.OnGameStarted)); + return AccessTools.Method(typeof(Player), nameof(Player.OnMakingShot)); } [PatchPostfix] - private static void PatchPostfix() + private static void PatchPostfix(Player __instance) { - player = Singleton.Instance.MainPlayer; - var firearmsController = player.HandsController as Player.FirearmController; - firearmsController.OnShot += Hook; - } - - private static void Hook() - { - player.Profile.EftStats.SessionCounters.AddLong(1L, SessionCounterTypesAbstractClass.AmmoUsed); + if (__instance.IsYourPlayer) + { + __instance.Profile.EftStats.SessionCounters.AddLong(1L, SessionCounterTypesAbstractClass.AmmoUsed); + } } } } diff --git a/project/Aki.SinglePlayer/Patches/MainMenu/ArmorDamageCounterPatch.cs b/project/Aki.SinglePlayer/Patches/MainMenu/ArmorDamageCounterPatch.cs index 68b3b9f..56e912f 100644 --- a/project/Aki.SinglePlayer/Patches/MainMenu/ArmorDamageCounterPatch.cs +++ b/project/Aki.SinglePlayer/Patches/MainMenu/ArmorDamageCounterPatch.cs @@ -17,7 +17,7 @@ namespace Aki.SinglePlayer.Patches.MainMenu [PatchPostfix] private static void PatchPostfix(DamageInfo damageInfo) { - if (!damageInfo.Player.iPlayer.IsYourPlayer) + if (damageInfo.Player == null || damageInfo.Player.iPlayer == null || !damageInfo.Player.iPlayer.IsYourPlayer) { return; }