using System; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using Battle; using BepInEx; using Microsoft.CodeAnalysis; using On; using UnityEngine; [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("DynamicSpeedup")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyDescription("Speeds up enemy turns")] [assembly: AssemblyFileVersion("1.0.4.0")] [assembly: AssemblyInformationalVersion("1.0.4+10c8e988150a17c39a4cd968f1e81f9c3eb1be5a")] [assembly: AssemblyProduct("DynamicSpeedup")] [assembly: AssemblyTitle("DynamicSpeedup")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.4.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.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 DynamicSpeedup { [BepInPlugin("DynamicSpeedup", "DynamicSpeedup", "1.0.4")] public class Plugin : BaseUnityPlugin { private float _userSpeedupMultiplier = 2.5f; private void Awake() { //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Expected O, but got Unknown ((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin DynamicSpeedup is loaded!"); _userSpeedupMultiplier = Mathf.Max(((BaseUnityPlugin)this).Config.Bind("General", "Speedup Multiplier", 2.5f, "Enemy turn speedup multiplier on top of base speedup amount. 2.5 multiplier with 2x speedup means enemy turns run at 5x speed").Value, 1f); TimescaleManager.Update += new hook_Update(TimescaleManagerOnUpdate); } private void OnDestroy() { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Expected O, but got Unknown TimescaleManager.Update -= new hook_Update(TimescaleManagerOnUpdate); } private void TimescaleManagerOnUpdate(orig_Update orig, TimescaleManager self) { //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Invalid comparison between Unknown and I4 orig.Invoke(self); if (self._isSpedUp && !(_userSpeedupMultiplier < 1f) && !self._speedupToggleBlocked && !PauseMenu.Paused) { BattleState currentBattleState = BattleController.CurrentBattleState; float speedupLevel = SettingsManager.Instance.SpeedupLevel; if ((int)currentBattleState == 6) { Time.timeScale = _userSpeedupMultiplier * speedupLevel; } else { Time.timeScale = speedupLevel; } } } } public static class MyPluginInfo { public const string PLUGIN_GUID = "DynamicSpeedup"; public const string PLUGIN_NAME = "DynamicSpeedup"; public const string PLUGIN_VERSION = "1.0.4"; } }