mirror of
https://github.com/sp-tarkov/modules.git
synced 2025-02-13 01:30:45 -05:00
Removed unnecessary patch SmokeGrenadeFuseSoundFixPatch
This commit is contained in:
parent
f85669e204
commit
94fea58c44
@ -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
|
||||
{
|
||||
/// <summary>
|
||||
/// Fixes an issue with smoke grenades not playing the fuse popping sound when thrown
|
||||
/// </summary>
|
||||
public class SmokeGrenadeFuseSoundFixPatch : ModulePatch
|
||||
{
|
||||
protected override MethodBase GetTargetMethod()
|
||||
{
|
||||
return AccessTools.Method(typeof(GrenadeEmission), nameof(GrenadeEmission.StartEmission));
|
||||
}
|
||||
|
||||
[PatchTranspiler]
|
||||
public static IEnumerable<CodeInstruction> PatchTranspile(IEnumerable<CodeInstruction> instructions)
|
||||
{
|
||||
var codes = new List<CodeInstruction>(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<Code>
|
||||
{
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
@ -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();
|
||||
|
Loading…
x
Reference in New Issue
Block a user