Please disclose if your mod was created primarily using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of NebulaSuit v1.0.0
Nicole.NebulaSuit.dll
Decompiled 5 months agousing System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Logging; using HarmonyLib; 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("Nicole")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyDescription("Custom suit material to make you look like a portal into space.")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("Nicole.NebulaSuit")] [assembly: AssemblyTitle("NebulaSuit")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] 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; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace BepInEx { [AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)] [Conditional("CodeGeneration")] internal sealed class BepInAutoPluginAttribute : Attribute { public BepInAutoPluginAttribute(string id = null, string name = null, string version = null) { } } } namespace BepInEx.Preloader.Core.Patching { [AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)] [Conditional("CodeGeneration")] internal sealed class PatcherAutoPluginAttribute : Attribute { public PatcherAutoPluginAttribute(string id = null, string name = null, string version = null) { } } } namespace Nicole.NebulaSuit { [BepInPlugin("Nicole.NebulaSuit", "NebulaSuit", "1.0.0")] public class NebulaSuitPlugin : BaseUnityPlugin { private static AssetBundle? _materialsBundle; private static bool _alreadyAdded; public const string Id = "Nicole.NebulaSuit"; public static NebulaSuitPlugin Instance { get; private set; } internal static ManualLogSource Logger { get; private set; } internal static Harmony? Harmony { get; set; } public static string Name => "NebulaSuit"; public static string Version => "1.0.0"; private void Awake() { Logger = ((BaseUnityPlugin)this).Logger; Instance = this; Harmony = Harmony.CreateAndPatchAll(typeof(NebulaSuitPlugin), "Nicole.NebulaSuit"); string directoryName = Path.GetDirectoryName(((BaseUnityPlugin)this).Info.Location); _materialsBundle = AssetBundle.LoadFromFile(Path.Combine(directoryName, "nebulasuit.ab")); } [HarmonyPatch(typeof(StartOfRound), "Awake")] [HarmonyPostfix] internal static void Postfix_StartOfRound_Start(StartOfRound __instance) { //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Expected O, but got Unknown if (!_alreadyAdded) { _alreadyAdded = true; if ((Object)(object)_materialsBundle == (Object)null) { Logger.LogError((object)"Could not load the materials bundle??"); return; } UnlockableItem item = new UnlockableItem { unlockableName = "Nebula Suit", alreadyUnlocked = true, suitMaterial = _materialsBundle.LoadAsset<Material>("Nebula Suit") }; __instance.unlockablesList.unlockables.Add(item); Logger.LogInfo((object)"Suits added!"); } } } }