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/Progression/LighthouseTransmitterPatch.cs
2024-05-21 19:10:17 +01:00

42 lines
1.3 KiB
C#

using SPT.Reflection.Patching;
using Comfort.Common;
using EFT;
using System.Reflection;
using HarmonyLib;
namespace SPT.SinglePlayer.Patches.Progression
{
public class LighthouseTransmitterPatch : ModulePatch
{
protected override MethodBase GetTargetMethod()
{
return AccessTools.Method(typeof(RadioTransmitterHandlerClass), nameof(RadioTransmitterHandlerClass.method_4));
}
[PatchPrefix]
private static bool PatchPrefix(RadioTransmitterHandlerClass __instance)
{
var gameWorld = Singleton<GameWorld>.Instance;
if (gameWorld == null) return false;
var transmitter = __instance.RecodableComponent;
if (transmitter.IsEncoded)
{
transmitter.SetStatus(RadioTransmitterStatus.Green);
}
else if (gameWorld.MainPlayer.IsAgressorInLighthouseTraderZone)
{
// this might need to be tested and changed as I don't think this currently is affect upon killing bosses
transmitter.SetStatus(RadioTransmitterStatus.Yellow);
}
else
{
transmitter.SetStatus(RadioTransmitterStatus.Red);
}
return false;
}
}
}