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 Archipelago Scrap v4.0.3
Archipelago_Scrap.dll
Decompiled a year agousing System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using BepInEx; using BepInEx.Configuration; 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("Archipelago_Scrap")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("Archipelago_Scrap")] [assembly: AssemblyTitle("Archipelago_Scrap")] [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 ItemTutorial { [BepInPlugin("caigan.ap_scrap", "Archipelago Scrap", "4.0.0")] [BepInDependency(/*Could not decode attribute arguments.*/)] public class Plugin : BaseUnityPlugin { private const string GUID = "caigan.ap_scrap"; private const string NAME = "Archipelago Scrap"; private const string VERSION = "4.0.0"; public static Plugin instance; private void Awake() { ConfigEntry<bool> val = ((BaseUnityPlugin)this).Config.Bind<bool>("1) General", "APApparatusSpawn", true, "Should AP Apparatus' spawn? This should be set to true if you are running Trophy mode."); ConfigEntry<bool> val2 = ((BaseUnityPlugin)this).Config.Bind<bool>("1) General", "APChestSpawn", true, "Should AP Chests spawn? This should be set to true if you are running Collectathon mode."); ConfigEntry<int> val3 = ((BaseUnityPlugin)this).Config.Bind<int>("2) Collectathon Mode", "CollectathonExperimentationWeight", 30, "Spawn weight of AP Chests on Experimentation"); ConfigEntry<int> val4 = ((BaseUnityPlugin)this).Config.Bind<int>("2) Collectathon Mode", "CollectathonAssuranceWeight", 25, "Spawn weight of AP Chests on Assurance"); ConfigEntry<int> val5 = ((BaseUnityPlugin)this).Config.Bind<int>("2) Collectathon Mode", "CollectathonVowWeight", 25, "Spawn weight of AP Chests on Vow"); ConfigEntry<int> val6 = ((BaseUnityPlugin)this).Config.Bind<int>("2) Collectathon Mode", "CollectathonOffenseWeight", 40, "Spawn weight of AP Chests on Offense"); ConfigEntry<int> val7 = ((BaseUnityPlugin)this).Config.Bind<int>("2) Collectathon Mode", "CollectathonMarchWeight", 40, "Spawn weight of AP Chests on March"); ConfigEntry<int> val8 = ((BaseUnityPlugin)this).Config.Bind<int>("2) Collectathon Mode", "CollectathonAdamanceWeight", 41, "Spawn weight of AP Chests on Adamance"); ConfigEntry<int> val9 = ((BaseUnityPlugin)this).Config.Bind<int>("2) Collectathon Mode", "CollectathonRendWeight", 62, "Spawn weight of AP Chests on Rend"); ConfigEntry<int> val10 = ((BaseUnityPlugin)this).Config.Bind<int>("2) Collectathon Mode", "CollectathonDineWeight", 55, "Spawn weight of AP Chests on Dine"); ConfigEntry<int> val11 = ((BaseUnityPlugin)this).Config.Bind<int>("2) Collectathon Mode", "CollectathonTitanWeight", 65, "Spawn weight of AP Chests on Titan"); ConfigEntry<int> val12 = ((BaseUnityPlugin)this).Config.Bind<int>("2) Collectathon Mode", "CollectathonEmbrionWeight", 65, "Spawn weight of AP Chests on Embrion"); ConfigEntry<int> val13 = ((BaseUnityPlugin)this).Config.Bind<int>("2) Collectathon Mode", "CollectathonArtificeWeight", 70, "Spawn weight of AP Chests on Artifice"); ConfigEntry<int> val14 = ((BaseUnityPlugin)this).Config.Bind<int>("2) Collectathon Mode", "CollectathonModdedWeight", 45, "Spawn weight of AP Chests on Modded Moons"); ConfigEntry<int> val15 = ((BaseUnityPlugin)this).Config.Bind<int>("3) Trophy Mode", "TrophyExperimentationWeight", 60, "Spawn weight of AP Apparatus on Experimentation"); ConfigEntry<int> val16 = ((BaseUnityPlugin)this).Config.Bind<int>("3) Trophy Mode", "TrophyAssuranceWeight", 50, "Spawn weight of AP Apparatus on Assurance"); ConfigEntry<int> val17 = ((BaseUnityPlugin)this).Config.Bind<int>("3) Trophy Mode", "TrophyVowWeight", 50, "Spawn weight of AP Apparatus on Vow"); ConfigEntry<int> val18 = ((BaseUnityPlugin)this).Config.Bind<int>("3) Trophy Mode", "TrophyOffenseWeight", 50, "Spawn weight of AP Apparatus on Offense"); ConfigEntry<int> val19 = ((BaseUnityPlugin)this).Config.Bind<int>("3) Trophy Mode", "TrophyMarchWeight", 55, "Spawn weight of AP Apparatus on March"); ConfigEntry<int> val20 = ((BaseUnityPlugin)this).Config.Bind<int>("3) Trophy Mode", "TrophyAdamanceWeight", 50, "Spawn weight of AP Apparatus on Adamance"); ConfigEntry<int> val21 = ((BaseUnityPlugin)this).Config.Bind<int>("3) Trophy Mode", "TrophyRendWeight", 60, "Spawn weight of AP Apparatus on Rend"); ConfigEntry<int> val22 = ((BaseUnityPlugin)this).Config.Bind<int>("3) Trophy Mode", "TrophyDineWeight", 65, "Spawn weight of AP Apparatus on Dine"); ConfigEntry<int> val23 = ((BaseUnityPlugin)this).Config.Bind<int>("3) Trophy Mode", "TrophyTitanWeight", 55, "Spawn weight of AP Apparatus on Titan"); ConfigEntry<int> val24 = ((BaseUnityPlugin)this).Config.Bind<int>("3) Trophy Mode", "TrophyEmbrionWeight", 60, "Spawn weight of AP Apparatus on Embrion"); ConfigEntry<int> val25 = ((BaseUnityPlugin)this).Config.Bind<int>("3) Trophy Mode", "TrophyArtificeWeight", 60, "Spawn weight of AP Apparatus on Artifice"); ConfigEntry<int> val26 = ((BaseUnityPlugin)this).Config.Bind<int>("3) Trophy Mode", "CollectathonModdedWeight", 50, "Spawn weight of AP Apparatus on Modded Moons"); int num = 0; int num2 = 0; int num3 = 0; int num4 = 0; int num5 = 0; int num6 = 0; int num7 = 0; int num8 = 0; int num9 = 0; int num10 = 0; int num11 = 0; int num12 = 0; int num13 = 0; int num14 = 0; int num15 = 0; int num16 = 0; int num17 = 0; int num18 = 0; int num19 = 0; int num20 = 0; int num21 = 0; int num22 = 0; int num23 = 0; int num24 = 0; if (val2.Value) { num = val3.Value; num2 = val4.Value; num3 = val5.Value; num4 = val6.Value; num5 = val7.Value; num6 = val8.Value; num7 = val9.Value; num8 = val10.Value; num9 = val11.Value; num10 = val12.Value; num11 = val13.Value; num12 = val14.Value; } else { num = 0; num2 = 0; num3 = 0; num4 = 0; num5 = 0; num6 = 0; num7 = 0; num8 = 0; num9 = 0; num10 = 0; num11 = 0; num12 = 0; } if (val.Value) { num13 = val15.Value; num14 = val16.Value; num15 = val17.Value; num16 = val18.Value; num17 = val19.Value; num18 = val20.Value; num19 = val21.Value; num20 = val22.Value; num21 = val23.Value; num22 = val24.Value; num23 = val25.Value; num24 = val26.Value; } else { num13 = 0; num14 = 0; num15 = 0; num16 = 0; num17 = 0; num18 = 0; num19 = 0; num20 = 0; num21 = 0; num22 = 0; num23 = 0; num24 = 0; } instance = this; string text = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "ap_scrap_2025"); AssetBundle val27 = AssetBundle.LoadFromFile(text); Item val28 = val27.LoadAsset<Item>("Assets/Mods/AP_Scrap/items/scraps/LethalLib/Chest/ap_chest.asset"); NetworkPrefabs.RegisterNetworkPrefab(val28.spawnPrefab); Utilities.FixMixerGroups(val28.spawnPrefab); Items.RegisterScrap(val28, num12, (LevelTypes)1024); Items.RegisterScrap(val28, num, (LevelTypes)4); Items.RegisterScrap(val28, num3, (LevelTypes)16); Items.RegisterScrap(val28, num2, (LevelTypes)8); Items.RegisterScrap(val28, num4, (LevelTypes)32); Items.RegisterScrap(val28, num7, (LevelTypes)128); Items.RegisterScrap(val28, num8, (LevelTypes)256); Items.RegisterScrap(val28, num5, (LevelTypes)64); Items.RegisterScrap(val28, num9, (LevelTypes)512); Items.RegisterScrap(val28, num6, (LevelTypes)2048); Items.RegisterScrap(val28, num10, (LevelTypes)8192); Items.RegisterScrap(val28, num11, (LevelTypes)4096); Item val29 = val27.LoadAsset<Item>("Assets/Mods/AP_Scrap/items/scraps/LethalLib/Apparatus - Experimentation/ap_apparatus_experimentation.asset"); NetworkPrefabs.RegisterNetworkPrefab(val29.spawnPrefab); Utilities.FixMixerGroups(val29.spawnPrefab); Items.RegisterScrap(val29, num13, (LevelTypes)4); Item val30 = val27.LoadAsset<Item>("Assets/Mods/AP_Scrap/items/scraps/LethalLib/Apparatus - Assurance/ap_apparatus_assurance.asset"); NetworkPrefabs.RegisterNetworkPrefab(val30.spawnPrefab); Utilities.FixMixerGroups(val30.spawnPrefab); Items.RegisterScrap(val30, num14, (LevelTypes)8); Item val31 = val27.LoadAsset<Item>("Assets/Mods/AP_Scrap/items/scraps/LethalLib/Apparatus - Vow/ap_apparatus_vow.asset"); NetworkPrefabs.RegisterNetworkPrefab(val31.spawnPrefab); Utilities.FixMixerGroups(val31.spawnPrefab); Items.RegisterScrap(val31, num15, (LevelTypes)16); Item val32 = val27.LoadAsset<Item>("Assets/Mods/AP_Scrap/items/scraps/LethalLib/Apparatus - Offense/ap_apparatus_offense.asset"); NetworkPrefabs.RegisterNetworkPrefab(val32.spawnPrefab); Utilities.FixMixerGroups(val32.spawnPrefab); Items.RegisterScrap(val32, num16, (LevelTypes)32); Item val33 = val27.LoadAsset<Item>("Assets/Mods/AP_Scrap/items/scraps/LethalLib/Apparatus - March/ap_apparatus_march.asset"); NetworkPrefabs.RegisterNetworkPrefab(val33.spawnPrefab); Utilities.FixMixerGroups(val33.spawnPrefab); Items.RegisterScrap(val33, num17, (LevelTypes)64); Item val34 = val27.LoadAsset<Item>("Assets/Mods/AP_Scrap/items/scraps/LethalLib/Apparatus - Rend/ap_apparatus_rend.asset"); NetworkPrefabs.RegisterNetworkPrefab(val34.spawnPrefab); Utilities.FixMixerGroups(val34.spawnPrefab); Items.RegisterScrap(val34, num19, (LevelTypes)128); Item val35 = val27.LoadAsset<Item>("Assets/Mods/AP_Scrap/items/scraps/LethalLib/Apparatus - Dine/ap_apparatus_dine.asset"); NetworkPrefabs.RegisterNetworkPrefab(val35.spawnPrefab); Utilities.FixMixerGroups(val35.spawnPrefab); Items.RegisterScrap(val35, num20, (LevelTypes)256); Item val36 = val27.LoadAsset<Item>("Assets/Mods/AP_Scrap/items/scraps/LethalLib/Apparatus - Titan/ap_apparatus_titan.asset"); NetworkPrefabs.RegisterNetworkPrefab(val36.spawnPrefab); Utilities.FixMixerGroups(val36.spawnPrefab); Items.RegisterScrap(val36, num21, (LevelTypes)512); Item val37 = val27.LoadAsset<Item>("Assets/Mods/AP_Scrap/items/scraps/LethalLib/Apparatus - Adamance/ap_apparatus_adamance.asset"); NetworkPrefabs.RegisterNetworkPrefab(val37.spawnPrefab); Utilities.FixMixerGroups(val37.spawnPrefab); Items.RegisterScrap(val37, num18, (LevelTypes)2048); Item val38 = val27.LoadAsset<Item>("Assets/Mods/AP_Scrap/items/scraps/LethalLib/Apparatus - Embrion/ap_apparatus_embrion.asset"); NetworkPrefabs.RegisterNetworkPrefab(val38.spawnPrefab); Utilities.FixMixerGroups(val38.spawnPrefab); Items.RegisterScrap(val38, num22, (LevelTypes)8192); Item val39 = val27.LoadAsset<Item>("Assets/Mods/AP_Scrap/items/scraps/LethalLib/Apparatus - Artifice/ap_apparatus_artifice.asset"); NetworkPrefabs.RegisterNetworkPrefab(val39.spawnPrefab); Utilities.FixMixerGroups(val39.spawnPrefab); Items.RegisterScrap(val39, num23, (LevelTypes)4096); Item val40 = val27.LoadAsset<Item>("Assets/Mods/AP_Scrap/items/scraps/LethalLib/Apparatus - Custom/ap_apparatus_custom.asset"); NetworkPrefabs.RegisterNetworkPrefab(val40.spawnPrefab); Utilities.FixMixerGroups(val40.spawnPrefab); Items.RegisterScrap(val40, num24, (LevelTypes)1024); ((BaseUnityPlugin)this).Logger.LogInfo((object)"Loaded Archipelago Scrap"); } } }