using 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);
}
}
}