using System;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using BepInEx;
using BepInEx.Logging;
using HarmonyLib;
using LethalLib.Modules;
using Microsoft.CodeAnalysis;
using UnityEngine;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")]
[assembly: AssemblyCompany("tonyhawq")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("tonyhawq")]
[assembly: AssemblyTitle("tonyhawq")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace Microsoft.CodeAnalysis
{
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
internal sealed class EmbeddedAttribute : Attribute
{
}
}
namespace System.Runtime.CompilerServices
{
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)]
internal sealed class NullableAttribute : 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]
[Microsoft.CodeAnalysis.Embedded]
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)]
internal sealed class NullableContextAttribute : Attribute
{
public readonly byte Flag;
public NullableContextAttribute(byte P_0)
{
Flag = P_0;
}
}
}
namespace Plugin
{
[BepInPlugin("rjw.tonyhawq", "tonyhawq", "0.0.1")]
public class Plugin : BaseUnityPlugin
{
public Item? tonyhawq = null;
public Item? Bergerg = null;
public Item? Lizardking = null;
public Item? GoldenGuggy = null;
public Item? die_amond = null;
public Harmony? harmony = new Harmony("rjw.tonyhawq");
private const string GUID = "rjw.tonyhawq";
private const string NAME = "tonyhawq";
private const string VERSION = "0.0.1";
public static Plugin instance;
public ManualLogSource GetLogSource()
{
return ((BaseUnityPlugin)this).Logger;
}
private void Awake()
{
instance = this;
string text = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "tonyhawq");
AssetBundle val = AssetBundle.LoadFromFile(text);
tonyhawq = val.LoadAsset<Item>("Assets/tonyhawqItem.asset");
Bergerg = val.LoadAsset<Item>("Assets/BergergItem.asset");
Lizardking = val.LoadAsset<Item>("Assets/LizardItem.asset");
die_amond = val.LoadAsset<Item>("Assets/dieamondItem.asset");
GoldenGuggy = val.LoadAsset<Item>("Assets/GolderGuggy.asset");
Utilities.FixMixerGroups(tonyhawq.spawnPrefab);
Items.RegisterScrap(tonyhawq, 10, (LevelTypes)(-1));
NetworkPrefabs.RegisterNetworkPrefab(tonyhawq.spawnPrefab);
Utilities.FixMixerGroups(Bergerg.spawnPrefab);
Items.RegisterScrap(Bergerg, 10, (LevelTypes)(-1));
NetworkPrefabs.RegisterNetworkPrefab(Bergerg.spawnPrefab);
Utilities.FixMixerGroups(Lizardking.spawnPrefab);
Items.RegisterScrap(Lizardking, 100, (LevelTypes)(-1));
NetworkPrefabs.RegisterNetworkPrefab(Lizardking.spawnPrefab);
Utilities.FixMixerGroups(die_amond.spawnPrefab);
Items.RegisterScrap(die_amond, 50, (LevelTypes)(-1));
NetworkPrefabs.RegisterNetworkPrefab(die_amond.spawnPrefab);
Utilities.FixMixerGroups(GoldenGuggy.spawnPrefab);
Items.RegisterScrap(GoldenGuggy, 1, (LevelTypes)4096);
NetworkPrefabs.RegisterNetworkPrefab(GoldenGuggy.spawnPrefab);
((BaseUnityPlugin)this).Logger.LogInfo((object)"Patched tonyhawq");
((BaseUnityPlugin)this).Logger.LogInfo((object)"diddy is still sussy\n___ ___\n___ ___\n___ ___\n\n___________");
harmony.PatchAll(typeof(QuotaGuggy));
((BaseUnityPlugin)this).Logger.LogInfo((object)"Patched tonyhawq Harmony");
}
}
[HarmonyPatch(typeof(RoundManager))]
internal class QuotaGuggy
{
private static ManualLogSource logger = Plugin.instance.GetLogSource();
[HarmonyPatch("SpawnScrapInLevel")]
[HarmonyPrefix]
public static void AdjustValue()
{
int profitQuota = TimeOfDay.Instance.profitQuota;
logger.LogInfo((object)"HELLLA DIDDDA");
foreach (SpawnableItemWithRarity item in RoundManager.Instance.currentLevel.spawnableScrap)
{
if (item.spawnableItem.itemName == Plugin.instance.GoldenGuggy.itemName)
{
item.spawnableItem.minValue = (int)((double)profitQuota / 0.4);
item.spawnableItem.maxValue = (int)((double)profitQuota / 0.4);
logger.LogInfo((object)$"Quota is {profitQuota}. Guggy Detected...");
}
}
}
}
}