37 lines
1.0 KiB
C#
Raw Normal View History

2022-05-08 01:48:04 +03:00
using Aki.Reflection.Patching;
using Comfort.Common;
using EFT;
using System.Linq;
using System.Reflection;
using UnityEngine;
namespace SamSWAT.HeliCrash
{
public class HeliCrashPatch : ModulePatch
{
protected override MethodBase GetTargetMethod()
{
return typeof(GameWorld).GetMethod("OnGameStarted", BindingFlags.Public | BindingFlags.Instance);
}
[PatchPostfix]
public static void PatchPostFix()
{
var gameWorld = Singleton<GameWorld>.Instance;
2022-06-26 18:50:55 +03:00
var crashAvailable = LocationScene.GetAll<AirdropPoint>().Any();
string location = gameWorld.RegisteredPlayers[0].Location;
2022-05-08 01:48:04 +03:00
2022-06-26 18:50:55 +03:00
if (gameWorld != null && crashAvailable && WillHeliCrash())
2022-05-08 01:48:04 +03:00
{
2022-06-26 18:50:55 +03:00
var heliCrash = gameWorld.gameObject.AddComponent<HeliCrash>();
2022-05-08 01:48:04 +03:00
heliCrash.Init(location);
}
}
public static bool WillHeliCrash()
{
return Random.Range(0, 100) <= Plugin.HeliCrashChance.Value;
}
}
}