Decompiled source of Tesstopia v1.0.11

Tesstopia.dll

Decompiled a month ago
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 GameNetcodeStuff;
using HarmonyLib;
using LethalLib.Modules;
using Microsoft.CodeAnalysis;
using Tesstopia.Classes;
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("Tesstopia")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("Tesstopia")]
[assembly: AssemblyTitle("Tesstopia")]
[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 Tesstopia
{
	[BepInPlugin("Tesstopia.Tesstopia", "Tesstopia", "0.0.0.1")]
	public class TesstopiaModBase : BaseUnityPlugin
	{
		private const string modGUID = "Tesstopia.Tesstopia";

		private const string modName = "Tesstopia";

		private const string modVersion = "0.0.0.1";

		private readonly Harmony harmony = new Harmony("Tesstopia.Tesstopia");

		private static TesstopiaModBase Instance;

		internal ManualLogSource mls;

		private void Awake()
		{
			if ((Object)(object)Instance == (Object)null)
			{
				Instance = this;
			}
			mls = Logger.CreateLogSource("Tesstopia.Tesstopia");
			((Component)Instance).BroadcastMessage("Tesstopia BROADCAST");
			mls.LogInfo((object)"Tesstopia Hello World! The MOD HAS AWOKEN!! :)");
			((BaseUnityPlugin)this).Logger.LogInfo((object)"Tesstopia Mod running???");
			string text = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "tesstopiabundle");
			AssetBundle val = AssetBundle.LoadFromFile(text);
			Item val2 = val.LoadAsset<Item>("Assets/TessPlushie/Items/TesslaPlushie.asset");
			NetworkPrefabs.RegisterNetworkPrefab(val2.spawnPrefab);
			Utilities.FixMixerGroups(val2.spawnPrefab);
			Items.RegisterScrap(val2, 50, (LevelTypes)4);
			Item val3 = val.LoadAsset<Item>("Assets/TessPlushie/Items/BeeTessla.asset");
			TessPlushItem tessPlushItem = val3.spawnPrefab.AddComponent<TessPlushItem>();
			((GrabbableObject)tessPlushItem).grabbable = true;
			((GrabbableObject)tessPlushItem).grabbableToEnemies = true;
			((GrabbableObject)tessPlushItem).itemProperties = val3;
			NetworkPrefabs.RegisterNetworkPrefab(val3.spawnPrefab);
			Utilities.FixMixerGroups(val3.spawnPrefab);
			Items.RegisterScrap(val3, 50, (LevelTypes)16);
			Item val4 = val.LoadAsset<Item>("Assets/TessPlushie/Items/SheriffTessla.asset");
			TessPlushItem tessPlushItem2 = val4.spawnPrefab.AddComponent<TessPlushItem>();
			((GrabbableObject)tessPlushItem2).grabbable = true;
			((GrabbableObject)tessPlushItem2).grabbableToEnemies = true;
			((GrabbableObject)tessPlushItem2).itemProperties = val4;
			NetworkPrefabs.RegisterNetworkPrefab(val4.spawnPrefab);
			Utilities.FixMixerGroups(val4.spawnPrefab);
			Items.RegisterScrap(val4, 60, (LevelTypes)8);
			Item val5 = val.LoadAsset<Item>("Assets/TessPlushie/Items/WitchTessla.asset");
			TessPlushItem tessPlushItem3 = val5.spawnPrefab.AddComponent<TessPlushItem>();
			((GrabbableObject)tessPlushItem3).grabbable = true;
			((GrabbableObject)tessPlushItem3).grabbableToEnemies = true;
			((GrabbableObject)tessPlushItem3).itemProperties = val5;
			NetworkPrefabs.RegisterNetworkPrefab(val5.spawnPrefab);
			Utilities.FixMixerGroups(val5.spawnPrefab);
			Items.RegisterScrap(val5, 40, (LevelTypes)64);
			Item val6 = val.LoadAsset<Item>("Assets/TessPlushie/Items/BanditTessla.asset");
			TessPlushItem tessPlushItem4 = val6.spawnPrefab.AddComponent<TessPlushItem>();
			((GrabbableObject)tessPlushItem4).grabbable = true;
			((GrabbableObject)tessPlushItem4).grabbableToEnemies = true;
			((GrabbableObject)tessPlushItem4).itemProperties = val6;
			NetworkPrefabs.RegisterNetworkPrefab(val6.spawnPrefab);
			Utilities.FixMixerGroups(val6.spawnPrefab);
			Items.RegisterScrap(val6, 60, (LevelTypes)32);
			Item val7 = val.LoadAsset<Item>("Assets/TessPlushie/Items/FancyTessla.asset");
			NetworkPrefabs.RegisterNetworkPrefab(val7.spawnPrefab);
			Utilities.FixMixerGroups(val7.spawnPrefab);
			Items.RegisterScrap(val7, 30, (LevelTypes)128);
			Item val8 = val.LoadAsset<Item>("Assets/TessPlushie/Items/QueenTessla.asset");
			NetworkPrefabs.RegisterNetworkPrefab(val8.spawnPrefab);
			Utilities.FixMixerGroups(val8.spawnPrefab);
			Items.RegisterScrap(val8, 30, (LevelTypes)256);
			Item val9 = val.LoadAsset<Item>("Assets/TessPlushie/Items/GoldTessla.asset");
			NetworkPrefabs.RegisterNetworkPrefab(val9.spawnPrefab);
			Utilities.FixMixerGroups(val9.spawnPrefab);
			Items.RegisterScrap(val9, 1, (LevelTypes)4);
			Items.RegisterScrap(val9, 5, (LevelTypes)8);
			Items.RegisterScrap(val9, 3, (LevelTypes)16);
			Items.RegisterScrap(val9, 15, (LevelTypes)32);
			Items.RegisterScrap(val9, 5, (LevelTypes)64);
			Items.RegisterScrap(val9, 8, (LevelTypes)2048);
			Items.RegisterScrap(val9, 20, (LevelTypes)128);
			Items.RegisterScrap(val9, 20, (LevelTypes)256);
			Items.RegisterScrap(val9, 20, (LevelTypes)512);
			Items.RegisterScrap(val9, 20, (LevelTypes)4096);
			Items.RegisterScrap(val9, 60, (LevelTypes)8192);
			harmony.PatchAll(typeof(TesstopiaModBase));
			harmony.PatchAll();
			((BaseUnityPlugin)this).Logger.LogInfo((object)"Tesstopia Mod finished running???");
		}
	}
}
namespace Tesstopia.Patches
{
	[HarmonyPatch(typeof(PlayerControllerB))]
	internal static class PlayerControllerPatch
	{
	}
	[HarmonyPatch(typeof(RoundManager))]
	internal static class RoundManagerPatch
	{
	}
}
namespace Tesstopia.Classes
{
	internal class AnimateItem : PhysicsProp
	{
	}
	internal class TessPlushItem : GrabbableObject
	{
	}
}