using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using BepInEx;
using BepInEx.Logging;
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("FlowerManBoyKisser")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("FlowerManBoyKisser")]
[assembly: AssemblyCopyright("Copyright © 2025")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("7a06436e-e000-4441-b593-b1a10321cee7")]
[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 NevinMod
{
[BepInPlugin("nevinture.BrackenBoyKisser", "BrackenBoyKisser", "0.0.1")]
public class Plugin : BaseUnityPlugin
{
private const string GUID = "nevinture.BrackenBoyKisser";
private const string NAME = "BrackenBoyKisser";
private const string VERSION = "0.0.1";
public static Plugin instance;
private readonly Harmony harmony = new Harmony("nevinture.BrackenBoyKisser");
public static GameObject boykisserHead;
public static ManualLogSource logger = Logger.CreateLogSource("nevinture.BrackenBoyKisser");
private void Awake()
{
instance = this;
((BaseUnityPlugin)this).Logger.LogInfo((object)"nevinture.BrackenBoyKisser start loading");
string text = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "bracken_boykisser");
AssetBundle val = AssetBundle.LoadFromFile(text);
if ((Object)(object)val == (Object)null)
{
((BaseUnityPlugin)this).Logger.LogError((object)"Failed to load assets!");
}
boykisserHead = val.LoadAsset<GameObject>("Assets/Models/boykisser_head.prefab");
harmony.PatchAll();
((BaseUnityPlugin)this).Logger.LogInfo((object)"Patched method names:");
foreach (MethodBase patchedMethod in harmony.GetPatchedMethods())
{
((BaseUnityPlugin)this).Logger.LogInfo((object)patchedMethod.Name);
}
((BaseUnityPlugin)this).Logger.LogInfo((object)"plugin loaded successfully!");
}
}
}
namespace NevinMod.Patches
{
[HarmonyPatch(typeof(FlowermanAI))]
[HarmonyPatch("Start")]
internal class FlowermanPatch
{
private static void Postfix(FlowermanAI __instance)
{
//IL_007a: Unknown result type (might be due to invalid IL or missing references)
//IL_0090: Unknown result type (might be due to invalid IL or missing references)
//IL_00a6: Unknown result type (might be due to invalid IL or missing references)
//IL_00bc: Unknown result type (might be due to invalid IL or missing references)
//IL_0155: Unknown result type (might be due to invalid IL or missing references)
//IL_0162: Unknown result type (might be due to invalid IL or missing references)
//IL_017d: Unknown result type (might be due to invalid IL or missing references)
//IL_019e: Unknown result type (might be due to invalid IL or missing references)
//IL_01b4: Unknown result type (might be due to invalid IL or missing references)
//IL_01ca: Unknown result type (might be due to invalid IL or missing references)
//IL_01e0: Unknown result type (might be due to invalid IL or missing references)
if (((object)__instance).GetType() == typeof(FlowermanAI))
{
Plugin.logger.LogInfo((object)"FlowermanAI found");
Transform val = ((Component)__instance).transform.Find("FlowermanModel");
GameObject val2 = Object.Instantiate<GameObject>(Plugin.boykisserHead);
((Object)val2).name = "Boykisser_Head";
Transform transform = val2.transform;
Plugin.logger.LogInfo((object)"Before change");
Plugin.logger.LogInfo((object)transform.position);
Plugin.logger.LogInfo((object)transform.localPosition);
Plugin.logger.LogInfo((object)transform.localScale);
Plugin.logger.LogInfo((object)transform.rotation);
Transform val3 = val.Find("AnimContainer").Find("metarig").Find("Torso1")
.Find("Torso2")
.Find("Torso3")
.Find("Neck1")
.Find("Neck2")
.Find("Head1")
.Find("Head2");
val2.transform.SetParent(val3);
Plugin.logger.LogInfo((object)"Attached");
transform.localPosition = new Vector3(0f, 0f, 0f);
transform.eulerAngles = val3.eulerAngles;
transform.localScale = new Vector3(1f, 1f, 1f);
Plugin.logger.LogInfo((object)"After attach");
Plugin.logger.LogInfo((object)transform.position);
Plugin.logger.LogInfo((object)transform.localPosition);
Plugin.logger.LogInfo((object)transform.localScale);
Plugin.logger.LogInfo((object)transform.rotation);
}
}
}
}