using 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 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(typeof(Duplicating), "initialDelayDuration", printerDelay.Value / 2f); Reflection.SetFieldValue(typeof(Duplicating), "timeBetweenStartAndDropDroplet", printerDelay.Value / 2f); Reflection.SetFieldValue(typeof(WaitToBeginScrapping), "duration", scrapperDelay.Value / 2f); Reflection.SetFieldValue(typeof(Scrapping), "duration", scrapperDelay.Value / 2f); Reflection.SetFieldValue(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 b__113_1(orig_DropDroplet orig, Duplicating self) { orig.Invoke(self); if (NetworkServer.active && self.hasDroppedDroplet) { ((EntityState)self).GetComponent().Networkavailable = true; } } internal void b__113_2(orig_OnInteractionBegin orig, PurchaseInteraction self, Interactor interactor) { orig.Invoke(self, interactor); if (self.displayNameToken == "SHRINE_BOSS_NAME") { ((Component)self).GetComponent().refreshTimer = mountainDelay.Value; } if (self.displayNameToken == "SHRINE_CHANCE_NAME") { ((Component)self).GetComponent().refreshTimer = chanceDelay.Value; } } internal void b__113_3(orig_AddShrineStack orig, ShrineHealingBehavior self, Interactor interactor) { orig.Invoke(self, interactor); self.refreshTimer = woodsDelay.Value; } internal void b__113_4(orig_AddShrineStack orig, ShrineBloodBehavior self, Interactor interactor) { orig.Invoke(self, interactor); self.refreshTimer = bloodDelay.Value; } internal void b__113_5(orig_CallDelayed orig, DelayedEvent self, float timer) { if (!((object)self).ToString().Contains("Duplicator")) { orig.Invoke(self, timer); } } internal TimerHandle 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 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 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 b__115_0() { ModOptionPanelController obj = Object.FindObjectOfType(); 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 printerDelay { get; set; } public static ConfigEntry scrapperDelay { get; set; } public static ConfigEntry scrapperItemDelay { get; set; } public static ConfigEntry chanceDelay { get; set; } public static ConfigEntry mountainDelay { get; set; } public static ConfigEntry bazaarDelay { get; set; } public static ConfigEntry cleanseDelay { get; set; } public static ConfigEntry woodsDelay { get; set; } public static ConfigEntry bloodDelay { get; set; } public static ConfigEntry droneVendorDelay { get; set; } public static ConfigEntry droneScrapperStartupDelay { get; set; } public static ConfigEntry droneScrapperDelay { get; set; } public static ConfigEntry droneCombinerDelay { get; set; } public static ConfigEntry 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("Delay Settings", "Printer Delay", 0.6f, "Printer delay in seconds"); scrapperDelay = ((BaseUnityPlugin)this).Config.Bind("Delay Settings", "Scrapper Delay", 0.3f, "Scrapper startup delay in seconds"); scrapperItemDelay = ((BaseUnityPlugin)this).Config.Bind("Delay Settings", "Scrapper Item Delay", 0.3f, "Scrapper delay between item drops in seconds"); chanceDelay = ((BaseUnityPlugin)this).Config.Bind("Delay Settings", "Shrine of Chance Delay", 0.4f, "Shrine of Chance delay in seconds"); mountainDelay = ((BaseUnityPlugin)this).Config.Bind("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("Delay Settings", "Bazaar trade Delay", 0.5f, "Bazaar item trade delay in seconds"); cleanseDelay = ((BaseUnityPlugin)this).Config.Bind("Delay Settings", "Cleansing Pool Delay", 0.5f, "Cleansing Pool delay in seconds"); woodsDelay = ((BaseUnityPlugin)this).Config.Bind("Delay Settings", "Shrine of the Woods Delay", 0.5f, "Shrine of the Woods delay in seconds"); bloodDelay = ((BaseUnityPlugin)this).Config.Bind("Delay Settings", "Shrine of Blood Delay", 0.5f, "Shrine of Blood delay in seconds"); droneVendorDelay = ((BaseUnityPlugin)this).Config.Bind("Delay Settings", "Drone Vendor Delay", 1f, "Drone Vendor delay in seconds"); droneScrapperStartupDelay = ((BaseUnityPlugin)this).Config.Bind("Delay Settings", "Drone Scrapper Startup Delay", 0.1f, "Drone Scrapper startup delay in seconds"); droneScrapperDelay = ((BaseUnityPlugin)this).Config.Bind("Delay Settings", "Drone Scrapper Delay", 0.5f, "Drone Scrapper delay in seconds"); droneCombinerDelay = ((BaseUnityPlugin)this).Config.Bind("Delay Settings", "Drone Combiner Delay", 0.7f, "Drone Combiner Station delay in seconds"); chefDelay = ((BaseUnityPlugin)this).Config.Bind("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(typeof(Duplicating), "initialDelayDuration", printerDelay.Value / 2f); Reflection.SetFieldValue(typeof(Duplicating), "timeBetweenStartAndDropDroplet", printerDelay.Value / 2f); Reflection.SetFieldValue(typeof(WaitToBeginScrapping), "duration", scrapperDelay.Value / 2f); Reflection.SetFieldValue(typeof(Scrapping), "duration", scrapperDelay.Value / 2f); Reflection.SetFieldValue(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().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().refreshTimer = mountainDelay.Value; } if (self.displayNameToken == "SHRINE_CHANCE_NAME") { ((Component)self).GetComponent().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(); 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)); } } }