0
0
mirror of https://github.com/sp-tarkov/modules.git synced 2025-02-13 09:50:43 -05:00
modules/project/SPT.SinglePlayer/Patches/RaidFix/FixQuestAchieveControllersPatch.cs

35 lines
1.3 KiB
C#

using System.Reflection;
using EFT;
using HarmonyLib;
using SPT.Reflection.Patching;
using SPT.Reflection.Utils;
namespace SPT.SinglePlayer.Patches.RaidFix
{
/// <summary>
/// this patch aims to allow achievements and quests to activate/change and finish whilst inraid
/// </summary>
public class FixQuestAchieveControllersPatch : ModulePatch
{
protected override MethodBase GetTargetMethod()
{
return AccessTools.Method(typeof(Player), nameof(Player.Init));
}
[PatchPostfix]
public static void PatchPostfix(Profile profile, InventoryControllerClass inventoryController, ref AbstractQuestControllerClass ____questController, ref AbstractAchievementControllerClass ____achievementsController)
{
var questController = new LocalQuestControllerClass(profile, inventoryController, PatchConstants.BackEndSession, true);
questController.Init();
questController.Run();
var achievementController =
new AchievementControllerClass(profile, inventoryController, PatchConstants.BackEndSession, true);
achievementController.Init();
achievementController.Run();
____questController = questController;
____achievementsController = achievementController;
}
}
}