Please disclose if any significant portion of your mod was created 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 HalloweenCostumes v1.0.0
EnemyHalloweenCostumes.dll
Decompiled 2 years agousing System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using BepInEx; using BepInEx.Configuration; using BepInEx.Logging; using Costumes.Patches; 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("Poob")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("Poob")] [assembly: AssemblyCopyright("Copyright © Spookybuddy 2024")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("28f2f16b-6471-4c7e-b0a4-007e3a2450d4")] [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 Costumes { [BepInPlugin("EnemyHalloweenCostumes", "EnemyHalloweenCostumes", "1.0.0")] public class CostumesModBase : BaseUnityPlugin { public const string modGUID = "EnemyHalloweenCostumes"; private const string modName = "EnemyHalloweenCostumes"; private const string modVersion = "1.0.0"; private readonly Harmony harmony = new Harmony("EnemyHalloweenCostumes"); internal static CostumesModBase Instance; internal static ManualLogSource mls; internal static GameObject[] costumes; public static ConfigEntry<bool> Lootbug; public static ConfigEntry<bool> Tulipsnake; private void Awake() { if ((Object)(object)Instance == (Object)null) { Instance = this; } mls = Logger.CreateLogSource("EnemyHalloweenCostumes"); string path = Directory.GetFiles(Path.GetDirectoryName(((BaseUnityPlugin)this).Info.Location), "costumes.bundle")[0]; AssetBundle val = AssetBundle.LoadFromFile(Path.Combine(Path.GetDirectoryName(((BaseUnityPlugin)this).Info.Location), path)); if ((Object)(object)val != (Object)null) { costumes = val.LoadAllAssets<GameObject>(); if (costumes == null || costumes.Length < 1) { mls.LogError((object)"Costumes failed to load from bundle!"); return; } for (int i = 0; i < costumes.Length; i++) { mls.LogInfo((object)("Found " + ((Object)costumes[i]).name)); } Lootbug = ((BaseUnityPlugin)this).Config.Bind<bool>("Enemy Halloween Costumes", "Hoarding Bug Ghost", true, "The Hoarding Bugs put on their ghost costume."); Tulipsnake = ((BaseUnityPlugin)this).Config.Bind<bool>("Enemy Halloween Costumes", "Tulipsnake Pumpkin", true, "The Tulipsnakes put on their pumpkin head costume."); harmony.PatchAll(typeof(CostumesModBase)); harmony.PatchAll(typeof(LootbugPatch)); harmony.PatchAll(typeof(TulipPatch)); mls.LogInfo((object)"Spooky season is back!"); } else { mls.LogError((object)"Costumes not found!"); } } } } namespace Costumes.Patches { [HarmonyPatch(typeof(HoarderBugAI))] internal class LootbugPatch { [HarmonyPatch("Start")] [HarmonyPostfix] private static void PutOnCostume(HoarderBugAI __instance) { if (CostumesModBase.Lootbug.Value) { Object.Instantiate<GameObject>(CostumesModBase.costumes[0], ((Component)__instance).transform.GetChild(2).GetChild(2).GetChild(0) .GetChild(0) .GetChild(2)); } } } [HarmonyPatch(typeof(FlowerSnakeEnemy))] internal class TulipPatch { [HarmonyPatch("Start")] [HarmonyPostfix] private static void PutOnCostume(FlowerSnakeEnemy __instance) { if (CostumesModBase.Tulipsnake.Value) { Object.Instantiate<GameObject>(CostumesModBase.costumes[1], ((Component)__instance).transform.GetChild(0).GetChild(0).GetChild(0) .GetChild(0) .GetChild(0) .GetChild(0) .GetChild(0)); } } } }