using System;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BoplFixedMath;
using HarmonyLib;
using Microsoft.CodeAnalysis;
using UnityEngine;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: TargetFramework(".NETFramework,Version=v4.6", FrameworkDisplayName = "")]
[assembly: AssemblyCompany("phaseDash")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyDescription("My first plugin")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("phaseDash")]
[assembly: AssemblyTitle("phaseDash")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
[module: RefSafetyRules(11)]
namespace Microsoft.CodeAnalysis
{
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
internal sealed class EmbeddedAttribute : Attribute
{
}
}
namespace System.Runtime.CompilerServices
{
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
[AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)]
internal sealed class RefSafetyRulesAttribute : Attribute
{
public readonly int Version;
public RefSafetyRulesAttribute(int P_0)
{
Version = P_0;
}
}
}
namespace phaseDash
{
[BepInPlugin("com.erwer.phaseDash", "phaseDash", "1.0.0")]
public class Plugin : BaseUnityPlugin
{
public const string PLUGIN_GUID = "com.erwer.phaseDash";
public const string PLUGIN_NAME = "phaseDash";
public const string PLUGIN_VERSION = "1.0.0";
private void Awake()
{
//IL_0017: Unknown result type (might be due to invalid IL or missing references)
//IL_001d: Expected O, but got Unknown
((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin com.erwer.phaseDash is loaded!");
Harmony val = new Harmony("com.erwer.phaseDash");
val.PatchAll(typeof(Patches));
}
}
public class Patches
{
[HarmonyPatch(typeof(Dash), "performDash")]
[HarmonyPostfix]
public static void PatchDash(Dash __instance)
{
//IL_0002: Unknown result type (might be due to invalid IL or missing references)
//IL_0012: Unknown result type (might be due to invalid IL or missing references)
//IL_0017: Unknown result type (might be due to invalid IL or missing references)
//IL_001c: Unknown result type (might be due to invalid IL or missing references)
//IL_001e: Unknown result type (might be due to invalid IL or missing references)
//IL_0023: Unknown result type (might be due to invalid IL or missing references)
//IL_0028: Unknown result type (might be due to invalid IL or missing references)
//IL_0047: Unknown result type (might be due to invalid IL or missing references)
//IL_004c: Unknown result type (might be due to invalid IL or missing references)
//IL_0051: Unknown result type (might be due to invalid IL or missing references)
//IL_0057: 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_0061: 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_006d: Unknown result type (might be due to invalid IL or missing references)
//IL_0084: Unknown result type (might be due to invalid IL or missing references)
//IL_0091: Unknown result type (might be due to invalid IL or missing references)
//IL_0096: Unknown result type (might be due to invalid IL or missing references)
//IL_00ae: Unknown result type (might be due to invalid IL or missing references)
//IL_00b3: Unknown result type (might be due to invalid IL or missing references)
//IL_00be: Unknown result type (might be due to invalid IL or missing references)
//IL_00c3: 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_012d: Unknown result type (might be due to invalid IL or missing references)
//IL_0158: 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)
//IL_0188: Unknown result type (might be due to invalid IL or missing references)
//IL_018d: Unknown result type (might be due to invalid IL or missing references)
//IL_018e: Unknown result type (might be due to invalid IL or missing references)
//IL_018f: 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_019b: Unknown result type (might be due to invalid IL or missing references)
//IL_01a0: Unknown result type (might be due to invalid IL or missing references)
//IL_01a5: Unknown result type (might be due to invalid IL or missing references)
//IL_01aa: Unknown result type (might be due to invalid IL or missing references)
//IL_01ab: Unknown result type (might be due to invalid IL or missing references)
//IL_01ac: Unknown result type (might be due to invalid IL or missing references)
//IL_01b1: Unknown result type (might be due to invalid IL or missing references)
//IL_003a: 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_01cf: Unknown result type (might be due to invalid IL or missing references)
//IL_01d0: Unknown result type (might be due to invalid IL or missing references)
//IL_01d1: Unknown result type (might be due to invalid IL or missing references)
//IL_01d6: Unknown result type (might be due to invalid IL or missing references)
//IL_01db: 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_01fe: Unknown result type (might be due to invalid IL or missing references)
//IL_020b: Unknown result type (might be due to invalid IL or missing references)
//IL_0236: 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_01c4: Unknown result type (might be due to invalid IL or missing references)
//IL_01c9: Unknown result type (might be due to invalid IL or missing references)
Fix val = __instance.smearBaseLength * __instance.body.fixtrans.Scale;
if (Vec2.Magnitude(__instance.inputVector) < Constants.DEADZONE)
{
__instance.inputVector = Vec2.up;
}
__instance.inputVector = Vec2.Normalized(__instance.inputVector);
Fix rotationFromDirection = Tools.GetRotationFromDirection(__instance.inputVector, Vec2.up);
__instance.body.rotation = rotationFromDirection;
((Component)__instance).transform.rotation = Quaternion.Euler(new Vector3(0f, 0f, (float)rotationFromDirection * 57.29578f));
__instance.updatesPassedInDash = 0;
__instance.body.selfImposedVelocity = Vec2.zero;
__instance.body.externalVelocity = Vec2.zero;
((Renderer)__instance.SmearFrame).enabled = true;
((Renderer)__instance.spriteRen).enabled = false;
((Renderer)__instance.SmearFrame).material.SetColor("_ShadowColor", ((Renderer)__instance.spriteRen).material.GetColor("_ShadowColor"));
((Renderer)__instance.SmearFrame).material.SetColor("_MainColor", ((Renderer)__instance.spriteRen).material.GetColor("_MainColor"));
((Renderer)__instance.SmearFrame).material.SetColor("_ReflectionColour", ((Renderer)__instance.spriteRen).material.GetColor("_ReflectionColour"));
__instance.hitGround = null;
((Component)__instance.SmearFrame).GetComponent<DPhysicsBox>();
Vector3 position = ((Component)__instance).transform.position;
position = ((Component)__instance).transform.position;
Vec2 val2 = (Vec2)position + __instance.inputVector * __instance.dashLength;
if (val2.y <= SceneBounds.WaterHeight)
{
val2.y = SceneBounds.WaterHeight;
}
Vector2 val3 = (Vector2)(val2 - (Vec2)position);
float num = ((Vector2)(ref val3)).magnitude;
((Component)__instance.SmearFrame).transform.localScale = new Vector3(1f, num / (float)val, 1f);
((Renderer)__instance.SmearFrame).material.SetVector("_Scale", new Vector4(1f, ((Component)__instance.SmearFrame).transform.localScale.y * __instance.smearScaling, 1f));
}
}
public static class PluginInfo
{
public const string PLUGIN_GUID = "phaseDash";
public const string PLUGIN_NAME = "phaseDash";
public const string PLUGIN_VERSION = "1.0.0";
}
}