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 LethalGrocery v1.0.5
toastnghosts.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.Logging; using HarmonyLib; using LethalLib.Modules; 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("toastnghosts")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("toastnghosts")] [assembly: AssemblyCopyright("Copyright © 2024")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("d0ae110e-6ecf-46da-b45a-a120272ba7ab")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: AssemblyVersion("1.0.0.0")] namespace ItemTutorial { [BepInPlugin("malice.itemtutorial", "itemtutorial", "0.0.1")] public class groceries : BaseUnityPlugin { private const string GUID = "malice.itemtutorial"; private const string Name = "itemtutorial"; private const string Version = "0.0.1"; private readonly Harmony harmony = new Harmony("malice.itemtutorial"); public static groceries instance; internal ManualLogSource mls; private void Awake() { instance = this; string text = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "itemmod"); AssetBundle val = AssetBundle.LoadFromFile(text); Item val2 = val.LoadAsset<Item>("Assets/Rawchicken.asset"); if ((Object)(object)val2 != (Object)null && (Object)(object)val2.spawnPrefab != (Object)null) { NetworkPrefabs.RegisterNetworkPrefab(val2.spawnPrefab); Utilities.FixMixerGroups(val2.spawnPrefab); Items.RegisterScrap(val2, 100, (LevelTypes)(-1)); } else { Debug.LogError((object)"Failed to load Chicken or spawnPrefab is null."); } Item val3 = val.LoadAsset<Item>("Assets/BreadLoaf.asset"); if ((Object)(object)val3 != (Object)null && (Object)(object)val3.spawnPrefab != (Object)null) { NetworkPrefabs.RegisterNetworkPrefab(val3.spawnPrefab); Utilities.FixMixerGroups(val3.spawnPrefab); Items.RegisterScrap(val3, 100, (LevelTypes)(-1)); } else { Debug.LogError((object)"Failed to load BreadLoaf or spawnPrefab is null."); } Item val4 = val.LoadAsset<Item>("Assets/Carrot.asset"); if ((Object)(object)val4 != (Object)null && (Object)(object)val4.spawnPrefab != (Object)null) { NetworkPrefabs.RegisterNetworkPrefab(val4.spawnPrefab); Utilities.FixMixerGroups(val4.spawnPrefab); Items.RegisterScrap(val4, 150, (LevelTypes)(-1)); } else { Debug.LogError((object)"Failed to Carrot or spawnPrefab is null."); } Item val5 = val.LoadAsset<Item>("Assets/RedApple.asset"); if ((Object)(object)val5 != (Object)null && (Object)(object)val5.spawnPrefab != (Object)null) { NetworkPrefabs.RegisterNetworkPrefab(val5.spawnPrefab); Utilities.FixMixerGroups(val5.spawnPrefab); Items.RegisterScrap(val5, 190, (LevelTypes)(-1)); } else { Debug.LogError((object)"Failed to RedApple or spawnPrefab is null."); } Item val6 = val.LoadAsset<Item>("Assets/GreenApple.asset"); if ((Object)(object)val6 != (Object)null && (Object)(object)val6.spawnPrefab != (Object)null) { NetworkPrefabs.RegisterNetworkPrefab(val6.spawnPrefab); Utilities.FixMixerGroups(val6.spawnPrefab); Items.RegisterScrap(val6, 150, (LevelTypes)(-1)); } else { Debug.LogError((object)"Failed to GreenApple or spawnPrefab is null."); } Item val7 = val.LoadAsset<Item>("Assets/Steak.asset"); if ((Object)(object)val7 != (Object)null && (Object)(object)val7.spawnPrefab != (Object)null) { NetworkPrefabs.RegisterNetworkPrefab(val7.spawnPrefab); Utilities.FixMixerGroups(val7.spawnPrefab); Items.RegisterScrap(val7, 60, (LevelTypes)(-1)); } else { Debug.LogError((object)"Failed to Steak or spawnPrefab is null."); } Item val8 = val.LoadAsset<Item>("Assets/SliceofBread.asset"); if ((Object)(object)val8 != (Object)null && (Object)(object)val8.spawnPrefab != (Object)null) { NetworkPrefabs.RegisterNetworkPrefab(val8.spawnPrefab); Utilities.FixMixerGroups(val8.spawnPrefab); Items.RegisterScrap(val8, 170, (LevelTypes)(-1)); } else { Debug.LogError((object)"Failed to SliceofBread or spawnPrefab is null."); } Item val9 = val.LoadAsset<Item>("Assets/Cheese.asset"); if ((Object)(object)val9 != (Object)null && (Object)(object)val9.spawnPrefab != (Object)null) { NetworkPrefabs.RegisterNetworkPrefab(val9.spawnPrefab); Utilities.FixMixerGroups(val9.spawnPrefab); Items.RegisterScrap(val9, 50, (LevelTypes)(-1)); } else { Debug.LogError((object)"Failed to Cheese or spawnPrefab is null."); } Item val10 = val.LoadAsset<Item>("Assets/SliceofCheese.asset"); if ((Object)(object)val10 != (Object)null && (Object)(object)val10.spawnPrefab != (Object)null) { NetworkPrefabs.RegisterNetworkPrefab(val10.spawnPrefab); Utilities.FixMixerGroups(val10.spawnPrefab); Items.RegisterScrap(val10, 30, (LevelTypes)(-1)); } else { Debug.LogError((object)"Failed to SliceofCheese or spawnPrefab is null."); } Item val11 = val.LoadAsset<Item>("Assets/Onion.asset"); if ((Object)(object)val11 != (Object)null && (Object)(object)val11.spawnPrefab != (Object)null) { NetworkPrefabs.RegisterNetworkPrefab(val11.spawnPrefab); Utilities.FixMixerGroups(val11.spawnPrefab); Items.RegisterScrap(val11, 30, (LevelTypes)(-1)); } else { Debug.LogError((object)"Failed to Onion or spawnPrefab is null."); } Item val12 = val.LoadAsset<Item>("Assets/Fish.asset"); if ((Object)(object)val12 != (Object)null && (Object)(object)val12.spawnPrefab != (Object)null) { NetworkPrefabs.RegisterNetworkPrefab(val12.spawnPrefab); Utilities.FixMixerGroups(val12.spawnPrefab); Items.RegisterScrap(val12, 40, (LevelTypes)(-1)); } else { Debug.LogError((object)"Failed to Fish or spawnPrefab is null."); } Item val13 = val.LoadAsset<Item>("Assets/Ham.asset"); if ((Object)(object)val13 != (Object)null && (Object)(object)val13.spawnPrefab != (Object)(object)val13) { NetworkPrefabs.RegisterNetworkPrefab(val13.spawnPrefab); Utilities.FixMixerGroups(val13.spawnPrefab); Items.RegisterScrap(val13, 70, (LevelTypes)(-1)); } else { Debug.LogError((object)"Failed to Ham or spawnPrefab is null."); } Item val14 = val.LoadAsset<Item>("Assets/Hamshank.asset"); if ((Object)(object)val14 != (Object)null && (Object)(object)val14.spawnPrefab != (Object)(object)val14) { NetworkPrefabs.RegisterNetworkPrefab(val14.spawnPrefab); OccludeAudio val15 = val14.spawnPrefab.AddComponent<OccludeAudio>(); val15.lowPassOverride = 20000f; Utilities.FixMixerGroups(val14.spawnPrefab); Items.RegisterScrap(val14, 70, (LevelTypes)(-1)); } else { Debug.LogError((object)"Failed to Ham or spawnPrefab is null."); } Item val16 = val.LoadAsset<Item>("Assets/mag.asset"); if ((Object)(object)val16 != (Object)null && (Object)(object)val16.spawnPrefab != (Object)(object)val16) { NetworkPrefabs.RegisterNetworkPrefab(val16.spawnPrefab); OccludeAudio val17 = val16.spawnPrefab.AddComponent<OccludeAudio>(); val17.lowPassOverride = 20000f; Utilities.FixMixerGroups(val16.spawnPrefab); Items.RegisterScrap(val16, 70, (LevelTypes)(-1)); } else { Debug.LogError((object)"Failed to Ham or spawnPrefab is null."); } Item val18 = val.LoadAsset<Item>("Assets/tommygun.asset"); if ((Object)(object)val18 != (Object)null && (Object)(object)val18.spawnPrefab != (Object)(object)val18) { NetworkPrefabs.RegisterNetworkPrefab(val18.spawnPrefab); OccludeAudio val19 = val18.spawnPrefab.AddComponent<OccludeAudio>(); val19.lowPassOverride = 20000f; Utilities.FixMixerGroups(val18.spawnPrefab); Items.RegisterScrap(val18, 70, (LevelTypes)(-1)); } else { Debug.LogError((object)"Failed to Ham or spawnPrefab is null."); } Item val20 = val.LoadAsset<Item>("Assets/fettpack.asset"); if ((Object)(object)val20 != (Object)null && (Object)(object)val20.spawnPrefab != (Object)(object)val20) { NetworkPrefabs.RegisterNetworkPrefab(val20.spawnPrefab); OccludeAudio val21 = val20.spawnPrefab.AddComponent<OccludeAudio>(); val21.lowPassOverride = 20000f; Utilities.FixMixerGroups(val20.spawnPrefab); Items.RegisterScrap(val20, 70, (LevelTypes)(-1)); } else { Debug.LogError((object)"Failed to Ham or spawnPrefab is null."); } TerminalNode val22 = ScriptableObject.CreateInstance<TerminalNode>(); val22.clearPreviousText = true; val22.displayText = "Its a battle ham you buyin or what\n\n"; Items.RegisterShopItem(val14, (TerminalNode)null, (TerminalNode)null, val22, 120); TerminalNode val23 = ScriptableObject.CreateInstance<TerminalNode>(); val23.clearPreviousText = true; val23.displayText = "Its a battle ham you buyin or what\n\n"; Items.RegisterShopItem(val18, (TerminalNode)null, (TerminalNode)null, val23, 0); TerminalNode val24 = ScriptableObject.CreateInstance<TerminalNode>(); val24.clearPreviousText = true; val24.displayText = "Its a battle ham you buyin or what\n\n"; Items.RegisterShopItem(val16, (TerminalNode)null, (TerminalNode)null, val24, 0); TerminalNode val25 = ScriptableObject.CreateInstance<TerminalNode>(); val25.clearPreviousText = true; val25.displayText = "Its a battle ham you buyin or what\n\n"; Items.RegisterShopItem(val20, (TerminalNode)null, (TerminalNode)null, val25, 0); mls = Logger.CreateLogSource("malice.itemtutorial"); mls.LogInfo((object)"Patched Item Tutorial"); harmony.PatchAll(typeof(groceries)); harmony.PatchAll(typeof(ShotgunItem)); } } } namespace toastnghosts.patches { [HarmonyPatch(typeof(ShotgunItem))] internal class Patchshottygun { [HarmonyPatch("Update")] [HarmonyPostfix] private static void extrashots(ref float ___shellsLoaded) { ___shellsLoaded = 99f; } } } namespace toastnghosts.behaviors { internal class Damageplayer : Shovel { public override void ItemActivate(bool used, bool buttonDown = true) { ((Shovel)this).ItemActivate(used, buttonDown); if (buttonDown) { ((GrabbableObject)this).playerHeldBy.ClickHoldInteraction(); } } } }