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 Actually Faster v1.1.4
ActuallyFaster.dll
Decompiled 2 years 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.Configuration; using BepInEx.Logging; using EntityStates; using EntityStates.Duplicator; using EntityStates.Scrapper; using MonoMod.RuntimeDetour; using On.EntityStates.Duplicator; using On.RoR2; using RoR2; 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 = "")] [assembly: AssemblyCompany("ActuallyFaster")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("ActuallyFaster")] [assembly: AssemblyTitle("ActuallyFaster")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace ActuallyFaster; [BepInPlugin("Felda.ActuallyFaster", "ActuallyFaster", "1.1.4")] public class ActuallyFaster : BaseUnityPlugin { [Serializable] [CompilerGenerated] private sealed class <>c { public static readonly <>c <>9 = new <>c(); public static hook_Start <>9__48_0; public static hook_Start <>9__48_1; public static hook_DropDroplet <>9__48_2; public static hook_ItemDrop <>9__48_3; internal IEnumerator <Awake>b__48_0(orig_Start orig, Stage self) { WaitToBeginScrapping.duration = 0f; Scrapping.duration = 0f; ScrappingToIdle.duration = 0f; return orig.Invoke(self); } internal IEnumerator <Awake>b__48_1(orig_Start orig, Stage self) { Duplicating.initialDelayDuration = 0f; Duplicating.timeBetweenStartAndDropDroplet = 0f; return orig.Invoke(self); } internal void <Awake>b__48_2(orig_DropDroplet orig, Duplicating self) { ((Component)((EntityState)self).outer).GetComponent<PurchaseInteraction>().Networkavailable = true; orig.Invoke(self); } internal void <Awake>b__48_3(orig_ItemDrop orig, ChestBehavior self) { self.dropUpVelocityStrength = 0f; self.dropForwardVelocityStrength = 0f; orig.Invoke(self); } } public const string PluginGUID = "Felda.ActuallyFaster"; public const string PluginAuthor = "Felda"; public const string PluginName = "ActuallyFaster"; public const string PluginVersion = "1.1.4"; public static ConfigEntry<bool> scrapper { get; set; } public static ConfigEntry<bool> printer { get; set; } public static ConfigEntry<bool> chanceShrine { get; set; } public static ConfigEntry<float> chanceShrineRefresh { get; set; } public static ConfigEntry<bool> cauldron { get; set; } public static ConfigEntry<bool> cleansingPool { get; set; } public static ConfigEntry<bool> chestDrop { get; set; } public static ConfigEntry<bool> woodShrine { get; set; } public static ConfigEntry<float> woodShrineRefresh { get; set; } public static ConfigEntry<bool> bloodShrine { get; set; } public static ConfigEntry<float> bloodShrineRefresh { get; set; } public void Awake() { //IL_01a2: Unknown result type (might be due to invalid IL or missing references) //IL_01a8: Expected O, but got Unknown //IL_01cb: Unknown result type (might be due to invalid IL or missing references) //IL_01d0: Unknown result type (might be due to invalid IL or missing references) //IL_01d6: Expected O, but got Unknown //IL_0200: Unknown result type (might be due to invalid IL or missing references) //IL_0205: Unknown result type (might be due to invalid IL or missing references) //IL_020b: Expected O, but got Unknown //IL_025a: Unknown result type (might be due to invalid IL or missing references) //IL_025f: Unknown result type (might be due to invalid IL or missing references) //IL_0265: Expected O, but got Unknown //IL_0225: Unknown result type (might be due to invalid IL or missing references) //IL_022a: Unknown result type (might be due to invalid IL or missing references) //IL_0230: Expected O, but got Unknown scrapper = ((BaseUnityPlugin)this).Config.Bind<bool>("Actually Faster", "Scrapper brrrrrt", true, "Should the scrapper go brrrrrt?"); printer = ((BaseUnityPlugin)this).Config.Bind<bool>("Actually Faster", "Printer brrrrrt", true, "Should the printer go brrrrrt?"); chanceShrine = ((BaseUnityPlugin)this).Config.Bind<bool>("Actually Faster", "Chance Shrine brrrrrt", true, "Should the chance shrine go brrrrrt?"); chanceShrineRefresh = ((BaseUnityPlugin)this).Config.Bind<float>("Actually Faster", "Chance Shrine refreshTimer brrrrrt", 0.1f, "Original is 2.0"); bloodShrine = ((BaseUnityPlugin)this).Config.Bind<bool>("Actually Faster", "Blood Shrine brrrrrt", true, "Should the blood shrine go brrrrrt?"); bloodShrineRefresh = ((BaseUnityPlugin)this).Config.Bind<float>("Actually Faster", "Blood Shrine refreshTimer brrrrrt", 0.1f, "Original is 2.0"); woodShrine = ((BaseUnityPlugin)this).Config.Bind<bool>("Actually Faster", "Wood Shrine brrrrrt", true, "Should the wood shrine go brrrrrt?"); woodShrineRefresh = ((BaseUnityPlugin)this).Config.Bind<float>("Actually Faster", "Wood Shrine refreshTimer brrrrrt", 0.1f, "Original is 2.0"); cauldron = ((BaseUnityPlugin)this).Config.Bind<bool>("Actually Faster", "Cauldron brrrrrt", true, "Should the cauldrons go brrrrrt?"); cleansingPool = ((BaseUnityPlugin)this).Config.Bind<bool>("Actually Faster", "Cleansing Pool brrrrrt", true, "Should the cleansing pool go brrrrrt?"); chestDrop = ((BaseUnityPlugin)this).Config.Bind<bool>("Actually Faster", "Chest drop brrrrrt", true, "Should the chests go brrrrrt?"); Hook val = new Hook((MethodBase)typeof(PurchaseInteraction).GetMethod("OnInteractionBegin", BindingFlags.Instance | BindingFlags.Public), typeof(ActuallyFaster).GetMethod("PurchaseInteraction_OnInteractionBegin")); if (scrapper.Value) { object obj = <>c.<>9__48_0; if (obj == null) { hook_Start val2 = delegate(orig_Start orig, Stage self) { WaitToBeginScrapping.duration = 0f; Scrapping.duration = 0f; ScrappingToIdle.duration = 0f; return orig.Invoke(self); }; <>c.<>9__48_0 = val2; obj = (object)val2; } Stage.Start += (hook_Start)obj; } if (printer.Value) { object obj2 = <>c.<>9__48_1; if (obj2 == null) { hook_Start val3 = delegate(orig_Start orig, Stage self) { Duplicating.initialDelayDuration = 0f; Duplicating.timeBetweenStartAndDropDroplet = 0f; return orig.Invoke(self); }; <>c.<>9__48_1 = val3; obj2 = (object)val3; } Stage.Start += (hook_Start)obj2; object obj3 = <>c.<>9__48_2; if (obj3 == null) { hook_DropDroplet val4 = delegate(orig_DropDroplet orig, Duplicating self) { ((Component)((EntityState)self).outer).GetComponent<PurchaseInteraction>().Networkavailable = true; orig.Invoke(self); }; <>c.<>9__48_2 = val4; obj3 = (object)val4; } Duplicating.DropDroplet += (hook_DropDroplet)obj3; } if (!chestDrop.Value) { return; } object obj4 = <>c.<>9__48_3; if (obj4 == null) { hook_ItemDrop val5 = delegate(orig_ItemDrop orig, ChestBehavior self) { self.dropUpVelocityStrength = 0f; self.dropForwardVelocityStrength = 0f; orig.Invoke(self); }; <>c.<>9__48_3 = val5; obj4 = (object)val5; } ChestBehavior.ItemDrop += (hook_ItemDrop)obj4; } public static void PurchaseInteraction_OnInteractionBegin(Action<PurchaseInteraction, Interactor> orig, PurchaseInteraction self, Interactor activator) { //IL_0133: Unknown result type (might be due to invalid IL or missing references) //IL_0139: Invalid comparison between Unknown and I4 //IL_013c: Unknown result type (might be due to invalid IL or missing references) //IL_0142: Invalid comparison between Unknown and I4 //IL_0145: Unknown result type (might be due to invalid IL or missing references) //IL_014b: Invalid comparison between Unknown and I4 //IL_017e: Unknown result type (might be due to invalid IL or missing references) //IL_0185: Invalid comparison between Unknown and I4 orig(self, activator); if ((chanceShrine.Value || cauldron.Value || cleansingPool.Value || bloodShrine.Value || woodShrine.Value) && !((Object)(object)self == (Object)null)) { if (chanceShrine.Value && self.displayNameToken.ToLower() == "shrine_chance_name") { ShrineChanceBehavior component = ((Component)self).GetComponent<ShrineChanceBehavior>(); component.refreshTimer = chanceShrineRefresh.Value; } else if (bloodShrine.Value && self.displayNameToken.ToLower() == "shrine_blood_name") { ShrineBloodBehavior component2 = ((Component)self).GetComponent<ShrineBloodBehavior>(); component2.refreshTimer = bloodShrineRefresh.Value; } else if (woodShrine.Value && self.displayNameToken.ToLower() == "shrine_healing_name") { ShrineHealingBehavior component3 = ((Component)self).GetComponent<ShrineHealingBehavior>(); component3.refreshTimer = woodShrineRefresh.Value; } if (((int)self.costType == 4 || (int)self.costType == 5 || (int)self.costType == 6) && cauldron.Value && self.Networkcost > 0 && !self.isShrine) { self.available = true; } if ((int)self.costType == 9 && self.Networkcost > 0 && cleansingPool.Value) { self.available = true; } } } } internal static class Log { internal static ManualLogSource _logSource; internal static void Init(ManualLogSource logSource) { _logSource = logSource; } internal static void LogDebug(object data) { _logSource.LogDebug(data); } internal static void LogError(object data) { _logSource.LogError(data); } internal static void LogFatal(object data) { _logSource.LogFatal(data); } internal static void LogInfo(object data) { _logSource.LogInfo(data); } internal static void LogMessage(object data) { _logSource.LogMessage(data); } internal static void LogWarning(object data) { _logSource.LogWarning(data); } }