using System;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using BepInEx;
using BepInEx.Configuration;
using BepInEx.Logging;
using Microsoft.CodeAnalysis;
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("ConfigurableBottledChaos")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("ConfigurableBottledChaos")]
[assembly: AssemblyTitle("ConfigurableBottledChaos")]
[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 NoEggOrVase
{
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInPlugin("VVitchh.ConfigurableBottledChaos", "ConfigurableBottledChaos", "1.0.0")]
public class chaosConfig : BaseUnityPlugin
{
public const string PluginGUID = "VVitchh.ConfigurableBottledChaos";
public const string PluginAuthor = "VVitchh";
public const string PluginName = "ConfigurableBottledChaos";
public const string PluginVersion = "1.0.0";
public static ConfigEntry<bool> cfg_blastShower;
public static ConfigEntry<bool> cfg_disposableMissileLauncher;
public static ConfigEntry<bool> cfg_eccentricVase;
public static ConfigEntry<bool> cfg_foreignFruit;
public static ConfigEntry<bool> cfg_forgiveMePlease;
public static ConfigEntry<bool> cfg_gnarledWoodsprite;
public static ConfigEntry<bool> cfg_gooboJr;
public static ConfigEntry<bool> cfg_goragsOpus;
public static ConfigEntry<bool> cfg_jadeElephant;
public static ConfigEntry<bool> cfg_milkyChrysalis;
public static ConfigEntry<bool> cfg_molotov;
public static ConfigEntry<bool> cfg_ocularHUD;
public static ConfigEntry<bool> cfg_preonAccumulator;
public static ConfigEntry<bool> cfg_primordialCube;
public static ConfigEntry<bool> cfg_radarScanner;
public static ConfigEntry<bool> cfg_recycler;
public static ConfigEntry<bool> cfg_remoteCaffeinator;
public static ConfigEntry<bool> cfg_royalCapacitor;
public static ConfigEntry<bool> cfg_sawmerang;
public static ConfigEntry<bool> cfg_seedOfLife;
public static ConfigEntry<bool> cfg_seedOfLifeCONSUMED;
public static ConfigEntry<bool> cfg_superMassiveLeech;
public static ConfigEntry<bool> cfg_theBackUp;
public static ConfigEntry<bool> cfg_trophyHuntersTricorn;
public static ConfigEntry<bool> cfg_PIRATEHAT;
public static ConfigEntry<bool> cfg_volcanicEgg;
public static ConfigEntry<bool> cfg_effigyOfGrief;
public static ConfigEntry<bool> cfg_glowingMeteorite;
public static ConfigEntry<bool> cfg_hellfireTincture;
public static ConfigEntry<bool> cfg_spinelTonic;
public void InitConfig()
{
cfg_blastShower = ((BaseUnityPlugin)this).Config.Bind<bool>("Regular equipment", "Blast shower", true, (ConfigDescription)null);
cfg_disposableMissileLauncher = ((BaseUnityPlugin)this).Config.Bind<bool>("Regular equipment", "Disposable missile launcher", true, (ConfigDescription)null);
cfg_eccentricVase = ((BaseUnityPlugin)this).Config.Bind<bool>("Regular equipment", "Eccentric vase", true, (ConfigDescription)null);
cfg_foreignFruit = ((BaseUnityPlugin)this).Config.Bind<bool>("Regular equipment", "Foreign fruit", true, (ConfigDescription)null);
cfg_forgiveMePlease = ((BaseUnityPlugin)this).Config.Bind<bool>("Regular equipment", "Forgive me please", true, (ConfigDescription)null);
cfg_gnarledWoodsprite = ((BaseUnityPlugin)this).Config.Bind<bool>("Regular equipment", "Gnarled woodsprite", true, (ConfigDescription)null);
cfg_gooboJr = ((BaseUnityPlugin)this).Config.Bind<bool>("Regular equipment", "Goobo Jr", true, (ConfigDescription)null);
cfg_goragsOpus = ((BaseUnityPlugin)this).Config.Bind<bool>("Regular equipment", "Gorags opus", true, (ConfigDescription)null);
cfg_jadeElephant = ((BaseUnityPlugin)this).Config.Bind<bool>("Regular equipment", "Jade elephant", true, (ConfigDescription)null);
cfg_milkyChrysalis = ((BaseUnityPlugin)this).Config.Bind<bool>("Regular equipment", "Milky chrysalis", false, (ConfigDescription)null);
cfg_molotov = ((BaseUnityPlugin)this).Config.Bind<bool>("Regular equipment", "Molotov", true, (ConfigDescription)null);
cfg_ocularHUD = ((BaseUnityPlugin)this).Config.Bind<bool>("Regular equipment", "Ocular HUD", true, (ConfigDescription)null);
cfg_preonAccumulator = ((BaseUnityPlugin)this).Config.Bind<bool>("Regular equipment", "Preon accumulator", true, (ConfigDescription)null);
cfg_primordialCube = ((BaseUnityPlugin)this).Config.Bind<bool>("Regular equipment", "Primordial cube", true, (ConfigDescription)null);
cfg_radarScanner = ((BaseUnityPlugin)this).Config.Bind<bool>("Regular equipment", "Radar scanner", true, (ConfigDescription)null);
cfg_recycler = ((BaseUnityPlugin)this).Config.Bind<bool>("Regular equipment", "Recycler", false, (ConfigDescription)null);
cfg_remoteCaffeinator = ((BaseUnityPlugin)this).Config.Bind<bool>("Regular equipment", "Remote caffeinator", true, (ConfigDescription)null);
cfg_royalCapacitor = ((BaseUnityPlugin)this).Config.Bind<bool>("Regular equipment", "Royal capacitor", true, (ConfigDescription)null);
cfg_sawmerang = ((BaseUnityPlugin)this).Config.Bind<bool>("Regular equipment", "Sawmerang", true, (ConfigDescription)null);
cfg_seedOfLife = ((BaseUnityPlugin)this).Config.Bind<bool>("Regular equipment", "Seed of life", true, (ConfigDescription)null);
cfg_seedOfLifeCONSUMED = ((BaseUnityPlugin)this).Config.Bind<bool>("Regular equipment", "Seed of life (Consumed)", false, (ConfigDescription)null);
cfg_superMassiveLeech = ((BaseUnityPlugin)this).Config.Bind<bool>("Regular equipment", "Super massive leech", true, (ConfigDescription)null);
cfg_theBackUp = ((BaseUnityPlugin)this).Config.Bind<bool>("Regular equipment", "The back up", true, (ConfigDescription)null);
cfg_trophyHuntersTricorn = ((BaseUnityPlugin)this).Config.Bind<bool>("Regular equipment", "Trophy hunters tricorn", false, "Will only do something if you use equipment while you have a valid target on screen");
cfg_PIRATEHAT = ((BaseUnityPlugin)this).Config.Bind<bool>("Regular equipment", "Trophy hunters tricorn (Consumed)", false, (ConfigDescription)null);
cfg_volcanicEgg = ((BaseUnityPlugin)this).Config.Bind<bool>("Regular equipment", "Volcanic egg", true, (ConfigDescription)null);
cfg_effigyOfGrief = ((BaseUnityPlugin)this).Config.Bind<bool>("Lunar equipment", "Effigy of grief", false, (ConfigDescription)null);
cfg_glowingMeteorite = ((BaseUnityPlugin)this).Config.Bind<bool>("Lunar equipment", "Glowing meteorite", false, (ConfigDescription)null);
cfg_hellfireTincture = ((BaseUnityPlugin)this).Config.Bind<bool>("Lunar equipment", "Hellfire tincture", false, (ConfigDescription)null);
cfg_spinelTonic = ((BaseUnityPlugin)this).Config.Bind<bool>("Lunar equipment", "Spinel tonic", false, "If enabled, and spinel tonic activates, you will still roll for the permanent debuff.");
}
public void Awake()
{
//IL_0019: Unknown result type (might be due to invalid IL or missing references)
//IL_001e: Unknown result type (might be due to invalid IL or missing references)
//IL_0049: Unknown result type (might be due to invalid IL or missing references)
//IL_004e: Unknown result type (might be due to invalid IL or missing references)
//IL_007a: Unknown result type (might be due to invalid IL or missing references)
//IL_007f: Unknown result type (might be due to invalid IL or missing references)
//IL_00aa: Unknown result type (might be due to invalid IL or missing references)
//IL_00af: Unknown result type (might be due to invalid IL or missing references)
//IL_00da: Unknown result type (might be due to invalid IL or missing references)
//IL_00df: Unknown result type (might be due to invalid IL or missing references)
//IL_010d: Unknown result type (might be due to invalid IL or missing references)
//IL_0112: Unknown result type (might be due to invalid IL or missing references)
//IL_0140: Unknown result type (might be due to invalid IL or missing references)
//IL_0145: Unknown result type (might be due to invalid IL or missing references)
//IL_0173: Unknown result type (might be due to invalid IL or missing references)
//IL_0178: Unknown result type (might be due to invalid IL or missing references)
//IL_01a6: Unknown result type (might be due to invalid IL or missing references)
//IL_01ab: Unknown result type (might be due to invalid IL or missing references)
//IL_01d9: Unknown result type (might be due to invalid IL or missing references)
//IL_01de: Unknown result type (might be due to invalid IL or missing references)
//IL_020c: Unknown result type (might be due to invalid IL or missing references)
//IL_0211: Unknown result type (might be due to invalid IL or missing references)
//IL_023f: Unknown result type (might be due to invalid IL or missing references)
//IL_0244: Unknown result type (might be due to invalid IL or missing references)
//IL_0272: Unknown result type (might be due to invalid IL or missing references)
//IL_0277: Unknown result type (might be due to invalid IL or missing references)
//IL_02a5: Unknown result type (might be due to invalid IL or missing references)
//IL_02aa: Unknown result type (might be due to invalid IL or missing references)
//IL_02d8: Unknown result type (might be due to invalid IL or missing references)
//IL_02dd: Unknown result type (might be due to invalid IL or missing references)
//IL_030b: Unknown result type (might be due to invalid IL or missing references)
//IL_0310: Unknown result type (might be due to invalid IL or missing references)
//IL_033e: Unknown result type (might be due to invalid IL or missing references)
//IL_0343: Unknown result type (might be due to invalid IL or missing references)
//IL_0371: Unknown result type (might be due to invalid IL or missing references)
//IL_0376: Unknown result type (might be due to invalid IL or missing references)
//IL_03a4: Unknown result type (might be due to invalid IL or missing references)
//IL_03a9: Unknown result type (might be due to invalid IL or missing references)
//IL_03d7: Unknown result type (might be due to invalid IL or missing references)
//IL_03dc: Unknown result type (might be due to invalid IL or missing references)
//IL_040a: Unknown result type (might be due to invalid IL or missing references)
//IL_040f: Unknown result type (might be due to invalid IL or missing references)
//IL_043d: Unknown result type (might be due to invalid IL or missing references)
//IL_0442: Unknown result type (might be due to invalid IL or missing references)
//IL_0470: Unknown result type (might be due to invalid IL or missing references)
//IL_0475: Unknown result type (might be due to invalid IL or missing references)
//IL_04a3: Unknown result type (might be due to invalid IL or missing references)
//IL_04a8: Unknown result type (might be due to invalid IL or missing references)
//IL_04d6: Unknown result type (might be due to invalid IL or missing references)
//IL_04db: Unknown result type (might be due to invalid IL or missing references)
//IL_0509: Unknown result type (might be due to invalid IL or missing references)
//IL_050e: Unknown result type (might be due to invalid IL or missing references)
//IL_053c: Unknown result type (might be due to invalid IL or missing references)
//IL_0541: Unknown result type (might be due to invalid IL or missing references)
//IL_056f: Unknown result type (might be due to invalid IL or missing references)
//IL_0574: Unknown result type (might be due to invalid IL or missing references)
//IL_05a2: Unknown result type (might be due to invalid IL or missing references)
//IL_05a7: Unknown result type (might be due to invalid IL or missing references)
//IL_05d5: Unknown result type (might be due to invalid IL or missing references)
//IL_05da: Unknown result type (might be due to invalid IL or missing references)
InitConfig();
Log.Init(((BaseUnityPlugin)this).Logger);
EquipmentDef val = Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/Base/Cleanse/Cleanse.asset").WaitForCompletion();
if (Object.op_Implicit((Object)(object)val))
{
val.canBeRandomlyTriggered = cfg_blastShower.Value;
}
EquipmentDef val2 = Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/Base/CommandMissile/CommandMissile.asset").WaitForCompletion();
if (Object.op_Implicit((Object)(object)val2))
{
val2.canBeRandomlyTriggered = cfg_disposableMissileLauncher.Value;
}
EquipmentDef val3 = Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/Base/Gateway/Gateway.asset").WaitForCompletion();
if (Object.op_Implicit((Object)(object)val3))
{
val3.canBeRandomlyTriggered = cfg_eccentricVase.Value;
}
EquipmentDef val4 = Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/Base/Fruit/Fruit.asset").WaitForCompletion();
if (Object.op_Implicit((Object)(object)val4))
{
val4.canBeRandomlyTriggered = cfg_foreignFruit.Value;
}
EquipmentDef val5 = Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/Base/DeathProjectile/DeathProjectile.asset").WaitForCompletion();
if (Object.op_Implicit((Object)(object)val5))
{
val5.canBeRandomlyTriggered = cfg_forgiveMePlease.Value;
}
EquipmentDef val6 = Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/Base/PassiveHealing/PassiveHealing.asset").WaitForCompletion();
if (Object.op_Implicit((Object)(object)val6))
{
val6.canBeRandomlyTriggered = cfg_gnarledWoodsprite.Value;
}
EquipmentDef val7 = Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/DLC1/GummyClone/GummyClone.asset").WaitForCompletion();
if (Object.op_Implicit((Object)(object)val7))
{
val7.canBeRandomlyTriggered = cfg_gooboJr.Value;
}
EquipmentDef val8 = Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/Base/TeamWarCry/TeamWarCry.asset").WaitForCompletion();
if (Object.op_Implicit((Object)(object)val8))
{
val8.canBeRandomlyTriggered = cfg_goragsOpus.Value;
}
EquipmentDef val9 = Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/Base/GainArmor/GainArmor.asset").WaitForCompletion();
if (Object.op_Implicit((Object)(object)val9))
{
val9.canBeRandomlyTriggered = cfg_jadeElephant.Value;
}
EquipmentDef val10 = Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/Base/Jetpack/Jetpack.asset").WaitForCompletion();
if (Object.op_Implicit((Object)(object)val10))
{
val10.canBeRandomlyTriggered = cfg_milkyChrysalis.Value;
}
EquipmentDef val11 = Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/DLC1/Molotov/Molotov.asset").WaitForCompletion();
if (Object.op_Implicit((Object)(object)val11))
{
val11.canBeRandomlyTriggered = cfg_molotov.Value;
}
EquipmentDef val12 = Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/Base/CritOnUse/CritOnUse.asset").WaitForCompletion();
if (Object.op_Implicit((Object)(object)val12))
{
val12.canBeRandomlyTriggered = cfg_ocularHUD.Value;
}
EquipmentDef val13 = Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/Base/BFG/BFG.asset").WaitForCompletion();
if (Object.op_Implicit((Object)(object)val13))
{
val13.canBeRandomlyTriggered = cfg_preonAccumulator.Value;
}
EquipmentDef val14 = Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/Base/Blackhole/Blackhole.asset").WaitForCompletion();
if (Object.op_Implicit((Object)(object)val14))
{
val14.canBeRandomlyTriggered = cfg_primordialCube.Value;
}
EquipmentDef val15 = Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/Base/Scanner/Scanner.asset").WaitForCompletion();
if (Object.op_Implicit((Object)(object)val15))
{
val15.canBeRandomlyTriggered = cfg_radarScanner.Value;
}
EquipmentDef val16 = Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/Base/Recycle/Recycle.asset").WaitForCompletion();
if (Object.op_Implicit((Object)(object)val16))
{
val16.canBeRandomlyTriggered = cfg_recycler.Value;
}
EquipmentDef val17 = Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/DLC1/VendingMachine/VendingMachine.asset").WaitForCompletion();
if (Object.op_Implicit((Object)(object)val17))
{
val17.canBeRandomlyTriggered = cfg_remoteCaffeinator.Value;
}
EquipmentDef val18 = Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/Base/Lightning/Lightning.asset").WaitForCompletion();
if (Object.op_Implicit((Object)(object)val18))
{
val18.canBeRandomlyTriggered = cfg_royalCapacitor.Value;
}
EquipmentDef val19 = Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/Base/Saw/Saw.asset").WaitForCompletion();
if (Object.op_Implicit((Object)(object)val19))
{
val19.canBeRandomlyTriggered = cfg_sawmerang.Value;
}
EquipmentDef val20 = Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/DLC2/HealAndRevive/HealAndRevive.asset").WaitForCompletion();
if (Object.op_Implicit((Object)(object)val20))
{
val20.canBeRandomlyTriggered = cfg_seedOfLife.Value;
}
EquipmentDef val21 = Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/DLC2/HealAndRevive/HealAndReviveConsumed.asset").WaitForCompletion();
if (Object.op_Implicit((Object)(object)val21))
{
val21.canBeRandomlyTriggered = cfg_seedOfLifeCONSUMED.Value;
}
EquipmentDef val22 = Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/Base/LifestealOnHit/LifestealOnHit.asset").WaitForCompletion();
if (Object.op_Implicit((Object)(object)val22))
{
val22.canBeRandomlyTriggered = cfg_superMassiveLeech.Value;
}
EquipmentDef val23 = Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/Base/DroneBackup/DroneBackup.asset").WaitForCompletion();
if (Object.op_Implicit((Object)(object)val23))
{
val23.canBeRandomlyTriggered = cfg_theBackUp.Value;
}
EquipmentDef val24 = Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/DLC1/BossHunter/BossHunter.asset").WaitForCompletion();
if (Object.op_Implicit((Object)(object)val24))
{
val24.canBeRandomlyTriggered = cfg_trophyHuntersTricorn.Value;
}
EquipmentDef val25 = Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/DLC1/BossHunter/BossHunterConsumed.asset").WaitForCompletion();
if (Object.op_Implicit((Object)(object)val25))
{
val25.canBeRandomlyTriggered = cfg_PIRATEHAT.Value;
}
EquipmentDef val26 = Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/Base/FireBallDash/FireBallDash.asset").WaitForCompletion();
if (Object.op_Implicit((Object)(object)val26))
{
val26.canBeRandomlyTriggered = cfg_volcanicEgg.Value;
}
EquipmentDef val27 = Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/Base/CrippleWard/CrippleWard.asset").WaitForCompletion();
if (Object.op_Implicit((Object)(object)val27))
{
val27.canBeRandomlyTriggered = cfg_effigyOfGrief.Value;
}
EquipmentDef val28 = Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/Base/Meteor/Meteor.asset").WaitForCompletion();
if (Object.op_Implicit((Object)(object)val28))
{
val28.canBeRandomlyTriggered = cfg_glowingMeteorite.Value;
}
EquipmentDef val29 = Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/Base/BurnNearby/BurnNearby.asset").WaitForCompletion();
if (Object.op_Implicit((Object)(object)val29))
{
val29.canBeRandomlyTriggered = cfg_hellfireTincture.Value;
}
EquipmentDef val30 = Addressables.LoadAssetAsync<EquipmentDef>((object)"RoR2/Base/Tonic/Tonic.asset").WaitForCompletion();
if (Object.op_Implicit((Object)(object)val30))
{
val30.canBeRandomlyTriggered = cfg_spinelTonic.Value;
}
}
}
internal static class Log
{
private static ManualLogSource _logSource;
internal static void Init(ManualLogSource logSource)
{
_logSource = logSource;
}
internal static void Debug(object data)
{
_logSource.LogDebug(data);
}
internal static void Error(object data)
{
_logSource.LogError(data);
}
internal static void Fatal(object data)
{
_logSource.LogFatal(data);
}
internal static void Info(object data)
{
_logSource.LogInfo(data);
}
internal static void Message(object data)
{
_logSource.LogMessage(data);
}
internal static void Warning(object data)
{
_logSource.LogWarning(data);
}
}
}