Decompiled source of FDInvincibleCruiser v1.0.39

FDCruiserPatch.dll

Decompiled a month ago
using System;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using BepInEx;
using BepInEx.Logging;
using FDCruiserPatch.Patches;
using HarmonyLib;
using Microsoft.CodeAnalysis;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(/*Could not decode attribute arguments.*/)]
[assembly: TargetFramework(".NETCoreApp,Version=v7.0", FrameworkDisplayName = ".NET 7.0")]
[assembly: AssemblyCompany("FDCruiserPatch")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("FDCruiserPatch")]
[assembly: AssemblyTitle("FDCruiserPatch")]
[assembly: AssemblyVersion("1.0.0.0")]
[module: RefSafetyRules(11)]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Embedded]
	internal sealed class EmbeddedAttribute : System.Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[Embedded]
	[AttributeUsage(/*Could not decode attribute arguments.*/)]
	internal sealed class NullableAttribute : System.Attribute
	{
		public readonly byte[] NullableFlags;

		public NullableAttribute(byte P_0)
		{
			NullableFlags = new byte[1] { P_0 };
		}

		public NullableAttribute(byte[] P_0)
		{
			NullableFlags = P_0;
		}
	}
	[CompilerGenerated]
	[Embedded]
	[AttributeUsage(/*Could not decode attribute arguments.*/)]
	internal sealed class NullableContextAttribute : System.Attribute
	{
		public readonly byte Flag;

		public NullableContextAttribute(byte P_0)
		{
			Flag = P_0;
		}
	}
	[CompilerGenerated]
	[Embedded]
	[AttributeUsage(/*Could not decode attribute arguments.*/)]
	internal sealed class RefSafetyRulesAttribute : System.Attribute
	{
		public readonly int Version;

		public RefSafetyRulesAttribute(int P_0)
		{
			Version = P_0;
		}
	}
}
namespace FDCruiserPatch
{
	[BepInPlugin("FalloutDidi.FDCruiserPatch", "FDInvincibleCruiser", "1.0.39")]
	public class CruiserPatchBase : BaseUnityPlugin
	{
		private const string modGUID = "FalloutDidi.FDCruiserPatch";

		private const string modName = "FDInvincibleCruiser";

		private const string modVersion = "1.0.39";

		private readonly Harmony _harmony = new Harmony("FalloutDidi.FDCruiserPatch");

		[field: CompilerGenerated]
		[field: DebuggerBrowsable(/*Could not decode attribute arguments.*/)]
		private static CruiserPatchBase Instance
		{
			[CompilerGenerated]
			get;
			[CompilerGenerated]
			set;
		}

		public static ManualLogSource Log => ((BaseUnityPlugin)Instance).Logger;

		public CruiserPatchBase()
		{
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_0010: Expected O, but got Unknown
			Instance = this;
		}

		private void Awake()
		{
			Log.LogInfo((object)"FDInvincibleCruiser v1.0.39 is active. Applying patches...");
			ApplyPluginPatch();
			Log.LogInfo((object)"Patches successfully applied. Have fun with the cruiser.");
		}

		private void ApplyPluginPatch()
		{
			_harmony.PatchAll(typeof(VehicleControllerDestroyPatch));
			_harmony.PatchAll(typeof(VehicleControllerDamagePatch));
			_harmony.PatchAll(typeof(VehicleControllerUpdatePatch));
		}
	}
}
namespace FDCruiserPatch.Patches
{
	[HarmonyPatch(typeof(VehicleController))]
	public class VehicleControllerDamagePatch
	{
		[HarmonyPatch("DamagePlayerInVehicle")]
		[HarmonyPrefix]
		private static bool DamagePlayerPatch()
		{
			return false;
		}
	}
	[HarmonyPatch(typeof(VehicleController))]
	public class VehicleControllerDestroyPatch
	{
		[HarmonyPatch("DestroyCar")]
		[HarmonyPrefix]
		private static bool DestroyCarPatch()
		{
			return false;
		}
	}
	[HarmonyPatch(typeof(VehicleController))]
	public class VehicleControllerUpdatePatch
	{
		[HarmonyPatch("Update")]
		[HarmonyPostfix]
		private static void InvincibleCarPatch(ref int ___baseCarHP, ref int ___carHP, ref bool ___carDestroyed)
		{
			___baseCarHP = 50;
			___carHP = 50;
			___carDestroyed = false;
		}
	}
}