Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of Raising The Bar v1.1.0
RaisingTheBar.dll
Decompiled a year agousing System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Configuration; using HG.Reflection; using KinematicCharacterController; using On.EntityStates; using On.RoR2; using On.RoR2.UI; using R2API; using R2API.Utils; using RiskOfOptions; using RiskOfOptions.OptionConfigs; using RiskOfOptions.Options; using RoR2; using RoR2.Projectile; using RoR2.UI; using UnityEngine; using UnityEngine.AddressableAssets; using UnityEngine.Networking; using UnityEngine.UI; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: OptIn] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("RaisingTheBar")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("RaisingTheBar")] [assembly: AssemblyTitle("RaisingTheBar")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace RaissingTheBar; [Serializable] [BepInPlugin("com.brynzananas.raisingthebar", "Raising The Bar", "1.1.0")] [BepInDependency("com.bepis.r2api", "5.0.10")] [NetworkCompatibility(/*Could not decode attribute arguments.*/)] public class Main : BaseUnityPlugin { public class RocketTestJumpComponent : MonoBehaviour { public float rocketJumpPower = 1f; public bool applyVelocity = true; public Vector3 addVelocity = Vector3.zero; private void FixedUpdate() { //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) if (!applyVelocity) { return; } if (RocketJumpInheritVelocity.Value) { GameObject owner = ((Component)this).GetComponent<ProjectileController>().owner; CharacterBody val = ((owner != null) ? owner.GetComponent<CharacterBody>() : null); if (Object.op_Implicit((Object)(object)val) && Object.op_Implicit((Object)(object)val.characterMotor)) { addVelocity = val.characterMotor.velocity; } } Rigidbody component = ((Component)this).GetComponent<Rigidbody>(); component.velocity += addVelocity; applyVelocity = false; } private void OnDisable() { //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0076: Unknown result type (might be due to invalid IL or missing references) //IL_0100: Unknown result type (might be due to invalid IL or missing references) //IL_0105: Unknown result type (might be due to invalid IL or missing references) //IL_010d: Unknown result type (might be due to invalid IL or missing references) //IL_0112: 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) CharacterBody component = ((Component)this).GetComponent<ProjectileController>().owner.GetComponent<CharacterBody>(); if (!Object.op_Implicit((Object)(object)component)) { return; } Vector3 position = ((Component)this).transform.position; Vector3 corePosition = component.corePosition; float num = Vector3.Distance(((Component)this).transform.position, component.footPosition); Vector3 zero = Vector3.zero; bool flag = true; Vector3 val = corePosition - position; zero = ((Vector3)(ref val)).normalized * rocketJumpPower; if (component.characterMotor.isGrounded && Object.op_Implicit((Object)(object)((Component)component).GetComponent<KinematicCharacterMotor>())) { ((Component)component).GetComponent<KinematicCharacterMotor>().ForceUnground(0.2f); } if (num < ((ProjectileExplosion)((Component)this).GetComponent<ProjectileImpactExplosion>()).blastRadius) { if (component.characterMotor.velocity.y < 0f) { component.characterMotor.velocity.y = 0f; } CharacterMotor characterMotor = component.characterMotor; characterMotor.velocity += zero * component.moveSpeed; } } } public struct LineDrawer { private LineRenderer lineRenderer; private float lineSize; public LineDrawer(Material material, float lineSize = 0.2f) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Expected O, but got Unknown GameObject val = new GameObject("LineObj"); lineRenderer = val.AddComponent<LineRenderer>(); ((Renderer)lineRenderer).material = material; this.lineSize = lineSize; } private void init(Material material, float lineSize = 0.2f) { //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Expected O, but got Unknown if ((Object)(object)lineRenderer == (Object)null) { GameObject val = new GameObject("LineObj"); lineRenderer = val.AddComponent<LineRenderer>(); ((Renderer)lineRenderer).material = material; this.lineSize = lineSize; } } public void DrawLineInGameView(Vector3 start, Vector3 end, Color color, Material material) { //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)lineRenderer == (Object)null) { init(material); } lineRenderer.startColor = color; lineRenderer.endColor = color; lineRenderer.startWidth = lineSize; lineRenderer.endWidth = lineSize; lineRenderer.positionCount = 2; lineRenderer.SetPosition(0, start); lineRenderer.SetPosition(1, end); } public void Destroy() { if ((Object)(object)lineRenderer != (Object)null) { Object.Destroy((Object)(object)((Component)lineRenderer).gameObject); } } } public const string ModGuid = "com.brynzananas.raisingthebar"; public const string ModName = "Raising The Bar"; public const string ModVer = "1.1.0"; public LineDrawer lineDrawer; public LineDrawer lineDrawer2; public static Shader bearMaterial = Addressables.LoadAssetAsync<Material>((object)"RoR2/Base/Bear/matBear.mat").WaitForCompletion().shader; public Material lineDrawerMaterial = new Material(bearMaterial); public Material lineDrawer2Material = new Material(bearMaterial); public static GameObject rocketJumpTestRocket; public static ConfigEntry<bool> EnableBunnyHop; public static ConfigEntry<bool> EnableAutoJump; public static ConfigEntry<bool> EnableStrafe; public static ConfigEntry<bool> EnableStrafeDebug; public static ConfigEntry<bool> EnableDirectLook; public static ConfigEntry<bool> EnableRocketJump; public static ConfigEntry<KeyboardShortcut> RocketJumpKey; public static ConfigEntry<float> RocketJumpPower; public static ConfigEntry<float> RocketJumpRadius; public static ConfigEntry<float> RocketJumpSpeed; public static ConfigEntry<int> RocketJumpAmount; public static ConfigEntry<float> RocketJumpInterval; public static ConfigEntry<float> RocketJumpReload; public static ConfigEntry<bool> RocketJumpGravity; public static ConfigEntry<bool> RocketJumpInheritVelocity; public static ConfigEntry<bool> EnableVelocityText; public static ConfigEntry<bool> EnableRocketText; public static ConfigEntry<float> OutlineThickness; public static ConfigEntry<Color> VelocityTextColor; public static ConfigEntry<Color> VelocityOutlineColor; public static ConfigEntry<bool> EnableRainbowVelocityText; public static ConfigEntry<int> VelocityTextZeros; public static ConfigEntry<float> VelocityTextXPosition; public static ConfigEntry<float> VelocityTextYPosition; public static ConfigEntry<float> VelocityTextScale; public static ConfigEntry<Color> RocketAmountTextColor; public static ConfigEntry<Color> RocketReloadTextColor; public static ConfigEntry<Color> RocketAmountOutlineColor; public static ConfigEntry<Color> RocketReloadOutlineColor; public static ConfigEntry<bool> EnableRainbowRocketText; public static ConfigEntry<float> RocketTextXPosition; public static ConfigEntry<float> RocketTextYPosition; public static ConfigEntry<float> RocketTextScale; public static ConfigEntry<float> RocketTextSpace; public float intervalMaxTime; public float intervalTime; public float reloadMaxTime; public float reloadTime; public int rocketMaxAmount; public int rocketAmount; public Sprite modIcon; public bool jump = false; public int red = 255; public int green = 0; public int blue = 0; private HUD hud = null; public GameObject hudVelocityMeterObject; public GameObject hudRocketAmountObject; public GameObject hudRocketReloadObject; public RectTransform VelocityMeterRectTransform; public RectTransform RocketRectTransform; public RectTransform ReloadRectTransform; public bool enabledDebug = false; public CameraParamsOverrideHandle overrideHandle; private void Awake() { //IL_00db: Unknown result type (might be due to invalid IL or missing references) //IL_0277: Unknown result type (might be due to invalid IL or missing references) //IL_029b: Unknown result type (might be due to invalid IL or missing references) //IL_036b: Unknown result type (might be due to invalid IL or missing references) //IL_038f: Unknown result type (might be due to invalid IL or missing references) //IL_03b3: Unknown result type (might be due to invalid IL or missing references) //IL_03d7: Unknown result type (might be due to invalid IL or missing references) //IL_04a0: Unknown result type (might be due to invalid IL or missing references) //IL_04aa: Expected O, but got Unknown //IL_04b0: Unknown result type (might be due to invalid IL or missing references) //IL_04ba: Expected O, but got Unknown //IL_04c0: Unknown result type (might be due to invalid IL or missing references) //IL_04ca: Expected O, but got Unknown //IL_04d0: Unknown result type (might be due to invalid IL or missing references) //IL_04da: Expected O, but got Unknown //IL_04e0: Unknown result type (might be due to invalid IL or missing references) //IL_04ea: Expected O, but got Unknown //IL_04f0: Unknown result type (might be due to invalid IL or missing references) //IL_04fa: Expected O, but got Unknown //IL_0500: Unknown result type (might be due to invalid IL or missing references) //IL_050a: Expected O, but got Unknown //IL_0510: Unknown result type (might be due to invalid IL or missing references) //IL_051a: Expected O, but got Unknown //IL_0520: Unknown result type (might be due to invalid IL or missing references) //IL_052a: Expected O, but got Unknown //IL_0530: Unknown result type (might be due to invalid IL or missing references) //IL_053a: Expected O, but got Unknown //IL_0540: Unknown result type (might be due to invalid IL or missing references) //IL_054a: Expected O, but got Unknown //IL_0550: Unknown result type (might be due to invalid IL or missing references) //IL_055a: Expected O, but got Unknown //IL_0560: Unknown result type (might be due to invalid IL or missing references) //IL_056a: Expected O, but got Unknown //IL_0570: Unknown result type (might be due to invalid IL or missing references) //IL_057a: Expected O, but got Unknown //IL_0580: Unknown result type (might be due to invalid IL or missing references) //IL_058a: Expected O, but got Unknown //IL_0590: Unknown result type (might be due to invalid IL or missing references) //IL_059a: Expected O, but got Unknown //IL_05a0: Unknown result type (might be due to invalid IL or missing references) //IL_05aa: Expected O, but got Unknown //IL_05b0: Unknown result type (might be due to invalid IL or missing references) //IL_05b5: Unknown result type (might be due to invalid IL or missing references) //IL_05bc: Unknown result type (might be due to invalid IL or missing references) //IL_05c4: Unknown result type (might be due to invalid IL or missing references) //IL_05d0: Expected O, but got Unknown //IL_05cb: Unknown result type (might be due to invalid IL or missing references) //IL_05d5: Expected O, but got Unknown //IL_05db: Unknown result type (might be due to invalid IL or missing references) //IL_05e5: Expected O, but got Unknown //IL_05eb: Unknown result type (might be due to invalid IL or missing references) //IL_05f5: Expected O, but got Unknown //IL_05fb: Unknown result type (might be due to invalid IL or missing references) //IL_0605: Expected O, but got Unknown //IL_060b: Unknown result type (might be due to invalid IL or missing references) //IL_0615: Expected O, but got Unknown //IL_061b: Unknown result type (might be due to invalid IL or missing references) //IL_0625: Expected O, but got Unknown //IL_062b: Unknown result type (might be due to invalid IL or missing references) //IL_0635: Expected O, but got Unknown //IL_063b: Unknown result type (might be due to invalid IL or missing references) //IL_0645: Expected O, but got Unknown //IL_064b: Unknown result type (might be due to invalid IL or missing references) //IL_0655: Expected O, but got Unknown //IL_065b: Unknown result type (might be due to invalid IL or missing references) //IL_0665: Expected O, but got Unknown //IL_066b: Unknown result type (might be due to invalid IL or missing references) //IL_0675: Expected O, but got Unknown //IL_067b: Unknown result type (might be due to invalid IL or missing references) //IL_0685: Expected O, but got Unknown //IL_068b: Unknown result type (might be due to invalid IL or missing references) //IL_0695: Expected O, but got Unknown //IL_069b: Unknown result type (might be due to invalid IL or missing references) //IL_06a5: Expected O, but got Unknown //IL_06ab: Unknown result type (might be due to invalid IL or missing references) //IL_06b5: Expected O, but got Unknown //IL_06bb: Unknown result type (might be due to invalid IL or missing references) //IL_06c5: Expected O, but got Unknown //IL_06cb: Unknown result type (might be due to invalid IL or missing references) //IL_06d5: Expected O, but got Unknown //IL_06dd: Unknown result type (might be due to invalid IL or missing references) //IL_06e7: Expected O, but got Unknown //IL_06ef: Unknown result type (might be due to invalid IL or missing references) //IL_06f9: Expected O, but got Unknown //IL_0701: Unknown result type (might be due to invalid IL or missing references) //IL_070b: Expected O, but got Unknown //IL_0713: Unknown result type (might be due to invalid IL or missing references) //IL_071d: Expected O, but got Unknown //IL_0725: Unknown result type (might be due to invalid IL or missing references) //IL_072f: Expected O, but got Unknown //IL_0737: Unknown result type (might be due to invalid IL or missing references) //IL_0741: Expected O, but got Unknown //IL_0920: Unknown result type (might be due to invalid IL or missing references) //IL_0931: Unknown result type (might be due to invalid IL or missing references) EnableBunnyHop = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Enable bunny hop", true, "Enable bunny hop function?"); EnableAutoJump = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Enable auto jump", false, "Enable auto jump function?"); EnableStrafe = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Enable strafing", true, "Enable strafing function?"); EnableStrafeDebug = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Enable debug mode", false, "Enable debug mode?\nBlue bar: current velocity\nRed bar: wish direction"); EnableDirectLook = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Enable direct look", true, "Enable direct look?"); EnableRocketJump = ((BaseUnityPlugin)this).Config.Bind<bool>("Rocket jump", "Enable rocket jump", true, "Enable rocket jump?"); RocketJumpKey = ((BaseUnityPlugin)this).Config.Bind<KeyboardShortcut>("Rocket jump", "Rocket jump key", new KeyboardShortcut((KeyCode)325, Array.Empty<KeyCode>()), "Key to fire a rocket jump rocket"); RocketJumpPower = ((BaseUnityPlugin)this).Config.Bind<float>("Rocket jump", "Rocket jump power", 3f, "Control rocket jump power value"); RocketJumpRadius = ((BaseUnityPlugin)this).Config.Bind<float>("Rocket jump", "Rocket jump radius", 4.2f, "Control rocket jump explosion radius value"); RocketJumpSpeed = ((BaseUnityPlugin)this).Config.Bind<float>("Rocket jump", "Rocket jump speed", 42.2f, "Control rocket jump rocket speed"); RocketJumpGravity = ((BaseUnityPlugin)this).Config.Bind<bool>("Rocket jump", "Rocket jump gravity", true, "Enable gravity to rocket jump rocket?"); RocketJumpInheritVelocity = ((BaseUnityPlugin)this).Config.Bind<bool>("Rocket jump", "Rocket jump inherit velocity", true, "Enable velocity inheritance for rocket jump rocket?"); RocketJumpAmount = ((BaseUnityPlugin)this).Config.Bind<int>("Rocket jump", "Rocket jump amount", 1, "Control the maximum amount of stored rocket jump rockets"); RocketJumpInterval = ((BaseUnityPlugin)this).Config.Bind<float>("Rocket jump", "Rocket jump interval", 0.8f, "Control rocket jump firing interval time"); RocketJumpReload = ((BaseUnityPlugin)this).Config.Bind<float>("Rocket jump", "Rocket jump reload", 2f, "Control rocket jump reload time"); OutlineThickness = ((BaseUnityPlugin)this).Config.Bind<float>("HUD", "Outline thickness", 1.2f, "Control thickness of outlines"); EnableVelocityText = ((BaseUnityPlugin)this).Config.Bind<bool>("HUD", "Enable velocity meter", true, "Enable velocity meter?"); VelocityTextZeros = ((BaseUnityPlugin)this).Config.Bind<int>("HUD", "Digits amount", 3, "Control ampount of digits"); VelocityTextColor = ((BaseUnityPlugin)this).Config.Bind<Color>("HUD", "Velocity meter color", Color.white, "Choose color of velocity meter"); VelocityOutlineColor = ((BaseUnityPlugin)this).Config.Bind<Color>("HUD", "Velocity meter outline color", Color.black, "Choose color of velocity meter outline"); EnableRainbowVelocityText = ((BaseUnityPlugin)this).Config.Bind<bool>("HUD", "Enable rainbow velocity meter", false, "or make it rainbow"); VelocityTextXPosition = ((BaseUnityPlugin)this).Config.Bind<float>("HUD", "Velocity meter X position", 0f, "Control velocity meter X position"); VelocityTextYPosition = ((BaseUnityPlugin)this).Config.Bind<float>("HUD", "Velocity meter Y position", -500f, "Control velocity meter Y position"); VelocityTextScale = ((BaseUnityPlugin)this).Config.Bind<float>("HUD", "Velocity meter scale", 0.8f, "Control velocity meter scale"); EnableRocketText = ((BaseUnityPlugin)this).Config.Bind<bool>("HUD", "Enable rocket HUD", true, "Enable rocket HUD?"); RocketAmountTextColor = ((BaseUnityPlugin)this).Config.Bind<Color>("HUD", "Rocket amount color", Color.white, "Choose color of rocket amount"); RocketAmountOutlineColor = ((BaseUnityPlugin)this).Config.Bind<Color>("HUD", "Rocket amount outline color", Color.black, "Choose color of rocket amount outline"); RocketReloadTextColor = ((BaseUnityPlugin)this).Config.Bind<Color>("HUD", "Rocket reload timer color", Color.white, "Choose color of rocket reload timer"); RocketReloadOutlineColor = ((BaseUnityPlugin)this).Config.Bind<Color>("HUD", "Rocket reload timer outline color", Color.black, "Choose color of rocket reload timer outline"); EnableRainbowRocketText = ((BaseUnityPlugin)this).Config.Bind<bool>("HUD", "Enable rainbow rocket HUD", false, "or make it all rainbow"); RocketTextXPosition = ((BaseUnityPlugin)this).Config.Bind<float>("HUD", "Rocket HUD X position", 0f, "Control rocket HUD X position"); RocketTextYPosition = ((BaseUnityPlugin)this).Config.Bind<float>("HUD", "Rocket HUD Y position", -500f, "Control rocket HUD Y position"); RocketTextScale = ((BaseUnityPlugin)this).Config.Bind<float>("HUD", "Rocket HUD scale", 0.8f, "Control rocket HUD scale"); RocketTextSpace = ((BaseUnityPlugin)this).Config.Bind<float>("HUD", "Rocket HUD space", 100f, "Control the space between rocket amount and reload timer"); ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(EnableBunnyHop)); ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(EnableAutoJump)); ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(EnableStrafe)); ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(EnableStrafeDebug)); ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(EnableDirectLook)); ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(EnableRocketJump)); ModSettingsManager.AddOption((BaseOption)new KeyBindOption(RocketJumpKey)); ModSettingsManager.AddOption((BaseOption)new FloatFieldOption(RocketJumpPower)); ModSettingsManager.AddOption((BaseOption)new FloatFieldOption(RocketJumpRadius)); ModSettingsManager.AddOption((BaseOption)new FloatFieldOption(RocketJumpSpeed)); ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(RocketJumpGravity)); ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(RocketJumpInheritVelocity)); ModSettingsManager.AddOption((BaseOption)new IntFieldOption(RocketJumpAmount)); ModSettingsManager.AddOption((BaseOption)new FloatFieldOption(RocketJumpInterval)); ModSettingsManager.AddOption((BaseOption)new FloatFieldOption(RocketJumpReload)); ModSettingsManager.AddOption((BaseOption)new FloatFieldOption(OutlineThickness)); ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(EnableVelocityText)); ModSettingsManager.AddOption((BaseOption)new IntSliderOption(VelocityTextZeros, new IntSliderConfig { min = 1, max = 10, restartRequired = false })); ModSettingsManager.AddOption((BaseOption)new ColorOption(VelocityTextColor)); ModSettingsManager.AddOption((BaseOption)new ColorOption(VelocityOutlineColor)); ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(EnableRainbowVelocityText)); ModSettingsManager.AddOption((BaseOption)new FloatFieldOption(VelocityTextXPosition)); ModSettingsManager.AddOption((BaseOption)new FloatFieldOption(VelocityTextYPosition)); ModSettingsManager.AddOption((BaseOption)new FloatFieldOption(VelocityTextScale)); ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(EnableRocketText)); ModSettingsManager.AddOption((BaseOption)new ColorOption(RocketAmountTextColor)); ModSettingsManager.AddOption((BaseOption)new ColorOption(RocketAmountOutlineColor)); ModSettingsManager.AddOption((BaseOption)new ColorOption(RocketReloadTextColor)); ModSettingsManager.AddOption((BaseOption)new ColorOption(RocketReloadOutlineColor)); ModSettingsManager.AddOption((BaseOption)new CheckBoxOption(EnableRainbowRocketText)); ModSettingsManager.AddOption((BaseOption)new FloatFieldOption(RocketTextXPosition)); ModSettingsManager.AddOption((BaseOption)new FloatFieldOption(RocketTextYPosition)); ModSettingsManager.AddOption((BaseOption)new FloatFieldOption(RocketTextScale)); ModSettingsManager.AddOption((BaseOption)new FloatFieldOption(RocketTextSpace)); GenericCharacterMain.ApplyJumpVelocity += new hook_ApplyJumpVelocity(BunnyHop); PlayerCharacterMasterController.Update += new hook_Update(Look); CharacterDirection.Simulate += new hook_Simulate(Look2); PlayerCharacterMasterController.FixedUpdate += new hook_FixedUpdate(Strafe); HUD.Awake += new hook_Awake(AwakeHud); HUD.Update += new hook_Update(UpdateNumbers); RocketJumpSpeed.SettingChanged += UpdateRocket; RocketJumpPower.SettingChanged += UpdateRocket; RocketJumpRadius.SettingChanged += UpdateRocket; RocketJumpGravity.SettingChanged += UpdateRocket; RocketJumpAmount.SettingChanged += UpdateRocket; RocketJumpInterval.SettingChanged += UpdateRocket; RocketJumpReload.SettingChanged += UpdateRocket; VelocityTextXPosition.SettingChanged += UpdateHUD; VelocityTextYPosition.SettingChanged += UpdateHUD; VelocityTextScale.SettingChanged += UpdateHUD; RocketTextXPosition.SettingChanged += UpdateHUD; RocketTextYPosition.SettingChanged += UpdateHUD; RocketTextScale.SettingChanged += UpdateHUD; RocketTextSpace.SettingChanged += UpdateHUD; OutlineThickness.SettingChanged += UpdateHUD; lineDrawer = default(LineDrawer); lineDrawer2 = default(LineDrawer); CreateProjectile(); intervalMaxTime = RocketJumpInterval.Value; reloadMaxTime = RocketJumpReload.Value; rocketMaxAmount = RocketJumpAmount.Value; intervalTime = intervalMaxTime; reloadTime = reloadMaxTime; rocketAmount = rocketMaxAmount; modIcon = LoadSpriteFromDisk(); lineDrawerMaterial.color = Color.blue; lineDrawer2Material.color = Color.red; if (Object.op_Implicit((Object)(object)modIcon)) { ModSettingsManager.SetModIcon(modIcon); } } private void UpdateHUD(object sender, EventArgs e) { //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_0075: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00c9: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: Unknown result type (might be due to invalid IL or missing references) //IL_00fb: Unknown result type (might be due to invalid IL or missing references) //IL_012a: Unknown result type (might be due to invalid IL or missing references) //IL_012f: Unknown result type (might be due to invalid IL or missing references) //IL_014f: Unknown result type (might be due to invalid IL or missing references) //IL_0161: Unknown result type (might be due to invalid IL or missing references) //IL_0190: Unknown result type (might be due to invalid IL or missing references) //IL_0195: Unknown result type (might be due to invalid IL or missing references) //IL_01bf: Unknown result type (might be due to invalid IL or missing references) //IL_01e9: Unknown result type (might be due to invalid IL or missing references) //IL_0213: Unknown result type (might be due to invalid IL or missing references) ((Transform)VelocityMeterRectTransform).localScale = new Vector3(VelocityTextScale.Value, VelocityTextScale.Value, 0f); ((Transform)VelocityMeterRectTransform).localPosition = new Vector3(0.5f, 0.5f, 0f); RectTransform velocityMeterRectTransform = VelocityMeterRectTransform; ((Transform)velocityMeterRectTransform).localPosition = ((Transform)velocityMeterRectTransform).localPosition + new Vector3(VelocityTextXPosition.Value, VelocityTextYPosition.Value, 0f); ((Transform)RocketRectTransform).localScale = new Vector3(RocketTextScale.Value, RocketTextScale.Value, 0f); ((Transform)ReloadRectTransform).localScale = new Vector3(RocketTextScale.Value, RocketTextScale.Value, 0f); ((Transform)RocketRectTransform).localPosition = new Vector3(0.5f, 0.5f, 0f); RectTransform rocketRectTransform = RocketRectTransform; ((Transform)rocketRectTransform).localPosition = ((Transform)rocketRectTransform).localPosition + new Vector3(RocketTextXPosition.Value - RocketTextSpace.Value / 2f, RocketTextYPosition.Value, 0f); ((Transform)ReloadRectTransform).localPosition = new Vector3(0.5f, 0.5f, 0f); RectTransform reloadRectTransform = ReloadRectTransform; ((Transform)reloadRectTransform).localPosition = ((Transform)reloadRectTransform).localPosition + new Vector3(RocketTextXPosition.Value + RocketTextSpace.Value / 2f, RocketTextYPosition.Value, 0f); ((Shadow)hudVelocityMeterObject.GetComponent<Outline>()).effectDistance = new Vector2(OutlineThickness.Value, OutlineThickness.Value); ((Shadow)hudRocketAmountObject.GetComponent<Outline>()).effectDistance = new Vector2(OutlineThickness.Value, OutlineThickness.Value); ((Shadow)hudRocketReloadObject.GetComponent<Outline>()).effectDistance = new Vector2(OutlineThickness.Value, OutlineThickness.Value); } private void UpdateRocket(object sender, EventArgs e) { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)rocketJumpTestRocket == (Object)null) { rocketJumpTestRocket = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/Toolbot/ToolbotGrenadeLauncherProjectile.prefab").WaitForCompletion(), "rocketTestRocketJump", true); } rocketJumpTestRocket.GetComponent<ProjectileSimple>().desiredForwardSpeed = RocketJumpSpeed.Value; rocketJumpTestRocket.GetComponent<Rigidbody>().useGravity = true; ((ProjectileExplosion)rocketJumpTestRocket.GetComponent<ProjectileImpactExplosion>()).blastRadius = RocketJumpRadius.Value; if (!Object.op_Implicit((Object)(object)rocketJumpTestRocket.GetComponent<RocketTestJumpComponent>())) { RocketTestJumpComponent rocketTestJumpComponent = rocketJumpTestRocket.AddComponent<RocketTestJumpComponent>(); rocketTestJumpComponent.rocketJumpPower = RocketJumpPower.Value; } else { rocketJumpTestRocket.GetComponent<RocketTestJumpComponent>().rocketJumpPower = RocketJumpPower.Value; } intervalMaxTime = RocketJumpInterval.Value; reloadMaxTime = RocketJumpReload.Value; rocketMaxAmount = RocketJumpAmount.Value; } private void CreateProjectile() { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)rocketJumpTestRocket == (Object)null) { rocketJumpTestRocket = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/Toolbot/ToolbotGrenadeLauncherProjectile.prefab").WaitForCompletion(), "rocketTestRocketJump", true); } NetworkIdentity component = rocketJumpTestRocket.GetComponent<NetworkIdentity>(); if (!Object.op_Implicit((Object)(object)component)) { rocketJumpTestRocket.AddComponent<NetworkIdentity>(); } rocketJumpTestRocket.GetComponent<ProjectileSimple>().desiredForwardSpeed = RocketJumpSpeed.Value; rocketJumpTestRocket.GetComponent<Rigidbody>().useGravity = true; ((ProjectileExplosion)rocketJumpTestRocket.GetComponent<ProjectileImpactExplosion>()).blastRadius = RocketJumpRadius.Value; if (!Object.op_Implicit((Object)(object)rocketJumpTestRocket.GetComponent<RocketTestJumpComponent>())) { RocketTestJumpComponent rocketTestJumpComponent = rocketJumpTestRocket.AddComponent<RocketTestJumpComponent>(); rocketTestJumpComponent.rocketJumpPower = RocketJumpPower.Value; } else { rocketJumpTestRocket.GetComponent<RocketTestJumpComponent>().rocketJumpPower = RocketJumpPower.Value; } PrefabAPI.RegisterNetworkPrefab(rocketJumpTestRocket); ContentAddition.AddProjectile(rocketJumpTestRocket); } private void Look2(orig_Simulate orig, CharacterDirection self, float deltaTime) { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) if (!EnableDirectLook.Value || !((Component)self).GetComponent<CharacterBody>().isPlayerControlled) { orig.Invoke(self, deltaTime); return; } Vector3 moveVector = self.moveVector; float turnSpeed = self.turnSpeed; self.turnSpeed = 2880f; self.moveVector = ((Component)self).GetComponent<InputBankTest>().aimDirection; orig.Invoke(self, deltaTime); self.turnSpeed = turnSpeed; self.moveVector = moveVector; } private Sprite LoadSpriteFromDisk() { //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Expected O, but got Unknown //IL_0065: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) string path = Path.Combine(Path.GetDirectoryName(((BaseUnityPlugin)this).Info.Location), "icon.png"); if (!File.Exists(path)) { return null; } byte[] array = File.ReadAllBytes(path); Texture2D val = new Texture2D(2, 2); if (ImageConversion.LoadImage(val, array)) { return Sprite.Create(val, new Rect(0f, 0f, (float)((Texture)val).width, (float)((Texture)val).height), new Vector2(0.5f, 0.5f)); } return null; } private void Strafe(orig_FixedUpdate orig, PlayerCharacterMasterController self) { //IL_0112: 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_011b: Unknown result type (might be due to invalid IL or missing references) //IL_0120: Unknown result type (might be due to invalid IL or missing references) //IL_0123: Unknown result type (might be due to invalid IL or missing references) //IL_0128: Unknown result type (might be due to invalid IL or missing references) //IL_0161: Unknown result type (might be due to invalid IL or missing references) //IL_0166: Unknown result type (might be due to invalid IL or missing references) //IL_0171: Unknown result type (might be due to invalid IL or missing references) //IL_0177: Unknown result type (might be due to invalid IL or missing references) //IL_017c: Unknown result type (might be due to invalid IL or missing references) //IL_0181: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)self.body)) { return; } if (EnableStrafe.Value && Object.op_Implicit((Object)(object)self.body) && self.body.isPlayerControlled && Object.op_Implicit((Object)(object)self.body.characterMotor) && !self.body.characterMotor.isGrounded) { if (!self.body.characterMotor.disableAirControlUntilCollision) { self.body.characterMotor.disableAirControlUntilCollision = true; } self.body.characterMotor.airControl = 0.001f; Vector3 val = default(Vector3); ((Vector3)(ref val))..ctor(self.body.characterMotor.velocity.x, 0f, self.body.characterMotor.velocity.z); Vector3 val2 = new Vector3(self.body.inputBank.moveVector.x, 0f, self.body.inputBank.moveVector.z); Vector3 normalized = ((Vector3)(ref val2)).normalized; float num = Vector3.Dot(((Vector3)(ref val)).normalized, normalized); if ((double)num < 0.1 && (double)num > -0.1) { CharacterMotor characterMotor = self.body.characterMotor; characterMotor.velocity += new Vector3(normalized.x, 0f, normalized.z); } } orig.Invoke(self); if (intervalTime > 0f) { intervalTime -= Time.fixedDeltaTime; } if (rocketAmount < rocketMaxAmount + self.body.skillLocator.secondaryBonusStockSkill.bonusStockFromBody) { if (reloadTime > 0f) { reloadTime -= Time.fixedDeltaTime; } if (reloadTime <= 0f) { Util.PlaySound("Play_bandit2_m1_reload_bullet", ((Component)self.body).gameObject); rocketAmount++; reloadTime = reloadMaxTime * self.body.skillLocator.utility.cooldownScale; } } } private void UpdateNumbers(orig_Update orig, HUD self) { //IL_023d: Unknown result type (might be due to invalid IL or missing references) //IL_024c: Unknown result type (might be due to invalid IL or missing references) //IL_025b: Unknown result type (might be due to invalid IL or missing references) //IL_0273: Unknown result type (might be due to invalid IL or missing references) //IL_0282: Unknown result type (might be due to invalid IL or missing references) //IL_0291: Unknown result type (might be due to invalid IL or missing references) //IL_01d3: Unknown result type (might be due to invalid IL or missing references) //IL_01d8: Unknown result type (might be due to invalid IL or missing references) //IL_0218: Unknown result type (might be due to invalid IL or missing references) //IL_0229: Unknown result type (might be due to invalid IL or missing references) //IL_02ef: Unknown result type (might be due to invalid IL or missing references) //IL_0302: Unknown result type (might be due to invalid IL or missing references) //IL_041c: Unknown result type (might be due to invalid IL or missing references) //IL_042b: Unknown result type (might be due to invalid IL or missing references) //IL_043a: Unknown result type (might be due to invalid IL or missing references) //IL_0452: Unknown result type (might be due to invalid IL or missing references) //IL_0461: Unknown result type (might be due to invalid IL or missing references) //IL_0470: Unknown result type (might be due to invalid IL or missing references) //IL_03f7: Unknown result type (might be due to invalid IL or missing references) //IL_0408: Unknown result type (might be due to invalid IL or missing references) //IL_04ce: Unknown result type (might be due to invalid IL or missing references) //IL_04e1: Unknown result type (might be due to invalid IL or missing references) //IL_050e: Unknown result type (might be due to invalid IL or missing references) //IL_051f: Unknown result type (might be due to invalid IL or missing references) //IL_05c0: Unknown result type (might be due to invalid IL or missing references) //IL_05cf: Unknown result type (might be due to invalid IL or missing references) //IL_05de: Unknown result type (might be due to invalid IL or missing references) //IL_05f6: Unknown result type (might be due to invalid IL or missing references) //IL_0605: Unknown result type (might be due to invalid IL or missing references) //IL_0614: Unknown result type (might be due to invalid IL or missing references) //IL_0586: Unknown result type (might be due to invalid IL or missing references) //IL_0595: Unknown result type (might be due to invalid IL or missing references) //IL_05a4: Unknown result type (might be due to invalid IL or missing references) //IL_0631: Unknown result type (might be due to invalid IL or missing references) //IL_0644: Unknown result type (might be due to invalid IL or missing references) orig.Invoke(self); if (red >= 255 && blue <= 0) { green++; } if (green >= 255 && red > 0) { red--; } if (green >= 255 && red <= 0) { blue++; } if (blue >= 255 && green > 0) { green--; } if (blue >= 255 && green <= 0) { red++; } if (red >= 255 && blue > 0) { blue--; } if (Object.op_Implicit((Object)(object)hudVelocityMeterObject) && Object.op_Implicit((Object)(object)self.targetMaster) && Object.op_Implicit((Object)(object)self.targetMaster.GetBody()) && Object.op_Implicit((Object)(object)self.targetMaster.GetBody().characterMotor)) { float num = 0f; float num2 = 0f; if (EnableVelocityText.Value) { Text component = hudVelocityMeterObject.GetComponent<Text>(); Vector2 val = new Vector2(self.targetMaster.GetBody().characterMotor.velocity.x, self.targetMaster.GetBody().characterMotor.velocity.z); component.text = ((int)(((Vector2)(ref val)).magnitude * (float)(int)Math.Pow(10.0, VelocityTextZeros.Value) / 100f)).ToString(); num = VelocityTextColor.Value.a; num2 = VelocityOutlineColor.Value.b; } Color color = default(Color); ((Color)(ref color))..ctor(VelocityTextColor.Value.r, VelocityTextColor.Value.g, VelocityTextColor.Value.b, num); Color effectColor = default(Color); ((Color)(ref effectColor))..ctor(VelocityOutlineColor.Value.r, VelocityOutlineColor.Value.g, VelocityOutlineColor.Value.b, num); if (EnableRainbowVelocityText.Value) { ((Color)(ref color))..ctor((float)red / 255f, (float)green / 255f, (float)blue / 255f, num); } ((Graphic)hudVelocityMeterObject.GetComponent<Text>()).color = color; ((Shadow)hudVelocityMeterObject.GetComponent<Outline>()).effectColor = effectColor; } if (Object.op_Implicit((Object)(object)hudRocketAmountObject) && Object.op_Implicit((Object)(object)hudRocketReloadObject)) { string text = hudRocketReloadObject.GetComponent<Text>().text; hudRocketAmountObject.GetComponent<Text>().text = rocketAmount.ToString(); text = ((float)(int)(reloadTime * 10f) / 10f).ToString().Replace(",", "."); if (!text.Contains(".")) { text += ".0"; } hudRocketReloadObject.GetComponent<Text>().text = text; float num3 = 0f; float num4 = 0f; if (EnableRocketJump.Value && EnableRocketText.Value) { num3 = RocketAmountTextColor.Value.a; num4 = RocketAmountOutlineColor.Value.b; } Color color2 = default(Color); ((Color)(ref color2))..ctor(RocketAmountTextColor.Value.r, RocketAmountTextColor.Value.g, RocketAmountTextColor.Value.b, num3); Color effectColor2 = default(Color); ((Color)(ref effectColor2))..ctor(RocketAmountOutlineColor.Value.r, RocketAmountOutlineColor.Value.g, RocketAmountOutlineColor.Value.b, num3); if (EnableRainbowRocketText.Value) { ((Color)(ref color2))..ctor((float)red / 255f, (float)green / 255f, (float)blue / 255f, num3); } ((Graphic)hudRocketAmountObject.GetComponent<Text>()).color = color2; ((Shadow)hudRocketAmountObject.GetComponent<Outline>()).effectColor = effectColor2; if (EnableRocketJump.Value && EnableRocketText.Value) { num3 = RocketReloadTextColor.Value.a; num4 = RocketReloadOutlineColor.Value.a; } else { num3 = 0f; num4 = 0f; } if (EnableRainbowRocketText.Value) { ((Color)(ref color2))..ctor((float)red / 255f, (float)green / 255f, (float)blue / 255f, num3); ((Color)(ref effectColor2))..ctor(RocketReloadOutlineColor.Value.r, RocketReloadOutlineColor.Value.g, RocketReloadOutlineColor.Value.b, num3); } else { ((Color)(ref color2))..ctor(RocketReloadTextColor.Value.r, RocketReloadTextColor.Value.g, RocketReloadTextColor.Value.b, num3); ((Color)(ref effectColor2))..ctor(RocketReloadOutlineColor.Value.r, RocketReloadOutlineColor.Value.g, RocketReloadOutlineColor.Value.b, num3); } ((Graphic)hudRocketReloadObject.GetComponent<Text>()).color = color2; ((Shadow)hudRocketReloadObject.GetComponent<Outline>()).effectColor = effectColor2; } } private void OnDestroy() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown HUD.Awake -= new hook_Awake(AwakeHud); } private void AwakeHud(orig_Awake orig, HUD self) { //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Expected O, but got Unknown //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_0095: Unknown result type (might be due to invalid IL or missing references) //IL_00b0: Unknown result type (might be due to invalid IL or missing references) //IL_00d5: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Unknown result type (might be due to invalid IL or missing references) //IL_00ec: Unknown result type (might be due to invalid IL or missing references) //IL_010a: Unknown result type (might be due to invalid IL or missing references) //IL_010f: Unknown result type (might be due to invalid IL or missing references) //IL_0136: Unknown result type (might be due to invalid IL or missing references) //IL_013b: Unknown result type (might be due to invalid IL or missing references) //IL_0228: Unknown result type (might be due to invalid IL or missing references) //IL_0243: Unknown result type (might be due to invalid IL or missing references) //IL_0248: Unknown result type (might be due to invalid IL or missing references) //IL_0264: Unknown result type (might be due to invalid IL or missing references) //IL_0284: Unknown result type (might be due to invalid IL or missing references) //IL_0295: Unknown result type (might be due to invalid IL or missing references) //IL_029f: Expected O, but got Unknown //IL_02d7: Unknown result type (might be due to invalid IL or missing references) //IL_02e8: Unknown result type (might be due to invalid IL or missing references) //IL_02f9: Unknown result type (might be due to invalid IL or missing references) //IL_0314: Unknown result type (might be due to invalid IL or missing references) //IL_032f: Unknown result type (might be due to invalid IL or missing references) //IL_0354: Unknown result type (might be due to invalid IL or missing references) //IL_0359: Unknown result type (might be due to invalid IL or missing references) //IL_036b: Unknown result type (might be due to invalid IL or missing references) //IL_039a: Unknown result type (might be due to invalid IL or missing references) //IL_039f: Unknown result type (might be due to invalid IL or missing references) //IL_03bc: Unknown result type (might be due to invalid IL or missing references) //IL_03c1: Unknown result type (might be due to invalid IL or missing references) //IL_0436: Unknown result type (might be due to invalid IL or missing references) //IL_0447: Unknown result type (might be due to invalid IL or missing references) //IL_044c: Unknown result type (might be due to invalid IL or missing references) //IL_0468: Unknown result type (might be due to invalid IL or missing references) //IL_0488: Unknown result type (might be due to invalid IL or missing references) //IL_0499: Unknown result type (might be due to invalid IL or missing references) //IL_04a3: Expected O, but got Unknown //IL_04db: Unknown result type (might be due to invalid IL or missing references) //IL_04ec: Unknown result type (might be due to invalid IL or missing references) //IL_04fd: Unknown result type (might be due to invalid IL or missing references) //IL_0518: Unknown result type (might be due to invalid IL or missing references) //IL_0533: Unknown result type (might be due to invalid IL or missing references) //IL_0558: Unknown result type (might be due to invalid IL or missing references) //IL_055d: Unknown result type (might be due to invalid IL or missing references) //IL_056f: Unknown result type (might be due to invalid IL or missing references) //IL_059e: Unknown result type (might be due to invalid IL or missing references) //IL_05a3: Unknown result type (might be due to invalid IL or missing references) //IL_05c0: Unknown result type (might be due to invalid IL or missing references) //IL_05c5: Unknown result type (might be due to invalid IL or missing references) //IL_063a: Unknown result type (might be due to invalid IL or missing references) //IL_064b: Unknown result type (might be due to invalid IL or missing references) //IL_0650: Unknown result type (might be due to invalid IL or missing references) //IL_066e: Unknown result type (might be due to invalid IL or missing references) //IL_068f: Unknown result type (might be due to invalid IL or missing references) orig.Invoke(self); hud = self; hudVelocityMeterObject = new GameObject("velocityMeter"); hudVelocityMeterObject.transform.SetParent(hud.mainContainer.transform); VelocityMeterRectTransform = hudVelocityMeterObject.AddComponent<RectTransform>(); VelocityMeterRectTransform.anchorMin = Vector2.zero; VelocityMeterRectTransform.anchorMax = Vector2.one; VelocityMeterRectTransform.sizeDelta = Vector2.zero; VelocityMeterRectTransform.pivot = new Vector2(0.5f, 0.5f); VelocityMeterRectTransform.anchoredPosition = new Vector2(0.5f, 0.5f); ((Transform)VelocityMeterRectTransform).localScale = Vector2.op_Implicit(new Vector2(VelocityTextScale.Value, VelocityTextScale.Value)); RectTransform velocityMeterRectTransform = VelocityMeterRectTransform; ((Transform)velocityMeterRectTransform).localPosition = ((Transform)velocityMeterRectTransform).localPosition + new Vector3(VelocityTextXPosition.Value, VelocityTextYPosition.Value, 0f); hudVelocityMeterObject.AddComponent<Text>(); hudVelocityMeterObject.GetComponent<Text>().font = Addressables.LoadAssetAsync<Font>((object)"RoR2/Base/Common/Fonts/Bombardier/BOMBARD_.ttf").WaitForCompletion(); hudVelocityMeterObject.GetComponent<Text>().fontStyle = (FontStyle)0; hudVelocityMeterObject.GetComponent<Text>().fontSize = 32; hudVelocityMeterObject.GetComponent<Text>().lineSpacing = 1f; hudVelocityMeterObject.GetComponent<Text>().supportRichText = true; hudVelocityMeterObject.GetComponent<Text>().alignment = (TextAnchor)4; hudVelocityMeterObject.GetComponent<Text>().alignByGeometry = true; hudVelocityMeterObject.GetComponent<Text>().horizontalOverflow = (HorizontalWrapMode)0; hudVelocityMeterObject.GetComponent<Text>().verticalOverflow = (VerticalWrapMode)1; hudVelocityMeterObject.GetComponent<Text>().resizeTextForBestFit = true; hudVelocityMeterObject.GetComponent<Text>().text = "Your current velocity"; ((Object)hudVelocityMeterObject.GetComponent<Text>()).name = "currentVelocity"; ((Graphic)hudVelocityMeterObject.GetComponent<Text>()).color = Color.white; ((Graphic)hudVelocityMeterObject.GetComponent<Text>()).material = Addressables.LoadAssetAsync<Material>((object)"RoR2/Base/Common/Fonts/Bombardier/BOMBARD_.ttf").WaitForCompletion(); Outline val = hudVelocityMeterObject.AddComponent<Outline>(); ((Shadow)val).effectColor = Color.black; ((Shadow)val).effectDistance = new Vector2(OutlineThickness.Value, OutlineThickness.Value); hudRocketAmountObject = new GameObject("rocketMeter"); hudRocketAmountObject.transform.SetParent(hud.mainContainer.transform); RocketRectTransform = hudRocketAmountObject.AddComponent<RectTransform>(); RocketRectTransform.anchorMin = Vector2.zero; RocketRectTransform.anchorMax = Vector2.one; RocketRectTransform.sizeDelta = Vector2.zero; RocketRectTransform.pivot = new Vector2(0.5f, 0.5f); RocketRectTransform.anchoredPosition = new Vector2(0.5f, 0.5f); ((Transform)RocketRectTransform).localScale = Vector2.op_Implicit(new Vector2(RocketTextScale.Value, RocketTextScale.Value)); RectTransform rocketRectTransform = RocketRectTransform; ((Transform)rocketRectTransform).localPosition = ((Transform)rocketRectTransform).localPosition + new Vector3(RocketTextXPosition.Value - RocketTextSpace.Value / 2f, RocketTextYPosition.Value, 0f); Text val2 = hudRocketAmountObject.AddComponent<Text>(); val2.font = Addressables.LoadAssetAsync<Font>((object)"RoR2/Base/Common/Fonts/Bombardier/BOMBARD_.ttf").WaitForCompletion(); val2.fontStyle = (FontStyle)0; val2.fontSize = 32; val2.lineSpacing = 1f; val2.supportRichText = true; val2.alignment = (TextAnchor)4; val2.alignByGeometry = true; val2.horizontalOverflow = (HorizontalWrapMode)0; val2.verticalOverflow = (VerticalWrapMode)1; val2.resizeTextForBestFit = true; val2.text = "Rocket amount"; ((Object)val2).name = "rocketAmountText"; ((Graphic)val2).color = Color.white; ((Graphic)val2).material = Addressables.LoadAssetAsync<Material>((object)"RoR2/Base/Common/Fonts/Bombardier/BOMBARD_.ttf").WaitForCompletion(); Outline val3 = hudRocketAmountObject.AddComponent<Outline>(); ((Shadow)val3).effectColor = Color.black; ((Shadow)val3).effectDistance = new Vector2(OutlineThickness.Value, OutlineThickness.Value); hudRocketReloadObject = new GameObject("reloadMeter"); hudRocketReloadObject.transform.SetParent(hud.mainContainer.transform); ReloadRectTransform = hudRocketReloadObject.AddComponent<RectTransform>(); ReloadRectTransform.anchorMin = Vector2.zero; ReloadRectTransform.anchorMax = Vector2.one; ReloadRectTransform.sizeDelta = Vector2.zero; ReloadRectTransform.pivot = new Vector2(0.5f, 0.5f); ReloadRectTransform.anchoredPosition = new Vector2(0.5f, 0.5f); ((Transform)ReloadRectTransform).localScale = Vector2.op_Implicit(new Vector2(RocketTextScale.Value, RocketTextScale.Value)); RectTransform reloadRectTransform = ReloadRectTransform; ((Transform)reloadRectTransform).localPosition = ((Transform)reloadRectTransform).localPosition + new Vector3(RocketTextXPosition.Value + RocketTextSpace.Value / 2f, RocketTextYPosition.Value, 0f); Text val4 = hudRocketReloadObject.AddComponent<Text>(); val4.font = Addressables.LoadAssetAsync<Font>((object)"RoR2/Base/Common/Fonts/Bombardier/BOMBARD_.ttf").WaitForCompletion(); val4.fontStyle = (FontStyle)0; val4.fontSize = 32; val4.lineSpacing = 1f; val4.supportRichText = true; val4.alignment = (TextAnchor)4; val4.alignByGeometry = true; val4.horizontalOverflow = (HorizontalWrapMode)0; val4.verticalOverflow = (VerticalWrapMode)1; val4.resizeTextForBestFit = true; val4.text = "Rocket reload"; ((Object)val4).name = "rocketReloadText"; ((Graphic)val4).color = Color.white; ((Graphic)val4).material = Addressables.LoadAssetAsync<Material>((object)"RoR2/Base/Common/Fonts/Bombardier/BOMBARD_.ttf").WaitForCompletion(); Outline val5 = hudRocketReloadObject.AddComponent<Outline>(); ((Shadow)val5).effectColor = Color.black; ((Shadow)val5).effectDistance = new Vector2(OutlineThickness.Value, OutlineThickness.Value); } private void Look(orig_Update orig, PlayerCharacterMasterController self) { //IL_00ff: Unknown result type (might be due to invalid IL or missing references) //IL_010a: Unknown result type (might be due to invalid IL or missing references) //IL_0115: Unknown result type (might be due to invalid IL or missing references) //IL_011a: Unknown result type (might be due to invalid IL or missing references) //IL_011f: Unknown result type (might be due to invalid IL or missing references) //IL_013c: Unknown result type (might be due to invalid IL or missing references) //IL_0147: Unknown result type (might be due to invalid IL or missing references) //IL_0152: Unknown result type (might be due to invalid IL or missing references) //IL_0157: Unknown result type (might be due to invalid IL or missing references) //IL_015c: Unknown result type (might be due to invalid IL or missing references) //IL_01e0: Unknown result type (might be due to invalid IL or missing references) //IL_01e5: Unknown result type (might be due to invalid IL or missing references) //IL_01e9: Unknown result type (might be due to invalid IL or missing references) //IL_020f: Unknown result type (might be due to invalid IL or missing references) //IL_021d: Unknown result type (might be due to invalid IL or missing references) //IL_0230: Unknown result type (might be due to invalid IL or missing references) //IL_023b: Unknown result type (might be due to invalid IL or missing references) //IL_023d: Unknown result type (might be due to invalid IL or missing references) //IL_024b: Unknown result type (might be due to invalid IL or missing references) //IL_0252: Unknown result type (might be due to invalid IL or missing references) //IL_0257: Unknown result type (might be due to invalid IL or missing references) orig.Invoke(self); if (!Object.op_Implicit((Object)(object)self.body)) { return; } if (jump && EnableAutoJump.Value && Object.op_Implicit((Object)(object)self.bodyInputs) && self.bodyInputs.jump.down && Object.op_Implicit((Object)(object)self.bodyMotor) && self.bodyMotor.isGrounded) { self.bodyInputs.jump.down = false; jump = false; } if (!jump && EnableAutoJump.Value && !self.bodyMotor.isGrounded) { jump = true; } if (EnableStrafeDebug.Value && Object.op_Implicit((Object)(object)self.body) && Object.op_Implicit((Object)(object)self.body.characterMotor)) { lineDrawer.DrawLineInGameView(self.body.corePosition, self.body.corePosition + self.bodyMotor.velocity, Color.red, lineDrawerMaterial); lineDrawer2.DrawLineInGameView(self.body.corePosition, self.body.corePosition + self.bodyInputs.moveVector, Color.blue, lineDrawer2Material); if (!enabledDebug) { enabledDebug = true; } } if (enabledDebug && !EnableStrafeDebug.Value) { lineDrawer.Destroy(); lineDrawer2.Destroy(); enabledDebug = false; } if (rocketAmount > 0 && intervalTime <= 0f) { KeyboardShortcut value = RocketJumpKey.Value; if (Input.GetKey(((KeyboardShortcut)(ref value)).MainKey) && Object.op_Implicit((Object)(object)self.body)) { Ray val = default(Ray); ((Ray)(ref val)).direction = self.bodyInputs.aimDirection; ((Ray)(ref val)).origin = self.bodyInputs.aimOrigin; Ray val2 = val; ProjectileManager.instance.FireProjectile(rocketJumpTestRocket, ((Ray)(ref val2)).origin, Quaternion.LookRotation(((Ray)(ref val2)).direction), ((Component)self.body).gameObject, 0f, 0f, Util.CheckRoll(self.body.crit, self.master), (DamageColorIndex)0, (GameObject)null, -1f, (DamageTypeCombo?)null); reloadTime = reloadMaxTime * self.body.skillLocator.utility.cooldownScale + 0.12f; intervalTime = intervalMaxTime / self.body.attackSpeed; rocketAmount--; Util.PlaySound("Play_MULT_m1_grenade_launcher_shoot", ((Component)self.body).gameObject); } } } private void BunnyHop(orig_ApplyJumpVelocity orig, CharacterMotor characterMotor, CharacterBody characterBody, float horizontalBonus, float verticalBonus, bool vault) { //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_00f8: Unknown result type (might be due to invalid IL or missing references) //IL_00fd: Unknown result type (might be due to invalid IL or missing references) //IL_0102: Unknown result type (might be due to invalid IL or missing references) //IL_0105: Unknown result type (might be due to invalid IL or missing references) //IL_010a: Unknown result type (might be due to invalid IL or missing references) //IL_0111: 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_011c: Unknown result type (might be due to invalid IL or missing references) //IL_0121: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_00bc: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00c6: Unknown result type (might be due to invalid IL or missing references) if (EnableBunnyHop.Value) { if (vault) { characterMotor.velocity = characterMotor.moveDirection; } else { float num = characterBody.jumpPower * verticalBonus; characterMotor.velocity.y = 0f; if (characterMotor.velocity.x * characterMotor.velocity.x + characterMotor.velocity.z * characterMotor.velocity.z < characterBody.baseMoveSpeed * characterBody.baseMoveSpeed) { characterMotor.velocity += new Vector3(characterMotor.moveDirection.x * characterBody.baseMoveSpeed, 0f, characterMotor.moveDirection.z * characterBody.baseMoveSpeed); } Vector3 val = (((Vector3)(ref characterMotor.velocity)).magnitude + (horizontalBonus - 1f) * 20f - ((Vector3)(ref characterMotor.velocity)).magnitude) * ((Vector3)(ref characterMotor.velocity)).normalized; characterMotor.velocity += new Vector3(val.x, num, val.z); } ((BaseCharacterController)characterMotor).Motor.ForceUnground(0.1f); } else { orig.Invoke(characterMotor, characterBody, horizontalBonus, verticalBonus, vault); } } }