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 Exchange Changes v1.1.5
ExchangeChanges.dll
Decompiled 4 days agousing System; using System.Collections; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Bootstrap; using BepInEx.Configuration; using EntityStates; using EntityStates.DroneCombiner; using EntityStates.DroneScrapper; using EntityStates.DroneVendor; using EntityStates.Duplicator; using EntityStates.MealPrep; using EntityStates.Scrapper; using Microsoft.CodeAnalysis; using On.EntityStates.DroneVendor; using On.EntityStates.Duplicator; using On.RoR2; using On.RoR2.EntityLogic; using R2API.Utils; using RiskOfOptions; using RiskOfOptions.Components.Panel; using RiskOfOptions.Options; using RoR2; using RoR2.EntityLogic; using UnityEngine; using UnityEngine.Events; using UnityEngine.Networking; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("ExchangeChanges")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+6579763edabd90444350edd1ae08717d984cdd3d")] [assembly: AssemblyProduct("ExchangeChanges")] [assembly: AssemblyTitle("ExchangeChanges")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace ExchangeChanges { [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInPlugin("FlyingComputer.ExchangeChanges", "ExchangeChanges", "1.1.5")] [NetworkCompatibility(/*Could not decode attribute arguments.*/)] public class ExchangeChanges : BaseUnityPlugin { [Serializable] [CompilerGenerated] private sealed class <>c { public static readonly <>c <>9 = new <>c(); public static hook_Start <>9__113_0; public static hook_DropDroplet <>9__113_1; public static hook_OnInteractionBegin <>9__113_2; public static hook_AddShrineStack <>9__113_3; public static hook_AddShrineStack <>9__113_4; public static hook_CallDelayed <>9__113_5; public static hook_CreateTimer <>9__113_6; public static hook_OnEnter <>9__113_7; public static hook_OnEnter <>9__113_8; public static UnityAction <>9__115_0; internal IEnumerator <Awake>b__113_0(orig_Start orig, Stage self) { if (!hasGatheredDefaults) { baseDroneVendorDelay = DroneVendorDispatchState.duration; baseDroneVendorSpawnDelay = DroneVendorDispatchState.spawnTime; baseDroneVendorIdleDelay = DroneVendorAssumeIdle.duration; baseDroneVendorTotalDelay = baseDroneVendorDelay + baseDroneVendorIdleDelay; baseDroneCombinerInitDelay = DroneCombinerCombining.initialDelayDuration; baseDroneCombinerAbsorbDelay = DroneCombinerCombining.droneAbsorbDelay; baseDroneCombinerAnimDelay = DroneCombinerCombining.animDelayDuration; baseDroneCombinerTotalDelay = baseDroneCombinerInitDelay + baseDroneCombinerAbsorbDelay + baseDroneCombinerAnimDelay; baseChefWaitDelay = WaitToBeginCooking.duration; baseChefCookingDelay = Cooking.duration; baseChefIdleDelay = CookingToIdle.duration; baseChefTotalDelay = baseChefWaitDelay + baseChefCookingDelay + baseChefIdleDelay; hasGatheredDefaults = true; } Reflection.SetFieldValue<float>(typeof(Duplicating), "initialDelayDuration", printerDelay.Value / 2f); Reflection.SetFieldValue<float>(typeof(Duplicating), "timeBetweenStartAndDropDroplet", printerDelay.Value / 2f); Reflection.SetFieldValue<float>(typeof(WaitToBeginScrapping), "duration", scrapperDelay.Value / 2f); Reflection.SetFieldValue<float>(typeof(Scrapping), "duration", scrapperDelay.Value / 2f); Reflection.SetFieldValue<float>(typeof(ScrappingToIdle), "duration", scrapperItemDelay.Value * 2f); DroneVendorDispatchState.duration = baseDroneVendorDelay / baseDroneVendorTotalDelay * droneVendorDelay.Value; DroneVendorDispatchState.spawnTime = baseDroneVendorSpawnDelay / baseDroneVendorTotalDelay * droneVendorDelay.Value; DroneVendorAssumeIdle.duration = baseDroneVendorIdleDelay / baseDroneVendorTotalDelay * droneVendorDelay.Value; DroneScrapping.duration = droneScrapperDelay.Value; WaitToBeginScrappingDrone.duration = droneScrapperStartupDelay.Value; DroneCombinerCombining.initialDelayDuration = baseDroneCombinerInitDelay / baseDroneCombinerTotalDelay * droneCombinerDelay.Value; DroneCombinerCombining.droneAbsorbDelay = baseDroneCombinerAbsorbDelay / baseDroneCombinerTotalDelay * droneCombinerDelay.Value; DroneCombinerCombining.animDelayDuration = baseDroneCombinerAnimDelay / baseDroneCombinerTotalDelay * droneCombinerDelay.Value; WaitToBeginCooking.duration = baseChefWaitDelay / baseChefTotalDelay * chefDelay.Value; Cooking.duration = baseChefCookingDelay / baseChefTotalDelay * chefDelay.Value; CookingToIdle.duration = baseChefIdleDelay / baseChefTotalDelay * chefDelay.Value; return orig.Invoke(self); } internal void <Awake>b__113_1(orig_DropDroplet orig, Duplicating self) { orig.Invoke(self); if (NetworkServer.active && self.hasDroppedDroplet) { ((EntityState)self).GetComponent<PurchaseInteraction>().Networkavailable = true; } } internal void <Awake>b__113_2(orig_OnInteractionBegin orig, PurchaseInteraction self, Interactor interactor) { orig.Invoke(self, interactor); if (self.displayNameToken == "SHRINE_BOSS_NAME") { ((Component)self).GetComponent<ShrineBossBehavior>().refreshTimer = mountainDelay.Value; } if (self.displayNameToken == "SHRINE_CHANCE_NAME") { ((Component)self).GetComponent<ShrineChanceBehavior>().refreshTimer = chanceDelay.Value; } } internal void <Awake>b__113_3(orig_AddShrineStack orig, ShrineHealingBehavior self, Interactor interactor) { orig.Invoke(self, interactor); self.refreshTimer = woodsDelay.Value; } internal void <Awake>b__113_4(orig_AddShrineStack orig, ShrineBloodBehavior self, Interactor interactor) { orig.Invoke(self, interactor); self.refreshTimer = bloodDelay.Value; } internal void <Awake>b__113_5(orig_CallDelayed orig, DelayedEvent self, float timer) { if (!((object)self).ToString().Contains("Duplicator")) { orig.Invoke(self, timer); } } internal TimerHandle <Awake>b__113_6(orig_CreateTimer orig, TimerQueue self, float time, Action action) { //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) if (action.Target.ToString().Contains("LunarCauldron")) { return orig.Invoke(self, bazaarDelay.Value, action); } if (action.Target.ToString().Contains("ShrineCleanse")) { return orig.Invoke(self, cleanseDelay.Value, action); } return orig.Invoke(self, time, action); } internal void <Awake>b__113_7(orig_OnEnter orig, DroneVendorDispatchState self) { float speed = ((droneVendorDelay.Value <= 0f) ? 100f : (baseDroneVendorTotalDelay / droneVendorDelay.Value)); ((EntityState)self).GetModelAnimator().speed = speed; orig.Invoke(self); } internal void <Awake>b__113_8(orig_OnEnter orig, DroneVendorAssumeIdle self) { float speed = ((droneVendorDelay.Value <= 0f) ? 100f : (baseDroneVendorTotalDelay / droneVendorDelay.Value)); ((EntityState)self).GetModelAnimator().speed = speed; orig.Invoke(self); } internal void <initRoo>b__115_0() { ModOptionPanelController obj = Object.FindObjectOfType<ModOptionPanelController>(); printerDelay.Value = 0.6f; scrapperDelay.Value = 0.3f; scrapperItemDelay.Value = 0.3f; chanceDelay.Value = 0.4f; mountainDelay.Value = 0.4f; bazaarDelay.Value = 0.5f; cleanseDelay.Value = 0.5f; woodsDelay.Value = 0.5f; bloodDelay.Value = 0.5f; droneVendorDelay.Value = 1f; droneScrapperStartupDelay.Value = 0.1f; droneScrapperDelay.Value = 0.5f; droneCombinerDelay.Value = 0.7f; chefDelay.Value = 0.5f; obj.RevertChanges(); } } public const string PluginGUID = "FlyingComputer.ExchangeChanges"; public const string PluginAuthor = "FlyingComputer"; public const string PluginName = "ExchangeChanges"; public const string PluginVersion = "1.1.5"; public static UnityAction ResetToDefault; public static ConfigEntry<float> printerDelay { get; set; } public static ConfigEntry<float> scrapperDelay { get; set; } public static ConfigEntry<float> scrapperItemDelay { get; set; } public static ConfigEntry<float> chanceDelay { get; set; } public static ConfigEntry<float> mountainDelay { get; set; } public static ConfigEntry<float> bazaarDelay { get; set; } public static ConfigEntry<float> cleanseDelay { get; set; } public static ConfigEntry<float> woodsDelay { get; set; } public static ConfigEntry<float> bloodDelay { get; set; } public static ConfigEntry<float> droneVendorDelay { get; set; } public static ConfigEntry<float> droneScrapperStartupDelay { get; set; } public static ConfigEntry<float> droneScrapperDelay { get; set; } public static ConfigEntry<float> droneCombinerDelay { get; set; } public static ConfigEntry<float> chefDelay { get; set; } private static float baseDroneVendorDelay { get; set; } private static float baseDroneVendorSpawnDelay { get; set; } private static float baseDroneVendorIdleDelay { get; set; } private static float baseDroneVendorTotalDelay { get; set; } private static float baseDroneCombinerInitDelay { get; set; } private static float baseDroneCombinerAbsorbDelay { get; set; } private static float baseDroneCombinerAnimDelay { get; set; } private static float baseDroneCombinerTotalDelay { get; set; } private static float baseChefWaitDelay { get; set; } private static float baseChefCookingDelay { get; set; } private static float baseChefIdleDelay { get; set; } private static float baseChefTotalDelay { get; set; } private static bool hasGatheredDefaults { get; set; } public void Awake() { //IL_0211: Unknown result type (might be due to invalid IL or missing references) //IL_0216: Unknown result type (might be due to invalid IL or missing references) //IL_021c: Expected O, but got Unknown //IL_0235: Unknown result type (might be due to invalid IL or missing references) //IL_023a: Unknown result type (might be due to invalid IL or missing references) //IL_0240: Expected O, but got Unknown //IL_0259: Unknown result type (might be due to invalid IL or missing references) //IL_025e: Unknown result type (might be due to invalid IL or missing references) //IL_0264: Expected O, but got Unknown //IL_027d: Unknown result type (might be due to invalid IL or missing references) //IL_0282: Unknown result type (might be due to invalid IL or missing references) //IL_0288: Expected O, but got Unknown //IL_02a1: Unknown result type (might be due to invalid IL or missing references) //IL_02a6: Unknown result type (might be due to invalid IL or missing references) //IL_02ac: Expected O, but got Unknown //IL_02c5: Unknown result type (might be due to invalid IL or missing references) //IL_02ca: Unknown result type (might be due to invalid IL or missing references) //IL_02d0: Expected O, but got Unknown //IL_02e9: Unknown result type (might be due to invalid IL or missing references) //IL_02ee: Unknown result type (might be due to invalid IL or missing references) //IL_02f4: Expected O, but got Unknown //IL_030d: Unknown result type (might be due to invalid IL or missing references) //IL_0312: Unknown result type (might be due to invalid IL or missing references) //IL_0318: Expected O, but got Unknown //IL_0331: Unknown result type (might be due to invalid IL or missing references) //IL_0336: Unknown result type (might be due to invalid IL or missing references) //IL_033c: Expected O, but got Unknown printerDelay = ((BaseUnityPlugin)this).Config.Bind<float>("Delay Settings", "Printer Delay", 0.6f, "Printer delay in seconds"); scrapperDelay = ((BaseUnityPlugin)this).Config.Bind<float>("Delay Settings", "Scrapper Delay", 0.3f, "Scrapper startup delay in seconds"); scrapperItemDelay = ((BaseUnityPlugin)this).Config.Bind<float>("Delay Settings", "Scrapper Item Delay", 0.3f, "Scrapper delay between item drops in seconds"); chanceDelay = ((BaseUnityPlugin)this).Config.Bind<float>("Delay Settings", "Shrine of Chance Delay", 0.4f, "Shrine of Chance delay in seconds"); mountainDelay = ((BaseUnityPlugin)this).Config.Bind<float>("Delay Settings", "Shrine of the Mountain Delay", 0.4f, "Shrine of the Mountain delay in seconds, for those with mods enabling more than one use"); bazaarDelay = ((BaseUnityPlugin)this).Config.Bind<float>("Delay Settings", "Bazaar trade Delay", 0.5f, "Bazaar item trade delay in seconds"); cleanseDelay = ((BaseUnityPlugin)this).Config.Bind<float>("Delay Settings", "Cleansing Pool Delay", 0.5f, "Cleansing Pool delay in seconds"); woodsDelay = ((BaseUnityPlugin)this).Config.Bind<float>("Delay Settings", "Shrine of the Woods Delay", 0.5f, "Shrine of the Woods delay in seconds"); bloodDelay = ((BaseUnityPlugin)this).Config.Bind<float>("Delay Settings", "Shrine of Blood Delay", 0.5f, "Shrine of Blood delay in seconds"); droneVendorDelay = ((BaseUnityPlugin)this).Config.Bind<float>("Delay Settings", "Drone Vendor Delay", 1f, "Drone Vendor delay in seconds"); droneScrapperStartupDelay = ((BaseUnityPlugin)this).Config.Bind<float>("Delay Settings", "Drone Scrapper Startup Delay", 0.1f, "Drone Scrapper startup delay in seconds"); droneScrapperDelay = ((BaseUnityPlugin)this).Config.Bind<float>("Delay Settings", "Drone Scrapper Delay", 0.5f, "Drone Scrapper delay in seconds"); droneCombinerDelay = ((BaseUnityPlugin)this).Config.Bind<float>("Delay Settings", "Drone Combiner Delay", 0.7f, "Drone Combiner Station delay in seconds"); chefDelay = ((BaseUnityPlugin)this).Config.Bind<float>("Delay Settings", "Wandering Chef Delay", 0.5f, "Wandering Chef delay in seconds"); checkRoo(); object obj = <>c.<>9__113_0; if (obj == null) { hook_Start val = delegate(orig_Start orig, Stage self) { if (!hasGatheredDefaults) { baseDroneVendorDelay = DroneVendorDispatchState.duration; baseDroneVendorSpawnDelay = DroneVendorDispatchState.spawnTime; baseDroneVendorIdleDelay = DroneVendorAssumeIdle.duration; baseDroneVendorTotalDelay = baseDroneVendorDelay + baseDroneVendorIdleDelay; baseDroneCombinerInitDelay = DroneCombinerCombining.initialDelayDuration; baseDroneCombinerAbsorbDelay = DroneCombinerCombining.droneAbsorbDelay; baseDroneCombinerAnimDelay = DroneCombinerCombining.animDelayDuration; baseDroneCombinerTotalDelay = baseDroneCombinerInitDelay + baseDroneCombinerAbsorbDelay + baseDroneCombinerAnimDelay; baseChefWaitDelay = WaitToBeginCooking.duration; baseChefCookingDelay = Cooking.duration; baseChefIdleDelay = CookingToIdle.duration; baseChefTotalDelay = baseChefWaitDelay + baseChefCookingDelay + baseChefIdleDelay; hasGatheredDefaults = true; } Reflection.SetFieldValue<float>(typeof(Duplicating), "initialDelayDuration", printerDelay.Value / 2f); Reflection.SetFieldValue<float>(typeof(Duplicating), "timeBetweenStartAndDropDroplet", printerDelay.Value / 2f); Reflection.SetFieldValue<float>(typeof(WaitToBeginScrapping), "duration", scrapperDelay.Value / 2f); Reflection.SetFieldValue<float>(typeof(Scrapping), "duration", scrapperDelay.Value / 2f); Reflection.SetFieldValue<float>(typeof(ScrappingToIdle), "duration", scrapperItemDelay.Value * 2f); DroneVendorDispatchState.duration = baseDroneVendorDelay / baseDroneVendorTotalDelay * droneVendorDelay.Value; DroneVendorDispatchState.spawnTime = baseDroneVendorSpawnDelay / baseDroneVendorTotalDelay * droneVendorDelay.Value; DroneVendorAssumeIdle.duration = baseDroneVendorIdleDelay / baseDroneVendorTotalDelay * droneVendorDelay.Value; DroneScrapping.duration = droneScrapperDelay.Value; WaitToBeginScrappingDrone.duration = droneScrapperStartupDelay.Value; DroneCombinerCombining.initialDelayDuration = baseDroneCombinerInitDelay / baseDroneCombinerTotalDelay * droneCombinerDelay.Value; DroneCombinerCombining.droneAbsorbDelay = baseDroneCombinerAbsorbDelay / baseDroneCombinerTotalDelay * droneCombinerDelay.Value; DroneCombinerCombining.animDelayDuration = baseDroneCombinerAnimDelay / baseDroneCombinerTotalDelay * droneCombinerDelay.Value; WaitToBeginCooking.duration = baseChefWaitDelay / baseChefTotalDelay * chefDelay.Value; Cooking.duration = baseChefCookingDelay / baseChefTotalDelay * chefDelay.Value; CookingToIdle.duration = baseChefIdleDelay / baseChefTotalDelay * chefDelay.Value; return orig.Invoke(self); }; <>c.<>9__113_0 = val; obj = (object)val; } Stage.Start += (hook_Start)obj; object obj2 = <>c.<>9__113_1; if (obj2 == null) { hook_DropDroplet val2 = delegate(orig_DropDroplet orig, Duplicating self) { orig.Invoke(self); if (NetworkServer.active && self.hasDroppedDroplet) { ((EntityState)self).GetComponent<PurchaseInteraction>().Networkavailable = true; } }; <>c.<>9__113_1 = val2; obj2 = (object)val2; } Duplicating.DropDroplet += (hook_DropDroplet)obj2; object obj3 = <>c.<>9__113_2; if (obj3 == null) { hook_OnInteractionBegin val3 = delegate(orig_OnInteractionBegin orig, PurchaseInteraction self, Interactor interactor) { orig.Invoke(self, interactor); if (self.displayNameToken == "SHRINE_BOSS_NAME") { ((Component)self).GetComponent<ShrineBossBehavior>().refreshTimer = mountainDelay.Value; } if (self.displayNameToken == "SHRINE_CHANCE_NAME") { ((Component)self).GetComponent<ShrineChanceBehavior>().refreshTimer = chanceDelay.Value; } }; <>c.<>9__113_2 = val3; obj3 = (object)val3; } PurchaseInteraction.OnInteractionBegin += (hook_OnInteractionBegin)obj3; object obj4 = <>c.<>9__113_3; if (obj4 == null) { hook_AddShrineStack val4 = delegate(orig_AddShrineStack orig, ShrineHealingBehavior self, Interactor interactor) { orig.Invoke(self, interactor); self.refreshTimer = woodsDelay.Value; }; <>c.<>9__113_3 = val4; obj4 = (object)val4; } ShrineHealingBehavior.AddShrineStack += (hook_AddShrineStack)obj4; object obj5 = <>c.<>9__113_4; if (obj5 == null) { hook_AddShrineStack val5 = delegate(orig_AddShrineStack orig, ShrineBloodBehavior self, Interactor interactor) { orig.Invoke(self, interactor); self.refreshTimer = bloodDelay.Value; }; <>c.<>9__113_4 = val5; obj5 = (object)val5; } ShrineBloodBehavior.AddShrineStack += (hook_AddShrineStack)obj5; object obj6 = <>c.<>9__113_5; if (obj6 == null) { hook_CallDelayed val6 = delegate(orig_CallDelayed orig, DelayedEvent self, float timer) { if (!((object)self).ToString().Contains("Duplicator")) { orig.Invoke(self, timer); } }; <>c.<>9__113_5 = val6; obj6 = (object)val6; } DelayedEvent.CallDelayed += (hook_CallDelayed)obj6; object obj7 = <>c.<>9__113_6; if (obj7 == null) { hook_CreateTimer val7 = delegate(orig_CreateTimer orig, TimerQueue self, float time, Action action) { //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) if (action.Target.ToString().Contains("LunarCauldron")) { return orig.Invoke(self, bazaarDelay.Value, action); } return action.Target.ToString().Contains("ShrineCleanse") ? orig.Invoke(self, cleanseDelay.Value, action) : orig.Invoke(self, time, action); }; <>c.<>9__113_6 = val7; obj7 = (object)val7; } TimerQueue.CreateTimer += (hook_CreateTimer)obj7; object obj8 = <>c.<>9__113_7; if (obj8 == null) { hook_OnEnter val8 = delegate(orig_OnEnter orig, DroneVendorDispatchState self) { float speed = ((droneVendorDelay.Value <= 0f) ? 100f : (baseDroneVendorTotalDelay / droneVendorDelay.Value)); ((EntityState)self).GetModelAnimator().speed = speed; orig.Invoke(self); }; <>c.<>9__113_7 = val8; obj8 = (object)val8; } DroneVendorDispatchState.OnEnter += (hook_OnEnter)obj8; object obj9 = <>c.<>9__113_8; if (obj9 == null) { hook_OnEnter val9 = delegate(orig_OnEnter orig, DroneVendorAssumeIdle self) { float speed = ((droneVendorDelay.Value <= 0f) ? 100f : (baseDroneVendorTotalDelay / droneVendorDelay.Value)); ((EntityState)self).GetModelAnimator().speed = speed; orig.Invoke(self); }; <>c.<>9__113_8 = val9; obj9 = (object)val9; } DroneVendorAssumeIdle.OnEnter += (hook_OnEnter)obj9; } public static void checkRoo() { if (Chainloader.PluginInfos.ContainsKey("com.rune580.riskofoptions")) { initRoo(); } } [MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.NoOptimization)] public static void initRoo() { //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Expected O, but got Unknown //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Expected O, but got Unknown //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Expected O, but got Unknown //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Expected O, but got Unknown //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Expected O, but got Unknown //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Expected O, but got Unknown //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Expected O, but got Unknown //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Expected O, but got Unknown //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Expected O, but got Unknown //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: Expected O, but got Unknown //IL_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Expected O, but got Unknown //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Expected O, but got Unknown //IL_00c3: Unknown result type (might be due to invalid IL or missing references) //IL_00cd: Expected O, but got Unknown //IL_00d2: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: Expected O, but got Unknown //IL_0105: Unknown result type (might be due to invalid IL or missing references) //IL_010f: Expected O, but got Unknown //IL_0128: Unknown result type (might be due to invalid IL or missing references) //IL_0132: Expected O, but got Unknown //IL_00f5: Unknown result type (might be due to invalid IL or missing references) //IL_00fa: Unknown result type (might be due to invalid IL or missing references) //IL_0100: Expected O, but got Unknown ModSettingsManager.SetModDescription("Adjust the speed of repeatable interactions"); ModSettingsManager.AddOption((BaseOption)new FloatFieldOption(printerDelay)); ModSettingsManager.AddOption((BaseOption)new FloatFieldOption(scrapperDelay)); ModSettingsManager.AddOption((BaseOption)new FloatFieldOption(scrapperItemDelay)); ModSettingsManager.AddOption((BaseOption)new FloatFieldOption(chanceDelay)); ModSettingsManager.AddOption((BaseOption)new FloatFieldOption(mountainDelay)); ModSettingsManager.AddOption((BaseOption)new FloatFieldOption(bazaarDelay)); ModSettingsManager.AddOption((BaseOption)new FloatFieldOption(cleanseDelay)); ModSettingsManager.AddOption((BaseOption)new FloatFieldOption(woodsDelay)); ModSettingsManager.AddOption((BaseOption)new FloatFieldOption(bloodDelay)); ModSettingsManager.AddOption((BaseOption)new FloatFieldOption(droneVendorDelay)); ModSettingsManager.AddOption((BaseOption)new FloatFieldOption(droneScrapperStartupDelay)); ModSettingsManager.AddOption((BaseOption)new FloatFieldOption(droneScrapperDelay)); ModSettingsManager.AddOption((BaseOption)new FloatFieldOption(droneCombinerDelay)); ModSettingsManager.AddOption((BaseOption)new FloatFieldOption(chefDelay)); UnityAction resetToDefault = ResetToDefault; object obj = <>c.<>9__115_0; if (obj == null) { UnityAction val = delegate { ModOptionPanelController obj2 = Object.FindObjectOfType<ModOptionPanelController>(); printerDelay.Value = 0.6f; scrapperDelay.Value = 0.3f; scrapperItemDelay.Value = 0.3f; chanceDelay.Value = 0.4f; mountainDelay.Value = 0.4f; bazaarDelay.Value = 0.5f; cleanseDelay.Value = 0.5f; woodsDelay.Value = 0.5f; bloodDelay.Value = 0.5f; droneVendorDelay.Value = 1f; droneScrapperStartupDelay.Value = 0.1f; droneScrapperDelay.Value = 0.5f; droneCombinerDelay.Value = 0.7f; chefDelay.Value = 0.5f; obj2.RevertChanges(); }; <>c.<>9__115_0 = val; obj = (object)val; } ResetToDefault = (UnityAction)Delegate.Combine((Delegate?)(object)resetToDefault, (Delegate?)obj); ModSettingsManager.AddOption((BaseOption)new GenericButtonOption("Reset delay settings to default:", "Delay Settings", "", "RESET", ResetToDefault)); } } }