using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using BepInEx;
using BepInEx.Logging;
using Fish;
using Fish_of_truth;
using Fishtest2;
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("Fishtest2")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Fishtest2")]
[assembly: AssemblyCopyright("Copyright © 2025")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("932d4fcc-6c19-4191-a2e0-0a7cdfd11530")]
[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 Fish_of_truth
{
[BepInPlugin("TieDev.FishOfTruth", "FishOfTruth", "1.0.0")]
public class FishOfTruth : BaseUnityPlugin
{
private const string GUID = "TieDev.FishOfTruth";
private const string Name = "FishOfTruth";
private const string version = "1.0.0";
public static FishOfTruth instance;
public static AssetBundle Fishsound;
public static List<AudioClip> Fishsound2;
private void Awake()
{
instance = this;
((BaseUnityPlugin)this).Logger.LogInfo((object)"FishStarting");
Harmony.CreateAndPatchAll(typeof(FishPatch), (string)null);
string directoryName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
Fishsound = AssetBundle.LoadFromFile(Path.Combine(directoryName, "sounds"));
if ((Object)(object)Fishsound == (Object)null)
{
Logger.CreateLogSource("fish").LogInfo((object)"Assets could not load");
return;
}
Logger.CreateLogSource("fish").LogInfo((object)"yay they loaded");
Fishsound2 = Fishsound.LoadAllAssets<AudioClip>().ToList();
}
}
}
namespace Fishtest2
{
[HarmonyPatch(typeof(GrabbableObject))]
public class FishPatch : MonoBehaviour
{
public static AssetBundle Fishsound;
public static List<AudioClip> Fishsound2 = FishOfTruth.Fishsound2;
public static FishPatch instance;
private void Awake()
{
instance = this;
Logger.CreateLogSource("fsih").LogInfo((object)"FishStarting");
Harmony.CreateAndPatchAll(typeof(FishyPatch), (string)null);
string directoryName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
Fishsound = AssetBundle.LoadFromFile(Path.Combine(directoryName, "sounds"));
if ((Object)(object)Fishsound == (Object)null)
{
Logger.CreateLogSource("fish").LogInfo((object)"Assets could not load");
return;
}
Logger.CreateLogSource("fish").LogInfo((object)"yay they loaded");
Fishsound2 = Fishsound.LoadAllAssets<AudioClip>().ToList();
AudioClip val = Fishsound2[0];
}
[HarmonyPatch("UseItemOnClient")]
[HarmonyPostfix]
private static void StartPatch(GrabbableObject __instance)
{
AudioClip val = Fishsound2[Random.Range(0, 42)];
AudioSource component = ((Component)__instance).gameObject.GetComponent<AudioSource>();
if (((Object)__instance.itemProperties).name == "FishTestProp")
{
Logger.CreateLogSource("Fishy").LogInfo((object)"fish");
if (!component.isPlaying)
{
component.PlayOneShot(val);
}
}
}
}
}
namespace Fish
{
[HarmonyPatch(typeof(GrabbableObject))]
public class FishyPatch
{
public static AssetBundle Bundle;
public static List<AudioClip> Fishsound2;
public static FishyPatch instance;
private void Awake()
{
instance = this;
Logger.CreateLogSource("fsih").LogInfo((object)"FishStarting");
Harmony.CreateAndPatchAll(typeof(FishyPatch), (string)null);
string directoryName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
Bundle = AssetBundle.LoadFromFile(Path.Combine(directoryName, "aww shit"));
if ((Object)(object)Bundle == (Object)null)
{
Logger.CreateLogSource("fish").LogInfo((object)"Assets could not load");
return;
}
Logger.CreateLogSource("fish").LogInfo((object)"yay they loaded");
Fishsound2 = Bundle.LoadAllAssets<AudioClip>().ToList();
AudioClip val = Fishsound2[0];
}
private static void playNoise(AudioSource __audioSource, AudioClip sounds)
{
AudioSource component = ((Component)__audioSource).gameObject.GetComponent<AudioSource>();
component.PlayOneShot(sounds);
}
[HarmonyPatch("UseItemOnClient")]
[HarmonyPostfix]
private static void StartPatch(GrabbableObject __instance)
{
if (((Object)__instance.itemProperties).name == "FishTestProp")
{
Logger.CreateLogSource("Fishy").LogInfo((object)"fish");
}
AudioClip val = Fishsound2.ElementAt(0);
AudioSource component = ((Component)__instance).gameObject.GetComponent<AudioSource>();
component.PlayOneShot(val);
}
}
}