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 MoreSacrificeInteractables v1.0.2
MoreSacrificeInteractables.dll
Decompiled 2 years agousing System; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using RoR2; using UnityEngine; using UnityEngine.AddressableAssets; [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("MoreSacrificeInteractables")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+277043c44019266f57d68ec0fcef3bef20f7cd6b")] [assembly: AssemblyProduct("MoreSacrificeInteractables")] [assembly: AssemblyTitle("MoreSacrificeInteractables")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace MoreSacrificeInteractables { [BepInPlugin("com.Moffein.MoreSacrificeInteractables", "MoreSacrificeInteractables", "1.0.2")] public class MoreSacrificeInteractablesPlugin : BaseUnityPlugin { public static bool allowEquipBarrel; public static bool allowEquipShop; public static bool allowLunarPod; public static bool allowVoidCradle; public static bool allowVoidTriple; public static float equipBarrelWeight; public static float equipShopWeight; public static float lunarPodWeight; public static float voidCradleWeight; public static float voidTripleWeight; public void Awake() { allowEquipBarrel = ((BaseUnityPlugin)this).Config.Bind<bool>("Equipment", "Equipment Barrel", true, "Allow this interactable to spawn when Sacrifice is enabled.").Value; equipBarrelWeight = ((BaseUnityPlugin)this).Config.Bind<float>("Equipment", "Equipment Barrel Weight", 0.2f, "Affects how often this interactable will spawn when Sacrifice is enabled.").Value; allowEquipShop = ((BaseUnityPlugin)this).Config.Bind<bool>("Equipment", "Equipment Multishop", true, "Allow this interactable to spawn when Sacrifice is enabled.").Value; equipShopWeight = ((BaseUnityPlugin)this).Config.Bind<float>("Equipment", "Equipment Multishop Weight", 0.2f, "Affects how often this interactable will spawn when Sacrifice is enabled.").Value; allowLunarPod = ((BaseUnityPlugin)this).Config.Bind<bool>("Lunar", "Lunar Pod", true, "Allow this interactable to spawn when Sacrifice is enabled.").Value; lunarPodWeight = ((BaseUnityPlugin)this).Config.Bind<float>("Lunar", "Lunar Pod Weight", 0.5f, "Affects how often this interactable will spawn when Sacrifice is enabled.").Value; allowVoidCradle = ((BaseUnityPlugin)this).Config.Bind<bool>("Void", "Void Cradle", true, "Allow this interactable to spawn when Sacrifice is enabled.").Value; voidCradleWeight = ((BaseUnityPlugin)this).Config.Bind<float>("Void", "Void Cradle Weight", 1f, "Affects how often this interactable will spawn when Sacrifice is enabled.").Value; allowVoidTriple = ((BaseUnityPlugin)this).Config.Bind<bool>("Void", "Void Multishop", true, "Allow this interactable to spawn when Sacrifice is enabled.").Value; voidTripleWeight = ((BaseUnityPlugin)this).Config.Bind<float>("Void", "Void Multishop Weight", 1f, "Affects how often this interactable will spawn when Sacrifice is enabled.").Value; if (allowEquipBarrel) { SetSacrificeAllowed("RoR2/Base/EquipmentBarrel/iscEquipmentBarrel.asset", equipBarrelWeight); } if (allowEquipShop) { SetSacrificeAllowed("RoR2/Base/TripleShopEquipment/iscTripleShopEquipment.asset", equipShopWeight); } if (allowLunarPod) { SetSacrificeAllowed("RoR2/Base/LunarChest/iscLunarChest.asset", lunarPodWeight); } if (allowVoidCradle) { SetSacrificeAllowed("RoR2/DLC1/VoidChest/iscVoidChest.asset", voidCradleWeight); } if (allowVoidTriple) { SetSacrificeAllowed("RoR2/DLC1/VoidTriple/iscVoidTriple.asset", voidTripleWeight); } } private void SetSacrificeAllowed(string addressablePath, float mult = 1f) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) InteractableSpawnCard val = Addressables.LoadAssetAsync<InteractableSpawnCard>((object)addressablePath).WaitForCompletion(); if (Object.op_Implicit((Object)(object)val)) { if (val.weightScalarWhenSacrificeArtifactEnabled == 0f) { val.weightScalarWhenSacrificeArtifactEnabled = 1f; } val.skipSpawnWhenSacrificeArtifactEnabled = false; val.weightScalarWhenSacrificeArtifactEnabled *= mult; } } } } namespace R2API.Utils { [AttributeUsage(AttributeTargets.Assembly)] public class ManualNetworkRegistrationAttribute : Attribute { } }