Decompiled source of NewTrix v1.3.3
NewTrix.dll
Decompiled a week ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections.Generic; 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 HarmonyLib; using Microsoft.CodeAnalysis; using Reptile; using UnityEngine; using UnityEngine.SceneManagement; using newtrickx; using trickyclown; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETFramework,Version=v4.7.1", FrameworkDisplayName = ".NET Framework 4.7.1")] [assembly: AssemblyCompany("NewTrix")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyDescription("New Tricks for Bomb Rush Cyberfunk")] [assembly: AssemblyFileVersion("1.2.0.0")] [assembly: AssemblyInformationalVersion("1.2.0")] [assembly: AssemblyProduct("NewTrix")] [assembly: AssemblyTitle("NewTrix")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.2.0.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 newtrickx { [BepInPlugin("ConfigTrixSlidesAndManuals", "New Trix Slides", "1.2.0")] [BepInProcess("Bomb Rush Cyberfunk.exe")] internal class SlideAbilityPatches : BaseUnityPlugin { private Dictionary<string, ConfigEntry<string>> configEntriesSlide; public static SlideAbilityPatches Instance { get; private set; } private void Awake() { Instance = this; configEntriesSlide = new Dictionary<string, ConfigEntry<string>>(); configEntriesSlide["slideSkateboardCfg"] = ((BaseUnityPlugin)this).Config.Bind<string>("Manual/Slide/Roll", "slideSkateboardCfg", "roll", "Skateboard Manual"); configEntriesSlide["slideSkateboardNameCfg"] = ((BaseUnityPlugin)this).Config.Bind<string>("Manual/Slide/Roll", "slideSkateboardCfgName", "Manual", "Skateboard Manual Name"); configEntriesSlide["slideFootCfg"] = ((BaseUnityPlugin)this).Config.Bind<string>("Manual/Slide/Roll", "slideFootCfg", "softBounce17", "On-foot Roll/Slide"); configEntriesSlide["slideFootNameCfg"] = ((BaseUnityPlugin)this).Config.Bind<string>("Manual/Slide/Roll", "slideFootCfgName", "Check your configs >:3c", "On-foot Roll/Slide Name"); configEntriesSlide["slideInlineCfg"] = ((BaseUnityPlugin)this).Config.Bind<string>("Manual/Slide/Roll", "slideInlineCfg", "roll", "Inline Slide"); configEntriesSlide["slideInlineNameCfg"] = ((BaseUnityPlugin)this).Config.Bind<string>("Manual/Slide/Roll", "slideInlineCfgName", "Cess Slide", "Inline Slide Name"); configEntriesSlide["slideBmxCfg"] = ((BaseUnityPlugin)this).Config.Bind<string>("Manual/Slide/Roll", "slideBmxCfg", "roll", "BMX Manual"); configEntriesSlide["slideBmxNameCfg"] = ((BaseUnityPlugin)this).Config.Bind<string>("Manual/Slide/Roll", "slideBmxCfgName", "Manual", "BMX Manual Name"); } public string GetConfigValueSlide(string key) { if (configEntriesSlide.TryGetValue(key, out var value)) { return value.Value; } ((BaseUnityPlugin)this).Logger.LogError((object)("Config key '" + key + "' not found.")); return null; } [HarmonyPatch(typeof(SlideAbility), "OnStartAbility")] [HarmonyPrefix] public static bool OnStartAbility_Prefix(SlideAbility __instance) { //IL_00e9: Unknown result type (might be due to invalid IL or missing references) //IL_0117: Unknown result type (might be due to invalid IL or missing references) //IL_011d: Invalid comparison between Unknown and I4 //IL_015a: Unknown result type (might be due to invalid IL or missing references) //IL_0160: Invalid comparison between Unknown and I4 //IL_0192: Unknown result type (might be due to invalid IL or missing references) //IL_0198: Invalid comparison between Unknown and I4 //IL_021e: Unknown result type (might be due to invalid IL or missing references) //IL_01cc: Unknown result type (might be due to invalid IL or missing references) //IL_01d2: Invalid comparison between Unknown and I4 string configValueSlide = Instance.GetConfigValueSlide("slideSkateboardCfg"); string configValueSlide2 = Instance.GetConfigValueSlide("slideSkateboardNameCfg"); string configValueSlide3 = Instance.GetConfigValueSlide("slideFootCfg"); string configValueSlide4 = Instance.GetConfigValueSlide("slideFootNameCfg"); string configValueSlide5 = Instance.GetConfigValueSlide("slideInlineCfg"); string configValueSlide6 = Instance.GetConfigValueSlide("slideInlineNameCfg"); string configValueSlide7 = Instance.GetConfigValueSlide("slideBmxCfg"); string configValueSlide8 = Instance.GetConfigValueSlide("slideBmxNameCfg"); Console.WriteLine(((Ability)__instance).p.currentTrickName); ((Ability)__instance).setSpeedOnHittingBreakable = (__instance.baseSpeed = ((Ability)__instance).p.maxMoveSpeed); __instance.singleBoostCooldown = 0f; __instance.normalCapsuleHeight = ((Ability)__instance).p.motor.GetCapsule().height; __instance.normalCapsuleCenter = ((Ability)__instance).p.motor.GetCapsule().center.y; ((Ability)__instance).autoAirTrickFromLauncher = false; __instance.wantToStop = (__instance.stopDecided = false); if ((int)((Ability)__instance).p.moveStyle == 0) { __instance.trickName = configValueSlide4; __instance.rollHash = Animator.StringToHash(configValueSlide3); __instance.Crouch(true); } else if ((int)((Ability)__instance).p.moveStyle == 2) { __instance.trickName = configValueSlide2; __instance.rollHash = Animator.StringToHash(configValueSlide); } else if ((int)((Ability)__instance).p.moveStyle == 3) { __instance.trickName = configValueSlide6; __instance.rollHash = Animator.StringToHash(configValueSlide5); } else if ((int)((Ability)__instance).p.moveStyle == 1) { __instance.trickName = configValueSlide8; __instance.rollHash = Animator.StringToHash(configValueSlide7); } __instance.SetSlideState((SlideState)0); if (((Ability)__instance).p.lastElevationForSlideBoost > ((Ability)__instance).p.tf.position.y + 0.5f) { __instance.SingleBoost(((Ability)__instance).p.boostSpeed - 1f); } return false; } } [HarmonyPatch(typeof(VertAbility))] internal class VertAbilityPatches { [HarmonyPatch("StartTrick")] [HarmonyPrefix] public static bool StartTrick_Prefix(VertAbility __instance) { //IL_0579: Unknown result type (might be due to invalid IL or missing references) //IL_057f: Invalid comparison between Unknown and I4 //IL_0156: Unknown result type (might be due to invalid IL or missing references) //IL_015c: Invalid comparison between Unknown and I4 //IL_0587: Unknown result type (might be due to invalid IL or missing references) //IL_058d: Invalid comparison between Unknown and I4 //IL_0206: Unknown result type (might be due to invalid IL or missing references) //IL_020c: Invalid comparison between Unknown and I4 //IL_05b5: Unknown result type (might be due to invalid IL or missing references) //IL_05bb: Invalid comparison between Unknown and I4 //IL_02b3: Unknown result type (might be due to invalid IL or missing references) //IL_02b9: Invalid comparison between Unknown and I4 //IL_05e0: Unknown result type (might be due to invalid IL or missing references) //IL_05e6: Invalid comparison between Unknown and I4 //IL_0366: Unknown result type (might be due to invalid IL or missing references) //IL_036c: Invalid comparison between Unknown and I4 //IL_0651: Unknown result type (might be due to invalid IL or missing references) //IL_0657: Invalid comparison between Unknown and I4 //IL_06fe: Unknown result type (might be due to invalid IL or missing references) //IL_0704: Invalid comparison between Unknown and I4 //IL_0c48: Unknown result type (might be due to invalid IL or missing references) //IL_0454: Unknown result type (might be due to invalid IL or missing references) //IL_07ab: Unknown result type (might be due to invalid IL or missing references) //IL_07b1: Invalid comparison between Unknown and I4 //IL_0858: Unknown result type (might be due to invalid IL or missing references) //IL_085e: Invalid comparison between Unknown and I4 string configValueAir = ATAPatchTC.Instance.GetConfigValueAir("skateboardAirBoostTrick0cfg"); string configValueAir2 = ATAPatchTC.Instance.GetConfigValueAir("skateboardAirBoostTrick1cfg"); string configValueAir3 = ATAPatchTC.Instance.GetConfigValueAir("skateboardAirBoostTrick2cfg"); string configValueAir4 = ATAPatchTC.Instance.GetConfigValueAir("inlineAirBoostTrick0cfg"); string configValueAir5 = ATAPatchTC.Instance.GetConfigValueAir("inlineAirBoostTrick1cfg"); string configValueAir6 = ATAPatchTC.Instance.GetConfigValueAir("inlineAirBoostTrick2cfg"); string configValueAir7 = ATAPatchTC.Instance.GetConfigValueAir("bmxAirBoostTrick0cfg"); string configValueAir8 = ATAPatchTC.Instance.GetConfigValueAir("bmxAirBoostTrick1cfg"); string configValueAir9 = ATAPatchTC.Instance.GetConfigValueAir("bmxAirBoostTrick2cfg"); string configValueAir10 = ATAPatchTC.Instance.GetConfigValueAir("footAirBoostTrick0cfg"); string configValueAir11 = ATAPatchTC.Instance.GetConfigValueAir("footAirBoostTrick1cfg"); string configValueAir12 = ATAPatchTC.Instance.GetConfigValueAir("footAirBoostTrick2cfg"); AirTrickAbility airTrickAbility = ((Ability)__instance).p.airTrickAbility; airTrickAbility.curTrick = ((Ability)__instance).p.InputToTrickNumber(); Console.WriteLine("incheckboosttrick with value " + ((object)(MoveStyle)(ref ((Ability)__instance).p.moveStyle)).ToString()); bool tonyCfg = ATAPatchTC.GetTonyCfg(); if (((Ability)__instance).p.CheckBoostTrick()) { ((Ability)__instance).p.PlayAnim(airTrickAbility.airBoostTrickHashes[airTrickAbility.curTrick], false, false, -1f); if ((int)((Ability)__instance).p.moveStyle == 2) { if (airTrickAbility.curTrick == 0) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir), true, false, 0f); } if (airTrickAbility.curTrick == 1) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir2), true, false, 0f); } if (airTrickAbility.curTrick == 2) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir3), true, false, 0f); } } else if ((int)((Ability)__instance).p.moveStyle == 3) { if (airTrickAbility.curTrick == 0) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir4), true, false, 0f); } if (airTrickAbility.curTrick == 1) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir5), true, false, 0f); } if (airTrickAbility.curTrick == 2) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir6), true, false, 0f); } } if ((int)((Ability)__instance).p.moveStyle == 1) { if (airTrickAbility.curTrick == 0) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir7), true, false, 0f); } if (airTrickAbility.curTrick == 1) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir8), true, false, 0f); } if (airTrickAbility.curTrick == 2) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir9), true, false, 0f); } } else if ((int)((Ability)__instance).p.moveStyle == 0) { if (airTrickAbility.curTrick == 0) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir10), true, false, 0f); } if (airTrickAbility.curTrick == 1) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir11), true, false, 0f); } if (airTrickAbility.curTrick == 2) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir12), true, false, 0f); } } ((Ability)__instance).p.PlayVoice((AudioClipID)498, (VoicePriority)2, true); __instance.trickScoreBuffered = true; __instance.trickTimer = __instance.trickDuration * 1.5f; ((Ability)__instance).p.AddBoostCharge(0f - ((Ability)__instance).p.boostTrickCost); __instance.trickType = (TrickType)2; return false; } ((Ability)__instance).p.PlayAnim(airTrickAbility.airTrickHashes[airTrickAbility.curTrick], false, false, -1f); string configValueAir13 = ATAPatchTC.Instance.GetConfigValueAir("skateboardAirTrick0cfg"); string configValueAir14 = ATAPatchTC.Instance.GetConfigValueAir("skateboardAirTrick1cfg"); string configValueAir15 = ATAPatchTC.Instance.GetConfigValueAir("skateboardAirTrick2cfg"); string configValueAir16 = ATAPatchTC.Instance.GetConfigValueAir("inlineAirTrick0cfg"); string configValueAir17 = ATAPatchTC.Instance.GetConfigValueAir("inlineAirTrick1cfg"); string configValueAir18 = ATAPatchTC.Instance.GetConfigValueAir("inlineAirTrick2cfg"); string configValueAir19 = ATAPatchTC.Instance.GetConfigValueAir("bmxAirTrick0cfg"); string configValueAir20 = ATAPatchTC.Instance.GetConfigValueAir("bmxAirTrick1cfg"); string configValueAir21 = ATAPatchTC.Instance.GetConfigValueAir("bmxAirTrick2cfg"); string configValueAir22 = ATAPatchTC.Instance.GetConfigValueAir("footAirTrick0cfg"); string configValueAir23 = ATAPatchTC.Instance.GetConfigValueAir("footAirTrick1cfg"); string configValueAir24 = ATAPatchTC.Instance.GetConfigValueAir("footAirTrick2cfg"); ((Ability)__instance).p.PlayAnim(airTrickAbility.airTrickHashes[airTrickAbility.curTrick], true, false, 0f); if ((int)((Ability)__instance).p.moveStyle == 2 || (int)((Ability)__instance).p.moveStyle == 4) { airTrickAbility.duration = airTrickAbility.skateboardTrickDuration; } else if ((int)((Ability)__instance).p.moveStyle == 1) { airTrickAbility.duration = airTrickAbility.bmxTrickDuration; } else if ((int)((Ability)__instance).p.moveStyle == 3) { airTrickAbility.duration = airTrickAbility.inlineTrickDuration; } if (((Ability)__instance).p.CheckBoostTrick()) { airTrickAbility.SetupBoostTrick(); } else { ((Ability)__instance).p.PlayAnim(airTrickAbility.airTrickHashes[airTrickAbility.curTrick], true, false, 0f); if ((int)((Ability)__instance).p.moveStyle == 0) { if (airTrickAbility.curTrick == 0) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir22), true, false, 0f); } if (airTrickAbility.curTrick == 1) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir23), true, false, 0f); } if (airTrickAbility.curTrick == 2) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir24), true, false, 0f); } } if ((int)((Ability)__instance).p.moveStyle == 1) { if (airTrickAbility.curTrick == 0) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir19), true, false, 0f); } if (airTrickAbility.curTrick == 1) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir20), true, false, 0f); } if (airTrickAbility.curTrick == 2) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir21), true, false, 0f); } } if ((int)((Ability)__instance).p.moveStyle == 3) { if (airTrickAbility.curTrick == 0) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir16), true, false, -1f); } if (airTrickAbility.curTrick == 1) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir17), true, false, -1f); } if (airTrickAbility.curTrick == 2) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir18), true, false, -1f); } } if ((int)((Ability)__instance).p.moveStyle == 2) { bool flag = airTrickAbility.curTrick == 0; bool flag2 = airTrickAbility.curTrick == 1; bool flag3 = airTrickAbility.curTrick == 2; if (flag) { float moveAxisX = ((Ability)__instance).p.moveAxisX; float moveAxisY = ((Ability)__instance).p.moveAxisY; if (tonyCfg) { if (moveAxisX <= -0.25f) { if (moveAxisY <= -0.25f) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir13), true, false, -1f); } else if (moveAxisY >= 0.25f) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir13), true, false, -1f); } else { ((Ability)__instance).p.PlayAnim(Animator.StringToHash("groundTrick0"), true, false, -1f); } } else if (moveAxisX >= 0.25f) { if (moveAxisY <= -0.25f) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir13), true, false, -1f); } else if (moveAxisY >= 0.25f) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir13), true, false, -1f); } else { ((Ability)__instance).p.PlayAnim(Animator.StringToHash("groundTrick2"), true, false, -1f); } } else if (moveAxisY <= -0.25f) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash("grindTrick0"), true, false, -1f); } else if (moveAxisY >= 0.25f) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash("groundTrick3"), true, false, -1f); } else { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir13), true, false, -1f); } } else { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir13), true, false, -1f); } } if (flag2) { if (tonyCfg) { if (((Ability)__instance).p.slideButtonHeld) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash("groundBoostTrick0"), false, false, -1f); } else { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir14), false, false, -1f); } } else { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir14), false, false, -1f); } } if (flag3) { if (tonyCfg) { if (((Ability)__instance).p.moveAxisX >= 0.25f) { if (((Ability)__instance).p.moveAxisY <= -0.25f) { Console.WriteLine("EVEN FLOOOOOW"); ((Ability)__instance).p.PlayAnim(Animator.StringToHash("airBoostTrick2"), false, false, -1f); } else if (((Ability)__instance).p.moveAxisY >= 0.25f) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir15), false, false, -1f); } else { ((Ability)__instance).p.PlayAnim(Animator.StringToHash("airTrick1"), false, false, -1f); } } else { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir15), false, false, -1f); } } else { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir15), false, false, -1f); } } } } __instance.trickScoreBuffered = true; __instance.trickTimer = __instance.trickDuration; __instance.trickType = (TrickType)1; return false; } } } namespace trickyclown { [BepInPlugin("ConfigTrixAirTricks", "New Trix Air", "1.2.0")] [BepInProcess("Bomb Rush Cyberfunk.exe")] public class ATAPatchTC : BaseUnityPlugin { public static Dictionary<string, bool> IdleOverrides = new Dictionary<string, bool>(); public static ConfigEntry<bool> enableTonyCfg; private Dictionary<string, ConfigEntry<string>> configEntriesAir; public static ATAPatchTC Instance { get; private set; } private void Awake() { IdleOverrides["skateboardAirTrick0cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("Skateboard Air Tricks", "Skateboard Trick 0 Fall Override", false, "Override fall for Button 1 trick (FALL OVERRIDES REQUIRE GAME RESTART TO TAKE EFFECT)").Value; IdleOverrides["skateboardAirTrick1cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("Skateboard Air Tricks", "Skateboard Trick 1 Fall Override", false, "Override fall for Button 2 trick").Value; IdleOverrides["skateboardAirTrick2cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("Skateboard Air Tricks", "Skateboard Trick 2 Fall Override", false, "Override fall for Button 3 trick").Value; IdleOverrides["skateboardAirBoostTrick0cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("Skateboard Air Tricks", "Skateboard Boost Trick 0 Fall Override", false, "Override fall for Button 1 boost trick").Value; IdleOverrides["skateboardAirBoostTrick1cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("Skateboard Air Tricks", "Skateboard Boost Trick 1 Fall Override", false, "Override fall for Button 2 boost trick").Value; IdleOverrides["skateboardAirBoostTrick2cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("Skateboard Air Tricks", "Skateboard Boost Trick 2 Fall Override", false, "Override fall for Button 3 boost trick").Value; IdleOverrides["inlineAirTrick0cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("Inline Air Tricks", "Inline Trick 0 Fall Override", false, "Override fall for Button 1 trick (FALL OVERRIDES REQUIRE GAME RESTART TO TAKE EFFECT)").Value; IdleOverrides["inlineAirTrick1cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("Inline Air Tricks", "Inline Trick 1 Fall Override", false, "Override fall for Button 2 trick").Value; IdleOverrides["inlineAirTrick2cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("Inline Air Tricks", "Inline Trick 2 Fall Override", false, "Override fall for Button 3 trick").Value; IdleOverrides["inlineAirBoostTrick0cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("Inline Air Tricks", "Inline Boost Trick 0 Fall Override", false, "Override fall for Button 1 boost trick").Value; IdleOverrides["inlineAirBoostTrick1cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("Inline Air Tricks", "Inline Boost Trick 1 Fall Override", false, "Override fall for Button 2 boost trick").Value; IdleOverrides["inlineAirBoostTrick2cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("Inline Air Tricks", "Inline Boost Trick 2 Fall Override", false, "Override fall for Button 3 boost trick").Value; IdleOverrides["bmxAirTrick0cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("BMX Air Tricks", "Bmx Trick 0 Fall Override", false, "Override fall for Button 1 trick (FALL OVERRIDES REQUIRE GAME RESTART TO TAKE EFFECT)").Value; IdleOverrides["bmxAirTrick1cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("BMX Air Tricks", "Bmx Trick 1 Fall Override", false, "Override fall for Button 2 trick").Value; IdleOverrides["bmxAirTrick2cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("BMX Air Tricks", "Bmx Trick 2 Fall Override", false, "Override fall for Button 3 trick").Value; IdleOverrides["bmxAirBoostTrick0cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("BMX Air Tricks", "Bmx Boost Trick 0 Fall Override", false, "Override fall for Button 1 boost trick").Value; IdleOverrides["bmxAirBoostTrick1cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("BMX Air Tricks", "Bmx Boost Trick 1 Fall Override", false, "Override fall for Button 2 boost trick").Value; IdleOverrides["bmxAirBoostTrick2cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("BMX Air Tricks", "Bmx Boost Trick 2 Fall Override", false, "Override fall for Button 3 boost trick").Value; IdleOverrides["footAirTrick0cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("On-foot Air Tricks", "Foot Trick 0 Fall Override", false, "Override fall for Button 1 trick (FALL OVERRIDES REQUIRE GAME RESTART TO TAKE EFFECT)").Value; IdleOverrides["footAirTrick1cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("On-foot Air Tricks", "Foot Trick 1 Fall Override", false, "Override fall for Button 2 trick").Value; IdleOverrides["footAirTrick2cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("On-foot Air Tricks", "Foot Trick 2 Fall Override", false, "Override fall for Button 3 trick").Value; IdleOverrides["footAirBoostTrick0cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("On-foot Air Tricks", "Foot Boost Trick 0 Fall Override", false, "Override fall for Button 1 boost trick").Value; IdleOverrides["footAirBoostTrick1cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("On-foot Air Tricks", "Foot Boost Trick 1 Fall Override", false, "Override fall for Button 2 boost trick").Value; IdleOverrides["footAirBoostTrick2cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("On-foot Air Tricks", "Foot Boost Trick 2 Fall Override", false, "Override fall for Button 3 boost trick").Value; IdleOverrides["footAirTrickLeft0cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("On-foot Left Air Tricks", "Foot TrickLeft 0 Fall Override", false, "Override fall for Button 1 TrickLeft").Value; IdleOverrides["footAirTrickLeft1cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("On-foot Left Air Tricks", "Foot TrickLeft 1 Fall Override", false, "Override fall for Button 2 TrickLeft").Value; IdleOverrides["footAirTrickLeft2cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("On-foot Left Air Tricks", "Foot TrickLeft 2 Fall Override", false, "Override fall for Button 3 TrickLeft").Value; IdleOverrides["footAirBoostTrickLeft0cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("On-foot Left Air Tricks", "Foot Boost TrickLeft 0 Fall Override", false, "Override fall for Button 1 boost TrickLeft").Value; IdleOverrides["footAirBoostTrickLeft1cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("On-foot Left Air Tricks", "Foot Boost TrickLeft 1 Fall Override", false, "Override fall for Button 2 boost TrickLeft").Value; IdleOverrides["footAirBoostTrickLeft2cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("On-foot Left Air Tricks", "Foot Boost TrickLeft 2 Fall Override", false, "Override fall for Button 3 boost TrickLeft").Value; IdleOverrides["footAirTrickRight0cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("On-foot Right Air Tricks", "Foot TrickRight 0 Fall Override", false, "Override fall for Button 1 TrickRight").Value; IdleOverrides["footAirTrickRight1cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("On-foot Right Air Tricks", "Foot TrickRight 1 Fall Override", false, "Override fall for Button 2 TrickRight").Value; IdleOverrides["footAirTrickRight2cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("On-foot Right Air Tricks", "Foot TrickRight 2 Fall Override", false, "Override fall for Button 3 TrickRight").Value; IdleOverrides["footAirBoostTrickRight0cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("On-foot Right Air Tricks", "Foot Boost TrickRight 0 Fall Override", false, "Override fall for Button 1 boost TrickRight").Value; IdleOverrides["footAirBoostTrickRight1cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("On-foot Right Air Tricks", "Foot Boost TrickRight 1 Fall Override", false, "Override fall for Button 2 boost TrickRight").Value; IdleOverrides["footAirBoostTrickRight2cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("On-foot Right Air Tricks", "Foot Boost TrickRight 2 Fall Override", false, "Override fall for Button 3 boost TrickRight").Value; IdleOverrides["footAirTrickUp0cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("On-foot Up Air Tricks", "Foot TrickUp 0 Fall Override", false, "Override fall for Button 1 TrickUp").Value; IdleOverrides["footAirTrickUp1cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("On-foot Up Air Tricks", "Foot TrickUp 1 Fall Override", false, "Override fall for Button 2 TrickUp").Value; IdleOverrides["footAirTrickUp2cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("On-foot Up Air Tricks", "Foot TrickUp 2 Fall Override", false, "Override fall for Button 3 TrickUp").Value; IdleOverrides["footAirBoostTrickUp0cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("On-foot Up Air Tricks", "Foot Boost TrickUp 0 Fall Override", false, "Override fall for Button 1 boost TrickUp").Value; IdleOverrides["footAirBoostTrickUp1cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("On-foot Up Air Tricks", "Foot Boost TrickUp 1 Fall Override", false, "Override fall for Button 2 boost TrickUp").Value; IdleOverrides["footAirBoostTrickUp2cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("On-foot Up Air Tricks", "Foot Boost TrickUp 2 Fall Override", false, "Override fall for Button 3 boost TrickUp").Value; IdleOverrides["footAirTrickDown0cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("On-foot Down Air Tricks", "Foot TrickDown 0 Fall Override", false, "Override fall for Button 1 TrickDown").Value; IdleOverrides["footAirTrickDown1cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("On-foot Down Air Tricks", "Foot TrickDown 1 Fall Override", false, "Override fall for Button 2 TrickDown").Value; IdleOverrides["footAirTrickDown2cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("On-foot Down Air Tricks", "Foot TrickDown 2 Fall Override", false, "Override fall for Button 3 TrickDown").Value; IdleOverrides["footAirBoostTrickDown0cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("On-foot Down Air Tricks", "Foot Boost TrickDown 0 Fall Override", false, "Override fall for Button 1 boost TrickDown").Value; IdleOverrides["footAirBoostTrickDown1cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("On-foot Down Air Tricks", "Foot Boost TrickDown 1 Fall Override", false, "Override fall for Button 2 boost TrickDown").Value; IdleOverrides["footAirBoostTrickDown2cfg"] = ((BaseUnityPlugin)this).Config.Bind<bool>("On-foot Down Air Tricks", "Foot Boost TrickDown 2 Fall Override", false, "Override fall for Button 3 boost TrickDown").Value; enableTonyCfg = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "enableTonyCfg", false, "Enable Beta Skateboard Directional Tricks"); Instance = this; configEntriesAir = new Dictionary<string, ConfigEntry<string>> { { "skateboardAirTrick0cfg", ((BaseUnityPlugin)this).Config.Bind<string>("Skateboard Air Tricks", "Skateboard Trick 0", "airTrick0", "Button 1 trick") }, { "skateboardAirTrick0Namecfg", ((BaseUnityPlugin)this).Config.Bind<string>("Skateboard Air Tricks", "Skateboard Trick 0 Name", "Backside 360 Varial", "Button 1 trick name") }, { "skateboardAirTrick1cfg", ((BaseUnityPlugin)this).Config.Bind<string>("Skateboard Air Tricks", "Skateboard Trick 1", "airTrick1", "Button 2 trick") }, { "skateboardAirTrick1Namecfg", ((BaseUnityPlugin)this).Config.Bind<string>("Skateboard Air Tricks", "Skateboard Trick 1 Name", "Backflip Indy", "Button 2 trick name") }, { "skateboardAirTrick2cfg", ((BaseUnityPlugin)this).Config.Bind<string>("Skateboard Air Tricks", "Skateboard Trick 2", "jumpTrick1", "Button 3 trick (vanilla is \"airTrick2\")") }, { "skateboardAirTrick2Namecfg", ((BaseUnityPlugin)this).Config.Bind<string>("Skateboard Air Tricks", "Skateboard Trick 2 Name", "McTwist", "Button 3 trick name (vanilla is \"Method Grab\")") }, { "skateboardAirBoostTrick0cfg", ((BaseUnityPlugin)this).Config.Bind<string>("Skateboard Air Tricks", "Skateboard Boost Trick 0", "airBoostTrick0", "Button 1 boost trick") }, { "skateboardAirBoostTrick0Namecfg", ((BaseUnityPlugin)this).Config.Bind<string>("Skateboard Air Tricks", "Skateboard Boost Trick 0 Name", "1080", "Button 1 boost trick name") }, { "skateboardAirBoostTrick1cfg", ((BaseUnityPlugin)this).Config.Bind<string>("Skateboard Air Tricks", "Skateboard Boost Trick 1", "airBoostTrick1", "Button 2 boost trick") }, { "skateboardAirBoostTrick1Namecfg", ((BaseUnityPlugin)this).Config.Bind<string>("Skateboard Air Tricks", "Skateboard Boost Trick 1 Name", "1080", "Button 2 boost trick name") }, { "skateboardAirBoostTrick2cfg", ((BaseUnityPlugin)this).Config.Bind<string>("Skateboard Air Tricks", "Skateboard Boost Trick 2", "airBoostTrick2", "Button 3 boost trick") }, { "skateboardAirBoostTrick2Namecfg", ((BaseUnityPlugin)this).Config.Bind<string>("Skateboard Air Tricks", "Skateboard Boost Trick 2 Name", "1080", "Button 3 boost trick name") }, { "inlineAirTrick0cfg", ((BaseUnityPlugin)this).Config.Bind<string>("Inline Air Tricks", "Inline Trick 0", "airTrick0", "Button 1 trick") }, { "inlineAirTrick0Namecfg", ((BaseUnityPlugin)this).Config.Bind<string>("Inline Air Tricks", "Inline Trick 0 Name", "Cork 720", "Button 1 trick name") }, { "inlineAirTrick1cfg", ((BaseUnityPlugin)this).Config.Bind<string>("Inline Air Tricks", "Inline Trick 1", "airTrick1", "Button 2 trick") }, { "inlineAirTrick1Namecfg", ((BaseUnityPlugin)this).Config.Bind<string>("Inline Air Tricks", "Inline Trick 1 Name", "Method Grab", "Button 2 trick name") }, { "inlineAirTrick2cfg", ((BaseUnityPlugin)this).Config.Bind<string>("Inline Air Tricks", "Inline Trick 2", "airTrick2", "Button 3 trick") }, { "inlineAirTrick2Namecfg", ((BaseUnityPlugin)this).Config.Bind<string>("Inline Air Tricks", "Inline Trick 2 Name", "Abstract 360", "Button 3 trick name") }, { "inlineAirBoostTrick0cfg", ((BaseUnityPlugin)this).Config.Bind<string>("Inline Air Tricks", "Inline Boost Trick 0", "airBoostTrick0", "Button 1 boost trick") }, { "inlineAirBoostTrick0Namecfg", ((BaseUnityPlugin)this).Config.Bind<string>("Inline Air Tricks", "Inline Boost Trick 0 Name", "1080 California Roll", "Button 1 boost trick name") }, { "inlineAirBoostTrick1cfg", ((BaseUnityPlugin)this).Config.Bind<string>("Inline Air Tricks", "Inline Boost Trick 1", "airBoostTrick1", "Button 2 boost trick") }, { "inlineAirBoostTrick1Namecfg", ((BaseUnityPlugin)this).Config.Bind<string>("Inline Air Tricks", "Inline Boost Trick 1 Name", "1080 California Roll", "Button 2 boost trick name") }, { "inlineAirBoostTrick2cfg", ((BaseUnityPlugin)this).Config.Bind<string>("Inline Air Tricks", "Inline Boost Trick 2", "airBoostTrick2", "Button 3 boost trick") }, { "inlineAirBoostTrick2Namecfg", ((BaseUnityPlugin)this).Config.Bind<string>("Inline Air Tricks", "Inline Boost Trick 2 Name", "1080 California Roll", "Button 3 boost trick name") }, { "bmxAirTrick0cfg", ((BaseUnityPlugin)this).Config.Bind<string>("BMX Air Tricks", "Bmx Trick 0", "airTrick0", "Button 1 trick") }, { "bmxAirTrick0Namecfg", ((BaseUnityPlugin)this).Config.Bind<string>("BMX Air Tricks", "Bmx Trick 0 Name", "Tailwhip 360", "Button 1 trick name") }, { "bmxAirTrick1cfg", ((BaseUnityPlugin)this).Config.Bind<string>("BMX Air Tricks", "Bmx Trick 1", "airTrick1", "Button 2 trick") }, { "bmxAirTrick1Namecfg", ((BaseUnityPlugin)this).Config.Bind<string>("BMX Air Tricks", "Bmx Trick 1 Name", "No Hand Backflip", "Button 2 trick name") }, { "bmxAirTrick2cfg", ((BaseUnityPlugin)this).Config.Bind<string>("BMX Air Tricks", "Bmx Trick 2", "airTrick2", "Button 3 trick") }, { "bmxAirTrick2Namecfg", ((BaseUnityPlugin)this).Config.Bind<string>("BMX Air Tricks", "Bmx Trick 2 Name", "Superman Seat Grab Indian", "Button 3 trick name") }, { "bmxAirBoostTrick0cfg", ((BaseUnityPlugin)this).Config.Bind<string>("BMX Air Tricks", "Bmx Boost Trick 0", "airBoostTrick0", "Button 1 boost trick") }, { "bmxAirBoostTrick0Namecfg", ((BaseUnityPlugin)this).Config.Bind<string>("BMX Air Tricks", "Bmx Boost Trick 0 Name", "720 Double Backflip", "Button 1 boost trick name") }, { "bmxAirBoostTrick1cfg", ((BaseUnityPlugin)this).Config.Bind<string>("BMX Air Tricks", "Bmx Boost Trick 1", "airBoostTrick1", "Button 2 boost trick") }, { "bmxAirBoostTrick1Namecfg", ((BaseUnityPlugin)this).Config.Bind<string>("BMX Air Tricks", "Bmx Boost Trick 1 Name", "720 Double Backflip", "Button 2 boost trick name") }, { "bmxAirBoostTrick2cfg", ((BaseUnityPlugin)this).Config.Bind<string>("BMX Air Tricks", "Bmx Boost Trick 2", "airBoostTrick2", "Button 3 boost trick") }, { "bmxAirBoostTrick2Namecfg", ((BaseUnityPlugin)this).Config.Bind<string>("BMX Air Tricks", "Bmx Boost Trick 2 Name", "720 Double Backflip", "Button 3 boost trick name") }, { "footAirTrick0cfg", ((BaseUnityPlugin)this).Config.Bind<string>("On-foot Air Tricks", "Foot Trick 0", "airTrick0", "Button 1 trick") }, { "footAirTrick0Namecfg", ((BaseUnityPlugin)this).Config.Bind<string>("On-foot Air Tricks", "Foot Trick 0 Name", "Bullet Spin", "Button 1 trick name") }, { "footAirTrick1cfg", ((BaseUnityPlugin)this).Config.Bind<string>("On-foot Air Tricks", "Foot Trick 1", "airTrick1", "Button 2 trick") }, { "footAirTrick1Namecfg", ((BaseUnityPlugin)this).Config.Bind<string>("On-foot Air Tricks", "Foot Trick 1 Name", "Backflip Grab", "Button 2 trick name") }, { "footAirTrick2cfg", ((BaseUnityPlugin)this).Config.Bind<string>("On-foot Air Tricks", "Foot Trick 2", "airTrick2", "Button 3 trick") }, { "footAirTrick2Namecfg", ((BaseUnityPlugin)this).Config.Bind<string>("On-foot Air Tricks", "Foot Trick 2 Name", "Cheat 720", "Button 3 trick name") }, { "footAirBoostTrick0cfg", ((BaseUnityPlugin)this).Config.Bind<string>("On-foot Air Tricks", "Foot Boost Trick 0", "airBoostTrick0", "Button 1 boost trick") }, { "footAirBoostTrick0Namecfg", ((BaseUnityPlugin)this).Config.Bind<string>("On-foot Air Tricks", "Foot Boost Trick 0 Name", "Shuriken", "Button 1 boost trick name") }, { "footAirBoostTrick1cfg", ((BaseUnityPlugin)this).Config.Bind<string>("On-foot Air Tricks", "Foot Boost Trick 1", "airBoostTrick1", "Button 2 boost trick") }, { "footAirBoostTrick1Namecfg", ((BaseUnityPlugin)this).Config.Bind<string>("On-foot Air Tricks", "Foot Boost Trick 1 Name", "Shuriken", "Button 2 boost trick name") }, { "footAirBoostTrick2cfg", ((BaseUnityPlugin)this).Config.Bind<string>("On-foot Air Tricks", "Foot Boost Trick 2", "airBoostTrick2", "Button 3 boost trick") }, { "footAirBoostTrick2Namecfg", ((BaseUnityPlugin)this).Config.Bind<string>("On-foot Air Tricks", "Foot Boost Trick 2 Name", "Shuriken", "Button 3 boost trick name") }, { "footAirTrickLeft0cfg", ((BaseUnityPlugin)this).Config.Bind<string>("On-foot Left Air Tricks", "Foot TrickLeft 0", "", "Button 1 TrickLeft") }, { "footAirTrickLeft1cfg", ((BaseUnityPlugin)this).Config.Bind<string>("On-foot Left Air Tricks", "Foot TrickLeft 1", "", "Button 2 TrickLeft") }, { "footAirTrickLeft2cfg", ((BaseUnityPlugin)this).Config.Bind<string>("On-foot Left Air Tricks", "Foot TrickLeft 2", "", "Button 3 TrickLeft") }, { "footAirBoostTrickLeft0cfg", ((BaseUnityPlugin)this).Config.Bind<string>("On-foot Left Air Tricks", "Foot Boost TrickLeft 0", "", "Button 1 boost TrickLeft") }, { "footAirBoostTrickLeft1cfg", ((BaseUnityPlugin)this).Config.Bind<string>("On-foot Left Air Tricks", "Foot Boost TrickLeft 1", "", "Button 2 boost TrickLeft") }, { "footAirBoostTrickLeft2cfg", ((BaseUnityPlugin)this).Config.Bind<string>("On-foot Left Air Tricks", "Foot Boost TrickLeft 2", "", "Button 3 boost TrickLeft") }, { "footAirTrickRight0cfg", ((BaseUnityPlugin)this).Config.Bind<string>("On-foot Right Air Tricks", "Foot TrickRight 0", "", "Button 1 TrickRight") }, { "footAirTrickRight1cfg", ((BaseUnityPlugin)this).Config.Bind<string>("On-foot Right Air Tricks", "Foot TrickRight 1", "", "Button 2 TrickRight") }, { "footAirTrickRight2cfg", ((BaseUnityPlugin)this).Config.Bind<string>("On-foot Right Air Tricks", "Foot TrickRight 2", "", "Button 3 TrickRight") }, { "footAirBoostTrickRight0cfg", ((BaseUnityPlugin)this).Config.Bind<string>("On-foot Right Air Tricks", "Foot Boost TrickRight 0", "", "Button 1 boost TrickRight") }, { "footAirBoostTrickRight1cfg", ((BaseUnityPlugin)this).Config.Bind<string>("On-foot Right Air Tricks", "Foot Boost TrickRight 1", "", "Button 2 boost TrickRight") }, { "footAirBoostTrickRight2cfg", ((BaseUnityPlugin)this).Config.Bind<string>("On-foot Right Air Tricks", "Foot Boost TrickRight 2", "", "Button 3 boost TrickRight") }, { "footAirTrickUp0cfg", ((BaseUnityPlugin)this).Config.Bind<string>("On-foot Up Air Tricks", "Foot TrickUp 0", "", "Button 1 TrickUp") }, { "footAirTrickUp1cfg", ((BaseUnityPlugin)this).Config.Bind<string>("On-foot Up Air Tricks", "Foot TrickUp 1", "", "Button 2 TrickUp") }, { "footAirTrickUp2cfg", ((BaseUnityPlugin)this).Config.Bind<string>("On-foot Up Air Tricks", "Foot TrickUp 2", "", "Button 3 TrickUp") }, { "footAirBoostTrickUp0cfg", ((BaseUnityPlugin)this).Config.Bind<string>("On-foot Up Air Tricks", "Foot Boost TrickUp 0", "", "Button 1 boost TrickUp") }, { "footAirBoostTrickUp1cfg", ((BaseUnityPlugin)this).Config.Bind<string>("On-foot Up Air Tricks", "Foot Boost TrickUp 1", "", "Button 2 boost TrickUp") }, { "footAirBoostTrickUp2cfg", ((BaseUnityPlugin)this).Config.Bind<string>("On-foot Up Air Tricks", "Foot Boost TrickUp 2", "", "Button 3 boost TrickUp") }, { "footAirTrickDown0cfg", ((BaseUnityPlugin)this).Config.Bind<string>("On-foot Down Air Tricks", "Foot TrickDown 0", "", "Button 1 TrickDown") }, { "footAirTrickDown1cfg", ((BaseUnityPlugin)this).Config.Bind<string>("On-foot Down Air Tricks", "Foot TrickDown 1", "", "Button 2 TrickDown") }, { "footAirTrickDown2cfg", ((BaseUnityPlugin)this).Config.Bind<string>("On-foot Down Air Tricks", "Foot TrickDown 2", "", "Button 3 TrickDown") }, { "footAirBoostTrickDown0cfg", ((BaseUnityPlugin)this).Config.Bind<string>("On-foot Down Air Tricks", "Foot Boost TrickDown 0", "", "Button 1 boost TrickDown") }, { "footAirBoostTrickDown1cfg", ((BaseUnityPlugin)this).Config.Bind<string>("On-foot Down Air Tricks", "Foot Boost TrickDown 1", "", "Button 2 boost TrickDown") }, { "footAirBoostTrickDown2cfg", ((BaseUnityPlugin)this).Config.Bind<string>("On-foot Down Air Tricks", "Foot Boost TrickDown 2", "", "Button 3 boost TrickDown") } }; } public string GetConfigValueAir(string key) { if (configEntriesAir.TryGetValue(key, out var value)) { return value.Value; } ((BaseUnityPlugin)this).Logger.LogWarning((object)("Configuration key '" + key + "' not found.")); return null; } public static bool GetTonyCfg() { return enableTonyCfg.Value; } [HarmonyPatch(typeof(AirTrickAbility), "Init")] [HarmonyPrefix] private static bool Init_Prefix(AirTrickAbility __instance) { if ((Object)(object)Instance == (Object)null) { Console.WriteLine("ATAPatchTC.Instance is null in Init_Prefix."); return true; } string configValueAir = Instance.GetConfigValueAir("skateboardAirTrick0Namecfg"); string configValueAir2 = Instance.GetConfigValueAir("skateboardAirTrick1Namecfg"); string configValueAir3 = Instance.GetConfigValueAir("skateboardAirTrick2Namecfg"); string configValueAir4 = Instance.GetConfigValueAir("skateboardAirBoostTrick0Namecfg"); string configValueAir5 = Instance.GetConfigValueAir("skateboardAirBoostTrick1Namecfg"); string configValueAir6 = Instance.GetConfigValueAir("skateboardAirBoostTrick2Namecfg"); string configValueAir7 = Instance.GetConfigValueAir("inlineAirTrick0Namecfg"); string configValueAir8 = Instance.GetConfigValueAir("inlineAirTrick1Namecfg"); string configValueAir9 = Instance.GetConfigValueAir("inlineAirTrick2Namecfg"); string configValueAir10 = Instance.GetConfigValueAir("inlineAirBoostTrick0Namecfg"); string configValueAir11 = Instance.GetConfigValueAir("inlineAirBoostTrick1Namecfg"); string configValueAir12 = Instance.GetConfigValueAir("inlineAirBoostTrick2Namecfg"); string configValueAir13 = Instance.GetConfigValueAir("bmxAirTrick0Namecfg"); string configValueAir14 = Instance.GetConfigValueAir("bmxAirTrick1Namecfg"); string configValueAir15 = Instance.GetConfigValueAir("bmxAirTrick2Namecfg"); string configValueAir16 = Instance.GetConfigValueAir("bmxAirBoostTrick0Namecfg"); string configValueAir17 = Instance.GetConfigValueAir("bmxAirBoostTrick1Namecfg"); string configValueAir18 = Instance.GetConfigValueAir("bmxAirBoostTrick2Namecfg"); string configValueAir19 = Instance.GetConfigValueAir("footAirTrick0Namecfg"); string configValueAir20 = Instance.GetConfigValueAir("footAirTrick1Namecfg"); string configValueAir21 = Instance.GetConfigValueAir("footAirTrick2Namecfg"); string configValueAir22 = Instance.GetConfigValueAir("footAirBoostTrick0Namecfg"); string configValueAir23 = Instance.GetConfigValueAir("footAirBoostTrick1Namecfg"); string configValueAir24 = Instance.GetConfigValueAir("footAirBoostTrick2Namecfg"); __instance.skateboardTrickNames = new string[6] { configValueAir, configValueAir2, configValueAir3, configValueAir4, configValueAir5, configValueAir6 }; __instance.inlineTrickNames = new string[6] { configValueAir7, configValueAir8, configValueAir9, configValueAir10, configValueAir11, configValueAir12 }; __instance.bmxTrickNames = new string[6] { configValueAir13, configValueAir14, configValueAir15, configValueAir16, configValueAir17, configValueAir18 }; __instance.trickingTrickNames = new string[6] { configValueAir19, configValueAir20, configValueAir21, configValueAir22, configValueAir23, configValueAir24 }; return true; } [HarmonyPatch(typeof(AirTrickAbility), "OnStartAbility")] [HarmonyPrefix] private static bool OnStartAbilityPrefix(AirTrickAbility __instance) { //IL_0209: Unknown result type (might be due to invalid IL or missing references) //IL_0220: Unknown result type (might be due to invalid IL or missing references) //IL_0226: Invalid comparison between Unknown and I4 //IL_022e: Unknown result type (might be due to invalid IL or missing references) //IL_0234: Invalid comparison between Unknown and I4 //IL_0255: Unknown result type (might be due to invalid IL or missing references) //IL_025b: Invalid comparison between Unknown and I4 //IL_0279: Unknown result type (might be due to invalid IL or missing references) //IL_027f: Invalid comparison between Unknown and I4 //IL_02db: Unknown result type (might be due to invalid IL or missing references) //IL_02e1: Invalid comparison between Unknown and I4 //IL_0929: Unknown result type (might be due to invalid IL or missing references) //IL_092f: Invalid comparison between Unknown and I4 //IL_0a44: Unknown result type (might be due to invalid IL or missing references) //IL_0a4a: Invalid comparison between Unknown and I4 //IL_0b5e: Unknown result type (might be due to invalid IL or missing references) //IL_0b64: Invalid comparison between Unknown and I4 if ((Object)(object)Instance == (Object)null) { Console.WriteLine("ATAPatchTC.Instance is null in Init_Prefix."); return true; } string configValueAir = Instance.GetConfigValueAir("skateboardAirTrick0cfg"); string configValueAir2 = Instance.GetConfigValueAir("skateboardAirTrick1cfg"); string configValueAir3 = Instance.GetConfigValueAir("skateboardAirTrick2cfg"); string configValueAir4 = Instance.GetConfigValueAir("inlineAirTrick0cfg"); string configValueAir5 = Instance.GetConfigValueAir("inlineAirTrick1cfg"); string configValueAir6 = Instance.GetConfigValueAir("inlineAirTrick2cfg"); string configValueAir7 = Instance.GetConfigValueAir("bmxAirTrick0cfg"); string configValueAir8 = Instance.GetConfigValueAir("bmxAirTrick1cfg"); string configValueAir9 = Instance.GetConfigValueAir("bmxAirTrick2cfg"); string configValueAir10 = Instance.GetConfigValueAir("footAirTrick0cfg"); string configValueAir11 = Instance.GetConfigValueAir("footAirTrick1cfg"); string configValueAir12 = Instance.GetConfigValueAir("footAirTrick2cfg"); string configValueAir13 = Instance.GetConfigValueAir("footAirTrickLeft0cfg"); string configValueAir14 = Instance.GetConfigValueAir("footAirTrickLeft1cfg"); string configValueAir15 = Instance.GetConfigValueAir("footAirTrickLeft2cfg"); string configValueAir16 = Instance.GetConfigValueAir("footAirTrickRight0cfg"); string configValueAir17 = Instance.GetConfigValueAir("footAirTrickRight1cfg"); string configValueAir18 = Instance.GetConfigValueAir("footAirTrickRight2cfg"); string configValueAir19 = Instance.GetConfigValueAir("footAirTrickUp0cfg"); string configValueAir20 = Instance.GetConfigValueAir("footAirTrickUp1cfg"); string configValueAir21 = Instance.GetConfigValueAir("footAirTrickUp2cfg"); string configValueAir22 = Instance.GetConfigValueAir("footAirTrickDown0cfg"); string configValueAir23 = Instance.GetConfigValueAir("footAirTrickDown1cfg"); string configValueAir24 = Instance.GetConfigValueAir("footAirTrickDown2cfg"); __instance.hitEnemy = false; ((Ability)__instance).p.SetDustEmission(0); __instance.curTrick = ((Ability)__instance).p.InputToTrickNumber(); __instance.bufferSwitchStyle = false; ((Ability)__instance).targetSpeed = -1f; ((Ability)__instance).rotateSpeed = -1f; ((Ability)__instance).decc = -1f; __instance.trickType = (TrickType)0; __instance.duration = __instance.trickingTrickDuration; if ((int)((Ability)__instance).p.moveStyle == 2 || (int)((Ability)__instance).p.moveStyle == 4) { __instance.duration = __instance.skateboardTrickDuration; } else if ((int)((Ability)__instance).p.moveStyle == 1) { __instance.duration = __instance.bmxTrickDuration; } else if ((int)((Ability)__instance).p.moveStyle == 3) { __instance.duration = __instance.inlineTrickDuration; } if (((Ability)__instance).p.CheckBoostTrick()) { __instance.SetupBoostTrick(); } else { ((Ability)__instance).p.PlayAnim(__instance.airTrickHashes[__instance.curTrick], true, false, 0f); if ((int)((Ability)__instance).p.moveStyle == 0) { if (__instance.curTrick == 0) { if (((Ability)__instance).p.moveAxisX <= -0.75f && configValueAir13 != "") { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir13), true, false, 0f); if (IdleOverrides["footAirTrickLeft0cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } else if (((Ability)__instance).p.moveAxisX >= 0.75f && configValueAir16 != "") { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir16), true, false, 0f); if (IdleOverrides["footAirTrickRight0cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } else if (((Ability)__instance).p.moveAxisY >= 0.75f && configValueAir19 != "") { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir19), true, false, 0f); if (IdleOverrides["footAirTrickUp0cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } else if (((Ability)__instance).p.moveAxisY <= -0.75f && configValueAir22 != "") { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir22), true, false, 0f); if (IdleOverrides["footAirTrickDown0cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } else { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir10), true, false, 0f); if (IdleOverrides["footAirTrick0cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } } if (__instance.curTrick == 1) { if (((Ability)__instance).p.moveAxisX <= -0.75f && configValueAir14 != "") { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir14), true, false, 0f); if (IdleOverrides["footAirTrickLeft1cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } else if (((Ability)__instance).p.moveAxisX >= 0.75f && configValueAir17 != "") { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir17), true, false, 0f); if (IdleOverrides["footAirTrickRight1cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } else if (((Ability)__instance).p.moveAxisY >= 0.75f && configValueAir20 != "") { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir20), true, false, 0f); if (IdleOverrides["footAirTrickUp1cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } else if (((Ability)__instance).p.moveAxisY <= -0.75f && configValueAir23 != "") { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir23), true, false, 0f); if (IdleOverrides["footAirTrickDown1cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } else { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir11), true, false, 0f); if (IdleOverrides["footAirTrick1cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } } if (__instance.curTrick == 2) { if (((Ability)__instance).p.moveAxisX <= -0.75f && configValueAir15 != "") { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir15), true, false, 0f); if (IdleOverrides["footAirTrickLeft2cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } else if (((Ability)__instance).p.moveAxisX >= 0.75f && configValueAir18 != "") { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir18), true, false, 0f); if (IdleOverrides["footAirTrickRight2cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } else if (((Ability)__instance).p.moveAxisY >= 0.75f && configValueAir21 != "") { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir21), true, false, 0f); if (IdleOverrides["footAirTrickUp2cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } else if (((Ability)__instance).p.moveAxisY <= -0.75f && configValueAir24 != "") { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir24), true, false, 0f); if (IdleOverrides["footAirTrickDown2cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } else { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir12), true, false, 0f); if (IdleOverrides["footAirTrick2cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } } } else if ((int)((Ability)__instance).p.moveStyle == 1) { if (__instance.curTrick == 0) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir7), true, false, 0f); if (IdleOverrides["bmxAirTrick0cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } else if (__instance.curTrick == 1) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir8), true, false, 0f); if (IdleOverrides["bmxAirTrick1cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } else if (__instance.curTrick == 2) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir9), true, false, 0f); if (IdleOverrides["bmxAirTrick2cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } } else if ((int)((Ability)__instance).p.moveStyle == 3) { if (__instance.curTrick == 0) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir4), true, false, -1f); if (IdleOverrides["inlineAirTrick0cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } else if (__instance.curTrick == 1) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir5), true, false, -1f); if (IdleOverrides["inlineAirTrick1cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } else if (__instance.curTrick == 2) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir6), true, false, -1f); if (IdleOverrides["inlineAirTrick2cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } } else if ((int)((Ability)__instance).p.moveStyle == 2) { bool value = enableTonyCfg.Value; if (__instance.curTrick == 0) { float moveAxisX = ((Ability)__instance).p.moveAxisX; float moveAxisY = ((Ability)__instance).p.moveAxisY; if (value) { if (moveAxisX <= -0.25f) { if (moveAxisY <= -0.25f || moveAxisY >= 0.25f) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir), true, false, -1f); if (IdleOverrides["skateboardAirTrick0cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } else { ((Ability)__instance).p.PlayAnim(Animator.StringToHash("groundTrick0"), true, false, -1f); } VertAbilityPatches.overridingIdle = false; } else if (moveAxisX >= 0.25f) { if (moveAxisY <= -0.25f || moveAxisY >= 0.25f) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir), true, false, -1f); if (IdleOverrides["skateboardAirTrick0cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } else { ((Ability)__instance).p.PlayAnim(Animator.StringToHash("groundTrick2"), true, false, -1f); } VertAbilityPatches.overridingIdle = false; } else if (moveAxisY <= -0.25f) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash("grindTrick0"), true, false, -1f); VertAbilityPatches.overridingIdle = false; } else if (moveAxisY >= 0.25f) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash("groundTrick3"), true, false, -1f); VertAbilityPatches.overridingIdle = false; } else { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir), true, false, -1f); if (IdleOverrides["skateboardAirTrick0cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } } else { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir), true, false, -1f); if (IdleOverrides["skateboardAirTrick0cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } } else if (__instance.curTrick == 1) { if (value && ((Ability)__instance).p.slideButtonHeld) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash("groundBoostTrick0"), false, false, -1f); VertAbilityPatches.overridingIdle = false; } else { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir2), false, false, -1f); if (IdleOverrides["skateboardAirTrick1cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } } else if (__instance.curTrick == 2) { if (value) { if (((Ability)__instance).p.moveAxisX >= 0.25f) { if (((Ability)__instance).p.moveAxisY <= -0.25f) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash("airBoostTrick2"), false, false, -1f); VertAbilityPatches.overridingIdle = false; } else if (((Ability)__instance).p.moveAxisY >= 0.25f) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir3), false, false, -1f); if (IdleOverrides["skateboardAirTrick1cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } else { ((Ability)__instance).p.PlayAnim(Animator.StringToHash("airTrick1"), false, false, -1f); VertAbilityPatches.overridingIdle = false; } } else { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir3), false, false, -1f); if (IdleOverrides["skateboardAirTrick1cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } } else { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir3), false, false, -1f); if (IdleOverrides["skateboardAirTrick1cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } } } ((Ability)__instance).p.hitboxLeftLeg.SetActive(false); ((Ability)__instance).p.hitboxRightLeg.SetActive(false); ((Ability)__instance).p.hitboxUpperBody.SetActive(false); } return false; } [HarmonyPatch(typeof(AirTrickAbility), "SetupBoostTrick")] [HarmonyPrefix] private static bool SetupBoostTrick_Prefix(AirTrickAbility __instance) { //IL_019b: Unknown result type (might be due to invalid IL or missing references) //IL_01a1: Invalid comparison between Unknown and I4 //IL_02b3: Unknown result type (might be due to invalid IL or missing references) //IL_02b9: Invalid comparison between Unknown and I4 //IL_03cd: Unknown result type (might be due to invalid IL or missing references) //IL_03d3: Invalid comparison between Unknown and I4 //IL_04e8: Unknown result type (might be due to invalid IL or missing references) //IL_04ee: Invalid comparison between Unknown and I4 //IL_0b68: Unknown result type (might be due to invalid IL or missing references) string configValueAir = Instance.GetConfigValueAir("skateboardAirBoostTrick0cfg"); string configValueAir2 = Instance.GetConfigValueAir("skateboardAirBoostTrick1cfg"); string configValueAir3 = Instance.GetConfigValueAir("skateboardAirBoostTrick2cfg"); string configValueAir4 = Instance.GetConfigValueAir("inlineAirBoostTrick0cfg"); string configValueAir5 = Instance.GetConfigValueAir("inlineAirBoostTrick1cfg"); string configValueAir6 = Instance.GetConfigValueAir("inlineAirBoostTrick2cfg"); string configValueAir7 = Instance.GetConfigValueAir("bmxAirBoostTrick0cfg"); string configValueAir8 = Instance.GetConfigValueAir("bmxAirBoostTrick1cfg"); string configValueAir9 = Instance.GetConfigValueAir("bmxAirBoostTrick2cfg"); string configValueAir10 = Instance.GetConfigValueAir("footAirBoostTrick0cfg"); string configValueAir11 = Instance.GetConfigValueAir("footAirBoostTrick1cfg"); string configValueAir12 = Instance.GetConfigValueAir("footAirBoostTrick2cfg"); string configValueAir13 = Instance.GetConfigValueAir("footAirBoostTrickLeft0cfg"); string configValueAir14 = Instance.GetConfigValueAir("footAirBoostTrickLeft1cfg"); string configValueAir15 = Instance.GetConfigValueAir("footAirBoostTrickLeft2cfg"); string configValueAir16 = Instance.GetConfigValueAir("footAirBoostTrickRight0cfg"); string configValueAir17 = Instance.GetConfigValueAir("footAirBoostTrickRight1cfg"); string configValueAir18 = Instance.GetConfigValueAir("footAirBoostTrickRight2cfg"); string configValueAir19 = Instance.GetConfigValueAir("footAirBoostTrickUp0cfg"); string configValueAir20 = Instance.GetConfigValueAir("footAirBoostTrickUp1cfg"); string configValueAir21 = Instance.GetConfigValueAir("footAirBoostTrickUp2cfg"); string configValueAir22 = Instance.GetConfigValueAir("footAirBoostTrickDown0cfg"); string configValueAir23 = Instance.GetConfigValueAir("footAirBoostTrickDown1cfg"); string configValueAir24 = Instance.GetConfigValueAir("footAirBoostTrickDown2cfg"); if ((int)((Ability)__instance).p.moveStyle == 2) { if (__instance.curTrick == 0) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir), true, false, 0f); if (IdleOverrides["skateboardAirBoostTrick0cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } else if (__instance.curTrick == 1) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir2), true, false, 0f); if (IdleOverrides["skateboardAirBoostTrick1cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } else if (__instance.curTrick == 2) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir3), true, false, 0f); if (IdleOverrides["skateboardAirBoostTrick2cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } } else if ((int)((Ability)__instance).p.moveStyle == 3) { if (__instance.curTrick == 0) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir4), true, false, 0f); if (IdleOverrides["inlineAirBoostTrick0cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } else if (__instance.curTrick == 1) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir5), true, false, 0f); if (IdleOverrides["inlineAirBoostTrick1cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } else if (__instance.curTrick == 2) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir6), true, false, 0f); if (IdleOverrides["inlineAirBoostTrick2cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } } else if ((int)((Ability)__instance).p.moveStyle == 1) { if (__instance.curTrick == 0) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir7), true, false, 0f); if (IdleOverrides["bmxAirBoostTrick0cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } else if (__instance.curTrick == 1) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir8), true, false, 0f); if (IdleOverrides["bmxAirBoostTrick1cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } else if (__instance.curTrick == 2) { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir9), true, false, 0f); if (IdleOverrides["bmxAirBoostTrick2cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } } else if ((int)((Ability)__instance).p.moveStyle == 0) { if (__instance.curTrick == 0) { if (((Ability)__instance).p.moveAxisX <= -0.75f && configValueAir13 != "") { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir13), true, false, 0f); if (IdleOverrides["footAirBoostTrickLeft0cfg"]) { Console.WriteLine("trick overridingIdle = true"); VertAbilityPatches.overridingIdle = true; } else { Console.WriteLine("trick overridingIdle = false"); VertAbilityPatches.overridingIdle = false; } } else if (((Ability)__instance).p.moveAxisX >= 0.75f && configValueAir16 != "") { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir16), true, false, 0f); if (IdleOverrides["footAirBoostTrickRight0cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } else if (((Ability)__instance).p.moveAxisY >= 0.75f && configValueAir19 != "") { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir19), true, false, 0f); if (IdleOverrides["footAirBoostTrickUp0cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } else if (((Ability)__instance).p.moveAxisY <= -0.75f && configValueAir22 != "") { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir22), true, false, 0f); if (IdleOverrides["footAirBoostTrickDown0cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } else { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir10), true, false, 0f); if (IdleOverrides["footAirBoostTrick0cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } } if (__instance.curTrick == 1) { if (((Ability)__instance).p.moveAxisX <= -0.75f && configValueAir14 != "") { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir14), true, false, 0f); if (IdleOverrides["footAirBoostTrickLeft1cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } else if (((Ability)__instance).p.moveAxisX >= 0.75f && configValueAir17 != "") { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir17), true, false, 0f); if (IdleOverrides["footAirBoostTrickRight1cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } else if (((Ability)__instance).p.moveAxisY >= 0.75f && configValueAir20 != "") { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir20), true, false, 0f); if (IdleOverrides["footAirBoostTrickUp1cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } else if (((Ability)__instance).p.moveAxisY <= -0.75f && configValueAir23 != "") { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir23), true, false, 0f); if (IdleOverrides["footAirBoostTrickDown1cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } else { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir11), true, false, 0f); if (IdleOverrides["footAirBoostTrick1cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } } if (__instance.curTrick == 2) { if (((Ability)__instance).p.moveAxisX <= -0.75f && configValueAir15 != "") { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir15), true, false, 0f); if (IdleOverrides["footAirBoostTrickLeft2cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } else if (((Ability)__instance).p.moveAxisX >= 0.75f && configValueAir18 != "") { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir18), true, false, 0f); if (IdleOverrides["footAirBoostTrickRight2cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } else if (((Ability)__instance).p.moveAxisY >= 0.75f && configValueAir21 != "") { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir21), true, false, 0f); if (IdleOverrides["footAirBoostTrickUp2cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } else if (((Ability)__instance).p.moveAxisY <= -0.75f && configValueAir24 != "") { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir24), true, false, 0f); if (IdleOverrides["footAirBoostTrickDown2cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } else { ((Ability)__instance).p.PlayAnim(Animator.StringToHash(configValueAir12), true, false, 0f); if (IdleOverrides["footAirBoostTrick2cfg"]) { VertAbilityPatches.overridingIdle = true; } else { VertAbilityPatches.overridingIdle = false; } } } } ((Ability)__instance).p.PlayVoice((AudioClipID)498, (VoicePriority)2, true); ((Ability)__instance).p.ringParticles.Emit(1); __instance.trickType = (TrickType)2; __instance.duration *= 1.5f; if (!((Ability)__instance).p.isAI) { ((Ability)__instance).p.SetForwardSpeed(((Ability)__instance).p.boostSpeed); } ((Ability)__instance).p.AddBoostCharge(0f - ((Ability)__instance).p.boostTrickCost); return false; } } [HarmonyPatch(typeof(Player))] [HarmonyPatch("DoTrick")] public class DoTrickPatch { [HarmonyPostfix] public static void Postfix(Player __instance, TrickType type, string trickName, int trickNum) { if (trickName == "Frameride") { __instance.currentTrickPoints = 0; } } } [HarmonyPatch(typeof(WallrunLineAbility))] public static class WallrunLineAbilityPatches { public static float wallrunDuration; public static float postWallrunTimer; private const float wallrunThreshold = 0.1f; public static bool hasWallRan; [HarmonyPatch("OnStartAbility")] [HarmonyPostfix] public static void Postfix_OnStartAbility(WallrunLineAbility __instance) { if (__instance != null) { wallrunDuration = 0f; VertAbilityPatches.overridingIdle = false; Console.WriteLine("overridingIdle = false"); } } [HarmonyPatch("FixedUpdateAbility")] [HarmonyPostfix] public static void Postfix_FixedUpdateAbility(WallrunLineAbility __instance) { if (__instance != null && !((Object)(object)((Ability)__instance).p == (Object)null) && ((Ability)__instance).p.ability == ((Ability)__instance).p.wallrunAbility) { wallrunDuration += Time.deltaTime; postWallrunTimer = 0f; hasWallRan = false; } } [HarmonyPatch("OnStopAbility")] [HarmonyPostfix] public static void Postfix_OnStopAbility(WallrunLineAbility __instance) { if (__instance != null && wallrunDuration <= Time.deltaTime) { StartPostWallrunTimer(); hasWallRan = true; } } public static void StartPostWallrunTimer() { postWallrunTimer = 0f; } } [BepInPlugin("ConfigTrixMisc", "New Trix Misc", "1.2.0")] [BepInProcess("Bomb Rush Cyberfunk.exe")] public class BPatchTC : BaseUnityPlugin { public static ConfigEntry<bool> enableSwitchCfg; private Dictionary<string, ConfigEntry<string>> configEntries; public static BPatchTC Instance { get; private set; } private void Awake() { enableSwitchCfg = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "enableSwitchCfg", false, "Disable Boost Switching to On-foot (Leave this false if you're doing vanilla score attack or your run will be considered invalid.)"); Instance = this; configEntries = new Dictionary<string, ConfigEntry<string>> { { "airBoostCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc", "Midair Boost", "boostRun", "Midair Boost") }, { "groundBoostCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc", "Ground Boost", "boostRun", "Ground Boost") }, { "airBoostInlineCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc", "Midair Boost (Inline)", "boostRun", "Midair Boost (Inline)") }, { "groundBoostInlineCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc", "Ground Boost (Inline)", "boostRun", "Ground Boost (Inline)") }, { "airBoostSkateboardCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc", "Midair Boost (Skateboard)", "boostRun", "Midair Boost (Skateboard)") }, { "groundBoostSkateboardCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc", "Ground Boost (Skateboard)", "boostRun", "Ground Boost (Skateboard)") }, { "airBoostBMXCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc", "Midair Boost (BMX)", "boostRun", "Midair Boost (BMX)") }, { "groundBoostBMXCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc", "Ground Boost (BMX)", "boostRun", "Ground Boost (BMX)") }, { "airdashCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc", "Airdash", "airDash", "Airdash") }, { "airdashInlineCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc", "Inline Airdash", "airDash", "Inline Airdash") }, { "airdashSkateboardCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc", "Skateboard Airdash", "airDash", "Skateboard Airdash") }, { "airdashBmxCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc", "BMX Airdash", "airDash", "BMX Airdash") }, { "landRunCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc 2", "Land into Run", "landRun", "Land from Run") }, { "startRunCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc 2", "Start Run", "startRun", "Start Run") }, { "stopRunCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc 2", "Stop Run", "stopRun", "Stop Run") }, { "walkCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc 2", "Walk", "walk", "Walk") }, { "runCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc 2", "Run", "run", "Run") }, { "fallCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc 2", "Fall", "fall", "Fall") }, { "idleCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc 2", "Idle", "idle", "Idle") }, { "idleFidget1Cfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc 2", "Idle Fidget", "idleFidget1", "Idle Fidget. Leave blank for no idle fidget.") }, { "landRunCfgInline", ((BaseUnityPlugin)this).Config.Bind<string>("Misc 2 Inline", "Land into Run", "landRun", "Land from Run") }, { "startRunCfgInline", ((BaseUnityPlugin)this).Config.Bind<string>("Misc 2 Inline", "Start Run", "startRun", "Start Run") }, { "stopRunCfgInline", ((BaseUnityPlugin)this).Config.Bind<string>("Misc 2 Inline", "Stop Run", "stopRun", "Stop Run") }, { "walkCfgInline", ((BaseUnityPlugin)this).Config.Bind<string>("Misc 2 Inline", "Walk", "walk", "Walk") }, { "runCfgInline", ((BaseUnityPlugin)this).Config.Bind<string>("Misc 2 Inline", "Run", "run", "Run") }, { "fallCfgInline", ((BaseUnityPlugin)this).Config.Bind<string>("Misc 2 Inline", "Fall", "fall", "Fall") }, { "idleCfgInline", ((BaseUnityPlugin)this).Config.Bind<string>("Misc 2 Inline", "Idle", "idle", "Idle") }, { "idleFidget1CfgInline", ((BaseUnityPlugin)this).Config.Bind<string>("Misc 2 Inline", "Idle Fidget", "idleFidget1", "Idle Fidget. Leave blank for no idle fidget.") }, { "landRunCfgSkateboard", ((BaseUnityPlugin)this).Config.Bind<string>("Misc 2 Skateboard", "Land into Run", "landRun", "Land from Run") }, { "startRunCfgSkateboard", ((BaseUnityPlugin)this).Config.Bind<string>("Misc 2 Skateboard", "Start Run", "startRun", "Start Run") }, { "stopRunCfgSkateboard", ((BaseUnityPlugin)this).Config.Bind<string>("Misc 2 Skateboard", "Stop Run", "stopRun", "Stop Run") }, { "walkCfgSkateboard", ((BaseUnityPlugin)this).Config.Bind<string>("Misc 2 Skateboard", "Walk", "walk", "Walk") }, { "runCfgSkateboard", ((BaseUnityPlugin)this).Config.Bind<string>("Misc 2 Skateboard", "Run", "run", "Run") }, { "fallCfgSkateboard", ((BaseUnityPlugin)this).Config.Bind<string>("Misc 2 Skateboard", "Fall", "fall", "Fall") }, { "idleCfgSkateboard", ((BaseUnityPlugin)this).Config.Bind<string>("Misc 2 Skateboard", "Idle", "idle", "Idle") }, { "idleFidget1CfgSkateboard", ((BaseUnityPlugin)this).Config.Bind<string>("Misc 2 Skateboard", "Idle Fidget", "idleFidget1", "Idle Fidget. Leave blank for no idle fidget.") }, { "landRunCfgBMX", ((BaseUnityPlugin)this).Config.Bind<string>("Misc 2 BMX", "Land into Run", "landRun", "Land from Run") }, { "startRunCfgBMX", ((BaseUnityPlugin)this).Config.Bind<string>("Misc 2 BMX", "Start Run", "startRun", "Start Run") }, { "stopRunCfgBMX", ((BaseUnityPlugin)this).Config.Bind<string>("Misc 2 BMX", "Stop Run", "stopRun", "Stop Run") }, { "walkCfgBMX", ((BaseUnityPlugin)this).Config.Bind<string>("Misc 2 BMX", "Walk", "walk", "Walk") }, { "runCfgBMX", ((BaseUnityPlugin)this).Config.Bind<string>("Misc 2 BMX", "Run", "run", "Run") }, { "fallCfgBMX", ((BaseUnityPlugin)this).Config.Bind<string>("Misc 2 BMX", "Fall", "fall", "Fall") }, { "idleCfgBMX", ((BaseUnityPlugin)this).Config.Bind<string>("Misc 2 BMX", "Idle", "idle", "Idle") }, { "idleFidget1CfgBMX", ((BaseUnityPlugin)this).Config.Bind<string>("Misc 2 BMX", "Idle Fidget", "idleFidget1", "Idle Fidget. Leave blank for no idle fidget.") }, { "jumpCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc", "Jump", "jump", "Jump") }, { "jumpCfgInline", ((BaseUnityPlugin)this).Config.Bind<string>("Misc", "Jump Inline", "jump", "Jump Inline") }, { "jumpCfgSkateboard", ((BaseUnityPlugin)this).Config.Bind<string>("Misc", "Jump Skateboard", "jump", "Jump Skateboard") }, { "jumpCfgBMX", ((BaseUnityPlugin)this).Config.Bind<string>("Misc", "Jump BMX", "jump", "Jump BMX") }, { "boostBrakeCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc", "Boost Brake", "boostBrake", "Boost Brake") }, { "boostBrakeInlineCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc", "Boost Brake Inline", "boostBrake", "Boost Brake Inline") }, { "boostBrakeSkateboardCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc", "Boost Brake Skateboard", "boostBrake", "Boost Brake Skateboard") }, { "boostBrakeBMXCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc", "Boost Brake BMX", "boostBrake", "Boost Brake BMX") }, { "boostStartCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc", "Boost Start", "startBoost", "Boost Start. If you want this to be the same as your ground boost, leave it blank, otherwise it won't work.") }, { "boostStartInlineCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc", "Boost Start Inline", "startBoost", "Boost Start Inline. If you want this to be the same as your ground boost, leave it blank, otherwise it won't work.") }, { "boostStartSkateboardCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc", "Boost Start Skateboard", "startBoost", "Boost Start Skateboard. If you want this to be the same as your ground boost, leave it blank, otherwise it won't work.") }, { "boostStartBMXCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc", "Boost Start BMX", "startBoost", "Boost Start BMX. If you want this to be the same as your ground boost, leave it blank, otherwise it won't work.") }, { "poleFreezeCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc", "Handplant/Pole Freeze", "poleFreeze", "Handplant/Pole Freeze") }, { "poleFreezeInlineCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc", "Handplant/Pole Freeze Inline", "poleFreeze", "Handplant/Pole Freeze Inline") }, { "poleFreezeSkateboardCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc", "Handplant/Pole Freeze Skateboard", "poleFreeze", "Handplant/Pole Freeze Skateboard") }, { "poleFreezeBMXCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc", "Handplant/Pole Freeze BMX", "poleFreeze", "Handplant/Pole Freeze BMX") }, { "poleFlipCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc", "Pole Flip", "poleFlip", "Pole Flip") }, { "poleFlipInlineCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc", "Pole Flip Inline", "poleFlip", "Pole Flip Inline") }, { "poleFlipSkateboardCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc", "Pole Flip Skateboard", "poleFlip", "Pole Flip Skateboard") }, { "poleFlipBMXCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc", "Pole Flip BMX", "poleFlip", "Pole Flip BMX") }, { "jumpTrickCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc", "Trick Jump/Corkscrew", "jumpTrick1", "Trick Jump/Corkscrew") }, { "jumpTrickInlineCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc", "Trick Jump Inline/Corkscrew", "jumpTrick1", "Trick Jump Inline/Corkscrew") }, { "jumpTrickSkateboardCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc", "Trick Jump Skateboard/McTwist", "jumpTrick1", "Trick Jump Skateboard/McTwist") }, { "jumpTrickBMXCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc", "Trick Jump BMX/360 Backflip", "jumpTrick1", "Trick Jump BMX/360 Backflip") }, { "goonCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc", "Frameride", "protectArmsWideIdle", "Frameride") }, { "goonInlineCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc", "Frameride Inline", "grafSlashFinisher", "Frameride Inline") }, { "goonSkateboardCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc", "Frameride Skateboard", "knockBackBig", "Frameride Skateboard") }, { "goonBMXCfg", ((BaseUnityPlugin)this).Config.Bind<string>("Misc", "Frameride BMX", "surrender", "Frameride BMX") } }; } public static bool GetSwitchCfg() { return enableSwitchCfg.Value; } public string GetConfigValueMisc(string key) { if (configEntries != null && configEntries.TryGetValue(key, out var value)) { return value.Value; } ((BaseUnityPlugin)this).Logger.LogWarning((object)("Configuration key '" + key + "' not found.")); return null; } [HarmonyPatch(typeof(BoostAbility), "OnStartAbility")] [HarmonyPrefix] private static bool OnStartAbilityPrefix(BoostAbility __instance) { VertAbilityPatches.overridingIdle = false; if (__instance == null) { return true; } if (!enableSwitchCfg.Value) { return true; } __instance.haveAirStartBoost = false; __instance.equippedMovestyleWasUsed = (Object)(object)((Ability)__instance).p != (Object)null && ((Ability)__instance).p.usingEquippedMovestyle; __instance.SetState((State)0); return false; } [HarmonyPatch(typeof(Player), "FixedUpdatePlayer")] [HarmonyPostfix] private static void FixedUpdatePlayerPostfix(Player __instance) { //IL_021e: Unknown result type (might be due to invalid IL or missing references) //IL_0224: Invalid comparison between Unknown and I4 //IL_02be: Unknown result type (might be due to invalid IL or missing references) //IL_02c4: Invalid comparison between Unknown and I4 //IL_035e: Unknown result type (might be due to invalid IL or missing references) //IL_0364: Invalid comparison between Unknown and I4 //IL_03fe: Unknown result type (might be due to invalid IL or missing references) //IL_0404: Invalid comparison between Unknown and I4 string configValueMisc = Instance.GetConfigValueMisc("landRunCfg"); string configValueMisc2 = Instance.GetConfigValueMisc("startRunCfg"); string configValueMisc3 = Instance.GetConfigValueMisc("stopRunCfg"); string configValueMisc4 = Instance.GetConfigValueMisc("walkCfg"); string configValueMisc5 = Instance.GetConfigValueMisc("runCfg"); string configValueMisc6 = Instance.GetConfigValueMisc("fallCfg"); string configValueMisc7 = Instance.GetConfigValueMisc("idleCfg"); string configValueMisc8 = Instance.GetConfigValueMisc("idleFidget1Cfg"); string configValueMisc9 = Instance.GetConfigValueMisc("landRunCfgInline"); string configValueMisc10 = Instance.GetConfigValueMisc("startRunCfgInline"); string configValueMisc11 = Instance.GetConfigValueMisc("stopRunCfgInline"); string configValueMisc12 = Instance.GetConfigValueMisc("walkCfgInline"); string configValueMisc13 = Instance.GetConfigValueMisc("runCfgInline"); string configValueMisc14 = Instance.GetConfigValueMisc("fallCfgInline"); string configValueMisc15 = Instance.GetConfigValueMisc("idleCfgInline"); string configValueMisc16 = Instance.GetConfigValueMisc("idleFidget1CfgInline"); string configValueMisc17 = Instance.GetConfigValueMisc("landRunCfgSkateboard"); string configValueMisc18 = Instance.GetConfigValueMisc("startRunCfgSkateboard"); string configValueMisc19 = Instance.GetConfigValueMisc("stopRunCfgSkateboard"); string configValueMisc20 = Instance.GetConfigValueMisc("walkCfgSkateboard"); string configValueMisc21 = Instance.GetConfigValueMisc("runCfgSkateboard"); string configValueMisc22 = Instance.GetConfigValueMisc("fallCfgSkateboard"); string configValueMisc23 = Instance.GetConfigValueMisc("idleCfgSkateboard"); string configValueMisc24 = Instance.GetConfigValueMisc("idleFidget1CfgSkateboard"); string configValueMisc25 = Instance.GetConfigValueMisc("landRunCfgBMX"); string configValueMisc26 = Instance.GetConfigValueMisc("startRunCfgBMX"); string configValueMisc27 = Instance.GetConfigValueMisc("stopRunCfgBMX"); string configValueMisc28 = Instance.GetConfigValueMisc("walkCfgBMX"); string configValueMisc29 = Instance.GetConfigValueMisc("runCfgBMX"); string configValueMisc30 = Instance.GetConfigValueMisc("fallCfgBMX"); string configValueMisc31 = Instance.GetConfigValueMisc("idleCfgBMX"); string configValueMisc32 = Instance.GetConfigValueMisc("idleFidget1CfgBMX"); if ((int)__instance.moveStyle == 3) { __instance.landRunHash = Animator.StringToHash(configValueMisc9); __instance.startRunHash = Animator.StringToHash(configValueMisc10); __instance.stopRunHash = Animator.StringToHash(configValueMisc11); __instance.walkHash = Animator.StringToHash(configValueMisc12); __instance.runHash = Animator.StringToHash(configValueMisc13); __instance.idleHash = Animator.StringToHash(configValueMisc15); __instance.idleFidget1Hash = Animator.StringToHash(configValueMisc16); if (VertAbilityPatches.overridingIdle) { __instance.fallHash = Animator.StringToHash(""); } else { __instance.fallHash = Animator.StringToHash(configValueMisc14); } } else if ((int)__instance.moveStyle == 2) { __instance.landRunHash = Animator.StringToHash(configValueMisc17); __instance.startRunHash = Animator.StringToHash(configValueMisc18); __instance.stopRunHash = Animator.StringToHash(configValueMisc19); __instance.walkHash = Animator.StringToHash(configValueMisc20); __instance.runHash = Animator.StringToHash(configValueMisc21); __instance.idleHash = Animator.StringToHash(configValueMisc23); __instance.idleFidget1Hash = Animator.StringToHash(configValueMisc24); if (VertAbilityPatches.overridingIdle) { __instance.fallHash = Animator.StringToHash(""); } else { __instance.fallHash = Animator.StringToHash(configValueMisc22); } } else if ((int)__instance.moveStyle == 1) { __instance.landRunHash = Animator.StringToHash(configValueMisc25); __instance.startRunHash = Animator.StringToHash(configValueMisc26); __instance.stopRunHash = Animator.StringToHash(configValueMisc27); __instance.walkHash = Animator.StringToHash(configValueMisc28); __instance.runHash = Animator.StringToHash(configValueMisc29); __instance.idleHash = Animator.StringToHash(configValueMisc31); __instance.idleFidget1Hash = Animator.StringToHash(configValueMisc32); if (VertAbilityPatches.overridingIdle) { __instance.fallHash = Animator.StringToHash(""); } else { __instance.fallHash = Animator.StringToHash(configValueMisc30); } } else if ((int)__instance.moveStyle == 0) { __instance.landRunHash = Animator.StringToHash(configValueMisc); __instance.startRunHash = Animator.StringToHash(configValueMisc2); __instance.stopRunHash = Animator.StringToHash(configValueMisc3); __instance.walkHash = Animator.StringToHash(configValueMisc4); __instance.runHash = Animator.StringToHash(configValueMisc5); __instance.idleHash = Animator.StringToHash(configValueMisc7); __instance.idleFidget1Hash = Animator.StringToHash(configValueMisc8); if (VertAbilityPatches.overridingIdle) { __instance.fallHash = Animator.StringToHash(""); } else { __instance.fallHash = Animator.StringToHash(configValueMisc6); } } } [HarmonyPatch(typeof(Player), "Jump")] [HarmonyPostfix] private static void JumpPostfix(Player __instance) { //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Invalid comparison between Unknown and I4 //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Invalid comparison between Unknown and I4 //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Invalid comparison between Unknown and I4 //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: Invalid comparison between Unknown and I4 string configValueMisc = Instance.GetConfigValueMisc("jumpCfg"); string configValueMisc2 = Instance.GetConfigValueMisc("jumpCfgInline"); string configValueMisc3 = Instance.GetConfigValueMisc("jumpCfgSkateboard"); string configValueMisc4 = Instance.GetConfigValueMisc("jumpCfgBMX"); if ((int)__instance.moveStyle == 3) { __instance.PlayAnim(Animator.StringToHash(configValueMisc2), false, false, -1f); } else if ((int)__instance.moveStyle == 2) { __instance.PlayAnim(Animator.StringToHash(configValueMisc3), false, false, -1f); } else if ((int)__instance.moveStyle == 1) { __instance.PlayAnim(Animator.StringToHash(configValueMisc4), false, false, -1f); } else if ((int)__instance.moveStyle == 0) { __instance.PlayAnim(Animator.StringToHash(configValueMisc), false, false, -1f); } } [HarmonyPatch(typeof(HandplantAbility), "FixedUpdateAbility")] [HarmonyPostfix] private static void FixedUpdateAbilityPostfix(HandplantAbility __instance) { //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Invalid comparison between Unknown and I4 //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Invalid comparison between Unknown and I4 //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Invalid comparison between Unknown and I4 //IL_00ad: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Invalid comparison between Unknown and I4 string configValueMisc = Instance.GetConfigValueMisc("poleFreezeCfg"); string configValueMisc2 = Instance.GetConfigValueMisc("poleFreezeInlineCfg"); string configValueMisc3 = Instance.GetConfigValueMisc("poleFreezeSkateboardCfg"); string configValueMisc4 = Instance.GetConfigValueMisc("poleFreezeBMXCfg"); if ((int)((Ability)__instance).p.moveStyle == 0) { __instance.poleFreezeHash = Animator.StringToHash(configValueMisc); } if ((int)((Ability)__instance).p.moveStyle == 3) { __instance.poleFreezeHash = Animator.StringToHash(configValueMisc2); } if ((int)((Ability)__instance).p.moveStyle == 2) { __instance.poleFreezeHash = Animator.StringToHash(configValueMisc3); } if ((int)((Ability)__instance).p.moveStyle == 1) { __instance.poleFreezeHash = Animator.StringToHash(configValueMisc4); } } [HarmonyPatch(typeof(SpecialAirAbility), "FixedUpdateAbility")] [HarmonyPostfix] private static void FixedUpdateAbilityPostfix(SpecialAirAbility __instance) { //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Invalid comparison between Unknown and I4 //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Invalid comparison between Unknown and I4 //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Invalid comparison between Unknown and I4 //IL_00ad: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Invalid comparison between Unknown and I4 string configValueMisc = Instance.GetConfigValueMisc("jumpTrickCfg"); string configValueMisc2 = Instance.GetConfigValueMisc("jumpTrickInlineCfg"); string configValueMisc3 = Instance.GetConfigValueMisc("jumpTrickSkateboardCfg"); string configValueMisc4 = Instance.GetConfigValueMisc("jumpTrickBMXCfg"); if ((int)((Ability)__instance).p.moveStyle == 0) { __instance.jumpTrick1Hash = Animator.StringToHash(configValueMisc); } if ((int)((Ability)__instance).p.moveStyle == 3) { __instance.jumpTrick1Hash = Animator.StringToHash(configValueMisc2); } if ((int)((Ability)__instance).p.moveStyle == 2) { __instance.jumpTrick1Hash = Animator.StringToHash(configValueMisc3); } if ((int)((Ability)__instance).p.moveStyle == 1) { __instance.jumpTrick1Hash = Animator.StringToHash(configValueMisc4); } } [HarmonyPatch(typeof(FlipOutJumpAbility), "FixedUpdateAbility")] [HarmonyPostfix] private static void FixedUpdateAbilityPostfix(FlipOutJumpAbility __instance) { //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Invalid comparison between Unknown and I4 //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Invalid comparison between Unknown and I4 //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Invalid comparison between Unknown and I4 //IL_00ad: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Invalid comparison between Unknown and I4 string configValueMisc = Instance.GetConf