diff --git a/project/SPT.SinglePlayer/Patches/RaidFix/SmokeGrenadeFuseSoundFixPatch.cs b/project/SPT.SinglePlayer/Patches/RaidFix/SmokeGrenadeFuseSoundFixPatch.cs deleted file mode 100644 index 3d975a8..0000000 --- a/project/SPT.SinglePlayer/Patches/RaidFix/SmokeGrenadeFuseSoundFixPatch.cs +++ /dev/null @@ -1,58 +0,0 @@ -using System.Collections.Generic; -using System.Linq; -using System.Reflection; -using System.Reflection.Emit; -using SPT.Reflection.CodeWrapper; -using SPT.Reflection.Patching; -using HarmonyLib; -using UnityEngine; - -namespace SPT.SinglePlayer.Patches.RaidFix -{ - /// - /// Fixes an issue with smoke grenades not playing the fuse popping sound when thrown - /// - public class SmokeGrenadeFuseSoundFixPatch : ModulePatch - { - protected override MethodBase GetTargetMethod() - { - return AccessTools.Method(typeof(GrenadeEmission), nameof(GrenadeEmission.StartEmission)); - } - - [PatchTranspiler] - public static IEnumerable PatchTranspile(IEnumerable instructions) - { - var codes = new List(instructions); - var searchCode = new CodeInstruction(OpCodes.Callvirt, AccessTools.Method(typeof(AudioClip), "get_length")); - var searchIndex = -1; - - for (var i = 0; i < codes.Count; i++) - { - if (codes[i].opcode == searchCode.opcode && codes[i].operand == searchCode.operand) - { - searchIndex = i; - break; - } - } - - if (searchIndex == -1) - { - Logger.LogError($"{nameof(SmokeGrenadeFuseSoundFixPatch)} failed: Could not find reference code."); - return instructions; - } - - var newCodes = CodeGenerator.GenerateInstructions(new List - { - new Code(OpCodes.Ldarg_0), - new Code(OpCodes.Ldfld, typeof(GrenadeEmission), "betterSource_0"), - new Code(OpCodes.Ldfld, typeof(BetterSource), "source1"), - new Code(OpCodes.Callvirt, typeof(AudioSource), "Play") - }); - - searchIndex -= 4; - - codes.InsertRange(searchIndex, newCodes); - return codes.AsEnumerable(); - } - } -} \ No newline at end of file diff --git a/project/SPT.SinglePlayer/SPTSingleplayerPlugin.cs b/project/SPT.SinglePlayer/SPTSingleplayerPlugin.cs index 0fb0546..834c270 100644 --- a/project/SPT.SinglePlayer/SPTSingleplayerPlugin.cs +++ b/project/SPT.SinglePlayer/SPTSingleplayerPlugin.cs @@ -28,7 +28,6 @@ namespace SPT.SinglePlayer //new FixQuestAchieveControllersPatch().Enable(); // Likely not needed, if cheevos don't appear, revisit patch // Still need - // new SmokeGrenadeFuseSoundFixPatch().Enable(); TODO: refactor as it causes exceptions to be thrown when grenade is tossed by player new ScavExperienceGainPatch().Enable(); new DisablePMCExtractsForScavsPatch().Enable(); new ScavExfilPatch().Enable();