using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using HarmonyLib;
using Il2Cppmadeinfairyland.fairyengine;
using Il2Cppmadeinfairyland.fairyengine.actor;
using Il2Cppmadeinfairyland.forsakenfrontiers.actor.player;
using InfiniteHealth;
using MelonLoader;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: MelonInfo(typeof(Mod), "InfiniteHealth", "1.0.2", "Matt", "https://thunderstore.io/c/forsaken-frontiers/p/Matt/InfiniteHealth/")]
[assembly: MelonGame("made in fairyland", "Forsaken Frontiers")]
[assembly: TargetFramework(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")]
[assembly: AssemblyCompany("InfiniteHealth")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("InfiniteHealth")]
[assembly: AssemblyTitle("InfiniteHealth")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace InfiniteHealth;
public class Mod : MelonMod
{
public override void OnInitializeMelon()
{
((MelonBase)this).HarmonyInstance.PatchAll(typeof(Patch));
((MelonBase)this).LoggerInstance.Msg("Initialized.");
}
}
internal class Patch
{
[HarmonyPatch(typeof(FFPlayer), "Initialize")]
[HarmonyPostfix]
private static void FFPlayerInitializePostfix(FFPlayer __instance)
{
((FairyObject)__instance).CanBeDetectedByVision = false;
((FairyActor)__instance).CanBeTargeted = false;
((FairyObject)__instance).Condition.invulnerable = true;
MelonLogger.Msg(((FairyObject)__instance).fairyName + " CanBeDetectedByVision: " + ((FairyObject)__instance).CanBeDetectedByVision);
MelonLogger.Msg(((FairyObject)__instance).fairyName + " CanBeTargeted: " + ((FairyActor)__instance).CanBeTargeted);
MelonLogger.Msg(((FairyObject)__instance).fairyName + " invulnerable: " + ((FairyObject)__instance).Condition.invulnerable);
}
}