using System;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using BepInEx;
using GameNetcodeStuff;
using HarmonyLib;
using UnityEngine;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("FunMod")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("FunMod")]
[assembly: AssemblyCopyright("Copyright © 2024")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("f6edd938-0915-44b7-aaa0-becf242648ec")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace FunMod;
[BepInPlugin("co.altermodding.funmod", "Fun Mod :)", "1.0.0.0")]
public class BirdPatcher : BaseUnityPlugin
{
public const string pluginGuid = "co.altermodding.funmod";
public const string pluginName = "Fun Mod :)";
public const string pluginVersion = "1.0.0.0";
public void Awake()
{
//IL_0017: Unknown result type (might be due to invalid IL or missing references)
//IL_001d: Expected O, but got Unknown
//IL_004f: Unknown result type (might be due to invalid IL or missing references)
//IL_005c: Expected O, but got Unknown
((BaseUnityPlugin)this).Logger.LogInfo((object)"Fun Mod :) has started");
Harmony val = new Harmony("co.altermodding.funmod");
MethodInfo methodInfo = AccessTools.Method(typeof(FlowerSnakeEnemy), "MainSnakeActAsConductor", (Type[])null, (Type[])null);
MethodInfo methodInfo2 = AccessTools.Method(typeof(Patches), "FlowerSnakeEnemy_MainSnakeActAsConductor_Postfix", (Type[])null, (Type[])null);
val.Patch((MethodBase)methodInfo, (HarmonyMethod)null, new HarmonyMethod(methodInfo2), (HarmonyMethod)null, (HarmonyMethod)null, (HarmonyMethod)null);
}
}
public class Patches
{
public static void FlowerSnakeEnemy_MainSnakeActAsConductor_Postfix(ref FlowerSnakeEnemy __instance, bool ___flapping)
{
//IL_0020: Unknown result type (might be due to invalid IL or missing references)
//IL_0031: Unknown result type (might be due to invalid IL or missing references)
//IL_003b: Unknown result type (might be due to invalid IL or missing references)
//IL_0040: Unknown result type (might be due to invalid IL or missing references)
//IL_0045: Unknown result type (might be due to invalid IL or missing references)
//IL_0056: Unknown result type (might be due to invalid IL or missing references)
//IL_0078: Unknown result type (might be due to invalid IL or missing references)
if ((Object)(object)__instance.clingingToPlayer != (Object)null && ___flapping)
{
PlayerControllerB clingingToPlayer = __instance.clingingToPlayer;
clingingToPlayer.externalForces += ((Component)__instance.clingingToPlayer).transform.up * 200f;
if (((Component)__instance.clingingToPlayer).transform.position.y > 135f)
{
Landmine.SpawnExplosion(((Component)__instance.clingingToPlayer).transform.position, false, 10f, 15f, 100, 0f, (GameObject)null);
}
}
}
}