Decompiled source of Sfdjqspdjuz v0.0.1

AGN.Sfdjqspdjuz.dll

Decompiled 2 years ago
using System;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Configuration;
using BepInEx.Logging;
using FistVR;
using HarmonyLib;
using Microsoft.CodeAnalysis;
using Sodalite.ModPanel;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyCompany("AGN")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyDescription("Persistent player progression! Raid, stash loot, and deploy with seemless scene/loadout saving.")]
[assembly: AssemblyFileVersion("0.0.1.0")]
[assembly: AssemblyInformationalVersion("0.0.1")]
[assembly: AssemblyProduct("AGN.Sfdjqspdjuz")]
[assembly: AssemblyTitle("BepInEx Plugin Title")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("0.0.1.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;
		}
	}
}
public class Velocityhandlehandgun : MonoBehaviour
{
	private HandgunSlide bolt;

	public float bolt_velocity;

	private float boltpos;

	private float boltposprev;

	private Vector3 boltacpos;

	public float bolt_velocityrot;

	private float boltrot;

	private float boltrotprev;

	public float forcemuilt;

	public GameObject handposgameobject;

	public float dampingFactor;

	public float max_force = 10f;

	public Vector3 Dampening;

	private void Start()
	{
		bolt = ((Component)this).gameObject.GetComponent<Handgun>().Slide;
		boltpos = bolt.m_slideZ_current;
		boltposprev = boltpos;
	}

	private void Update()
	{
		boltposprev = boltpos;
		boltpos = bolt.m_slideZ_current;
		bolt_velocity = boltpos - boltposprev;
	}

	private void FixedUpdate()
	{
		//IL_0037: Unknown result type (might be due to invalid IL or missing references)
		//IL_0041: Unknown result type (might be due to invalid IL or missing references)
		//IL_0046: Unknown result type (might be due to invalid IL or missing references)
		//IL_0060: 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_007a: 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)
		//IL_0087: Unknown result type (might be due to invalid IL or missing references)
		//IL_0092: Unknown result type (might be due to invalid IL or missing references)
		//IL_0098: Unknown result type (might be due to invalid IL or missing references)
		//IL_009d: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ad: Unknown result type (might be due to invalid IL or missing references)
		if (!((Object)(object)handposgameobject == (Object)null))
		{
			if ((Object)(object)((FVRInteractiveObject)bolt).m_hand != (Object)null)
			{
				Dampening = ((Component)this).GetComponent<Rigidbody>().velocity * -1f;
				Vector3 val = ((Component)((FVRInteractiveObject)bolt).m_hand.TouchSphere).transform.position - handposgameobject.transform.position;
				((Component)this).GetComponent<Rigidbody>().AddForceAtPosition(val * 1000f * forcemuilt + Dampening, handposgameobject.transform.position, (ForceMode)5);
			}
			if ((Object)(object)((FVRInteractiveObject)bolt).m_hand == (Object)null)
			{
				Object.Destroy((Object)(object)handposgameobject);
			}
		}
	}

	public void grab()
	{
		//IL_0002: Unknown result type (might be due to invalid IL or missing references)
		//IL_000c: Expected O, but got Unknown
		//IL_002c: Unknown result type (might be due to invalid IL or missing references)
		handposgameobject = new GameObject();
		handposgameobject.transform.position = ((Component)((FVRInteractiveObject)bolt).m_hand.TouchSphere).transform.position;
		handposgameobject.transform.parent = ((Component)bolt).transform;
	}
}
public class PhysicsObjectFeedback : MonoBehaviour
{
	public Vector3 velocity;

	public Vector3 torque;

	public float ForceMuilt;

	public float DampeningMuilt;

	public Vector3 error;

	public Vector3 dampening;

	public float maxforce = 50f;

	public float angularForce = 10f;

	public float angularDampening = 0.5f;

	public FVRPhysicalObject physic;

	public GameObject altgripgameobject;

	public bool altheld;

	public bool altheldprev;

	public BoxCollider[] colliders;

	public CapsuleCollider[] Capcolliders;

	public MeshRenderer mesh;

	public float weight;

	private bool firstframe = true;

	private bool ishandgun;

	private bool isclosedbolt;

	private bool isopenbolt;

	private bool istubefed;

	private bool isboltaction;

	private bool isammo;

	public bool latchGrabbed = false;

	private void Start()
	{
		physic = ((Component)this).gameObject.GetComponent<FVRPhysicalObject>();
		if ((Object)(object)((Component)physic).GetComponent<FVRFireArmRound>() != (Object)null)
		{
			isammo = true;
		}
	}

	protected Quaternion RotOptimize(Quaternion q)
	{
		//IL_0001: 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_0055: Unknown result type (might be due to invalid IL or missing references)
		//IL_0058: Unknown result type (might be due to invalid IL or missing references)
		if (q.w < 0f)
		{
			q.x *= -1f;
			q.y *= -1f;
			q.z *= -1f;
			q.w *= -1f;
		}
		return q;
	}

	private Vector3 RotAxis(Quaternion q)
	{
		//IL_0003: Unknown result type (might be due to invalid IL or missing references)
		//IL_0009: Unknown result type (might be due to invalid IL or missing references)
		//IL_000f: 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_0021: Unknown result type (might be due to invalid IL or missing references)
		//IL_0024: Unknown result type (might be due to invalid IL or missing references)
		Vector3 val = default(Vector3);
		((Vector3)(ref val))..ctor(q.x, q.y, q.z);
		return ((Vector3)(ref val)).normalized;
	}

	private void SingleHandedGripFU()
	{
		//IL_001c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0032: Unknown result type (might be due to invalid IL or missing references)
		//IL_0037: Unknown result type (might be due to invalid IL or missing references)
		//IL_003e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0043: Unknown result type (might be due to invalid IL or missing references)
		//IL_0044: Unknown result type (might be due to invalid IL or missing references)
		//IL_0049: Unknown result type (might be due to invalid IL or missing references)
		//IL_004a: 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_0056: 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_0060: Unknown result type (might be due to invalid IL or missing references)
		//IL_0083: Unknown result type (might be due to invalid IL or missing references)
		//IL_008c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0097: Unknown result type (might be due to invalid IL or missing references)
		//IL_009c: Unknown result type (might be due to invalid IL or missing references)
		//IL_009e: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b7: 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_00c9: Unknown result type (might be due to invalid IL or missing references)
		//IL_00dd: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e2: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ed: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f2: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f4: 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_011f: Unknown result type (might be due to invalid IL or missing references)
		Debug.Log((object)"SingleHanded START");
		Quaternion val = Quaternion.Euler(0f + (0f - ((FVRInteractiveObject)physic).PoseOverride.localEulerAngles.x), 0f, 0f);
		Quaternion val2 = ((FVRInteractiveObject)physic).m_handRot * val;
		Quaternion val3 = val2 * Quaternion.Inverse(((Component)this).transform.rotation);
		float num = default(float);
		Vector3 val4 = default(Vector3);
		((Quaternion)(ref val3)).ToAngleAxis(ref num, ref val4);
		if (num > 180f)
		{
			num -= 360f;
		}
		Vector3 val5 = val4 * (num * ((float)Math.PI / 180f)) * angularForce;
		val5 = Vector3.ClampMagnitude(val5, physic.RootRigidbody.mass * maxforce);
		physic.RootRigidbody.AddTorque(val5, (ForceMode)2);
		Vector3 val6 = -physic.RootRigidbody.angularVelocity * angularDampening;
		val6 = Vector3.ClampMagnitude(val6, physic.RootRigidbody.mass * maxforce);
		physic.RootRigidbody.AddTorque(val6, (ForceMode)2);
		Debug.Log((object)"SingleHanded END");
	}

	private void FixedUpdate()
	{
		//IL_0045: Unknown result type (might be due to invalid IL or missing references)
		//IL_004b: Expected O, but got Unknown
		//IL_0057: Unknown result type (might be due to invalid IL or missing references)
		//IL_0067: 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_0081: Unknown result type (might be due to invalid IL or missing references)
		//IL_0086: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a2: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c8: Unknown result type (might be due to invalid IL or missing references)
		//IL_00cd: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d2: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f0: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f5: Unknown result type (might be due to invalid IL or missing references)
		//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_010f: 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_013f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0144: 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_0154: Unknown result type (might be due to invalid IL or missing references)
		//IL_015b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0165: 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_0186: Unknown result type (might be due to invalid IL or missing references)
		//IL_0197: 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_01ba: 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_01ec: Unknown result type (might be due to invalid IL or missing references)
		//IL_0201: 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_0233: Unknown result type (might be due to invalid IL or missing references)
		//IL_0238: Unknown result type (might be due to invalid IL or missing references)
		//IL_0250: Unknown result type (might be due to invalid IL or missing references)
		//IL_0255: Unknown result type (might be due to invalid IL or missing references)
		//IL_026d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0272: 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_027f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0281: Unknown result type (might be due to invalid IL or missing references)
		//IL_0286: Unknown result type (might be due to invalid IL or missing references)
		//IL_0299: Unknown result type (might be due to invalid IL or missing references)
		//IL_029e: Unknown result type (might be due to invalid IL or missing references)
		//IL_02a3: Unknown result type (might be due to invalid IL or missing references)
		//IL_02b0: Unknown result type (might be due to invalid IL or missing references)
		//IL_02c0: Unknown result type (might be due to invalid IL or missing references)
		//IL_02d0: Unknown result type (might be due to invalid IL or missing references)
		//IL_02d7: Unknown result type (might be due to invalid IL or missing references)
		//IL_02df: Unknown result type (might be due to invalid IL or missing references)
		//IL_02e6: Unknown result type (might be due to invalid IL or missing references)
		//IL_02fb: Unknown result type (might be due to invalid IL or missing references)
		//IL_02fd: 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_0304: Unknown result type (might be due to invalid IL or missing references)
		//IL_030c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0311: Unknown result type (might be due to invalid IL or missing references)
		//IL_0326: Unknown result type (might be due to invalid IL or missing references)
		//IL_032b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0330: Unknown result type (might be due to invalid IL or missing references)
		//IL_0332: Unknown result type (might be due to invalid IL or missing references)
		//IL_033a: Unknown result type (might be due to invalid IL or missing references)
		//IL_033f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0344: Unknown result type (might be due to invalid IL or missing references)
		//IL_0348: Unknown result type (might be due to invalid IL or missing references)
		//IL_034d: Unknown result type (might be due to invalid IL or missing references)
		//IL_034f: Unknown result type (might be due to invalid IL or missing references)
		//IL_035f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0364: Unknown result type (might be due to invalid IL or missing references)
		//IL_0369: 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_0370: Unknown result type (might be due to invalid IL or missing references)
		//IL_0372: Unknown result type (might be due to invalid IL or missing references)
		//IL_037a: Unknown result type (might be due to invalid IL or missing references)
		//IL_037f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0384: Unknown result type (might be due to invalid IL or missing references)
		//IL_0389: Unknown result type (might be due to invalid IL or missing references)
		//IL_03b0: Unknown result type (might be due to invalid IL or missing references)
		//IL_03ba: Unknown result type (might be due to invalid IL or missing references)
		//IL_03c5: Unknown result type (might be due to invalid IL or missing references)
		//IL_03ca: Unknown result type (might be due to invalid IL or missing references)
		//IL_03cc: Unknown result type (might be due to invalid IL or missing references)
		//IL_03e5: Unknown result type (might be due to invalid IL or missing references)
		//IL_03ea: 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_040b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0410: Unknown result type (might be due to invalid IL or missing references)
		//IL_041b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0420: Unknown result type (might be due to invalid IL or missing references)
		//IL_0422: Unknown result type (might be due to invalid IL or missing references)
		//IL_043b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0440: Unknown result type (might be due to invalid IL or missing references)
		//IL_044d: Unknown result type (might be due to invalid IL or missing references)
		//IL_09a6: Unknown result type (might be due to invalid IL or missing references)
		//IL_09ab: Unknown result type (might be due to invalid IL or missing references)
		//IL_09b5: Unknown result type (might be due to invalid IL or missing references)
		//IL_09c0: Unknown result type (might be due to invalid IL or missing references)
		//IL_09c5: Unknown result type (might be due to invalid IL or missing references)
		//IL_09db: Unknown result type (might be due to invalid IL or missing references)
		//IL_09e6: Unknown result type (might be due to invalid IL or missing references)
		//IL_09eb: Unknown result type (might be due to invalid IL or missing references)
		//IL_09f6: Unknown result type (might be due to invalid IL or missing references)
		//IL_09fb: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a02: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a0c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a28: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a2d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a3e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a4c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a68: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a6d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0a7e: Unknown result type (might be due to invalid IL or missing references)
		//IL_06f6: Unknown result type (might be due to invalid IL or missing references)
		//IL_0700: Unknown result type (might be due to invalid IL or missing references)
		//IL_070b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0710: Unknown result type (might be due to invalid IL or missing references)
		//IL_0726: Unknown result type (might be due to invalid IL or missing references)
		//IL_0736: Unknown result type (might be due to invalid IL or missing references)
		//IL_073b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0746: Unknown result type (might be due to invalid IL or missing references)
		//IL_074b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0752: Unknown result type (might be due to invalid IL or missing references)
		//IL_075c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0778: Unknown result type (might be due to invalid IL or missing references)
		//IL_077d: Unknown result type (might be due to invalid IL or missing references)
		//IL_078e: Unknown result type (might be due to invalid IL or missing references)
		//IL_079c: Unknown result type (might be due to invalid IL or missing references)
		//IL_07b8: Unknown result type (might be due to invalid IL or missing references)
		//IL_07bd: Unknown result type (might be due to invalid IL or missing references)
		//IL_07ce: Unknown result type (might be due to invalid IL or missing references)
		//IL_0822: Unknown result type (might be due to invalid IL or missing references)
		//IL_0827: Unknown result type (might be due to invalid IL or missing references)
		//IL_082c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0836: Unknown result type (might be due to invalid IL or missing references)
		//IL_0841: Unknown result type (might be due to invalid IL or missing references)
		//IL_0846: Unknown result type (might be due to invalid IL or missing references)
		//IL_086b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0870: Unknown result type (might be due to invalid IL or missing references)
		//IL_088f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0894: Unknown result type (might be due to invalid IL or missing references)
		//IL_0899: Unknown result type (might be due to invalid IL or missing references)
		//IL_08a4: Unknown result type (might be due to invalid IL or missing references)
		//IL_08a9: Unknown result type (might be due to invalid IL or missing references)
		//IL_08b0: Unknown result type (might be due to invalid IL or missing references)
		//IL_08ba: Unknown result type (might be due to invalid IL or missing references)
		//IL_08d6: Unknown result type (might be due to invalid IL or missing references)
		//IL_08db: Unknown result type (might be due to invalid IL or missing references)
		//IL_08ec: Unknown result type (might be due to invalid IL or missing references)
		//IL_090b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0910: Unknown result type (might be due to invalid IL or missing references)
		//IL_091e: Unknown result type (might be due to invalid IL or missing references)
		//IL_093a: Unknown result type (might be due to invalid IL or missing references)
		//IL_093f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0950: Unknown result type (might be due to invalid IL or missing references)
		//IL_096f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0974: Unknown result type (might be due to invalid IL or missing references)
		//IL_0555: Unknown result type (might be due to invalid IL or missing references)
		//IL_0565: Unknown result type (might be due to invalid IL or missing references)
		//IL_0587: Unknown result type (might be due to invalid IL or missing references)
		//IL_058c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0596: Unknown result type (might be due to invalid IL or missing references)
		//IL_05a1: Unknown result type (might be due to invalid IL or missing references)
		//IL_05a6: 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_05cc: Unknown result type (might be due to invalid IL or missing references)
		//IL_05d1: Unknown result type (might be due to invalid IL or missing references)
		//IL_05dc: Unknown result type (might be due to invalid IL or missing references)
		//IL_05e1: Unknown result type (might be due to invalid IL or missing references)
		//IL_05e8: Unknown result type (might be due to invalid IL or missing references)
		//IL_05f2: Unknown result type (might be due to invalid IL or missing references)
		//IL_060e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0613: Unknown result type (might be due to invalid IL or missing references)
		//IL_0624: Unknown result type (might be due to invalid IL or missing references)
		//IL_0634: Unknown result type (might be due to invalid IL or missing references)
		//IL_0642: Unknown result type (might be due to invalid IL or missing references)
		//IL_065e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0663: Unknown result type (might be due to invalid IL or missing references)
		//IL_0674: Unknown result type (might be due to invalid IL or missing references)
		//IL_0684: Unknown result type (might be due to invalid IL or missing references)
		//IL_04de: Unknown result type (might be due to invalid IL or missing references)
		//IL_04e8: Expected O, but got Unknown
		//IL_0512: Unknown result type (might be due to invalid IL or missing references)
		//IL_0517: Unknown result type (might be due to invalid IL or missing references)
		if (!((FVRInteractiveObject)physic).IsHeld)
		{
			return;
		}
		if ((Object)(object)physic.AltGrip != (Object)null)
		{
			if (((FVRInteractiveObject)physic.AltGrip).IsHeld)
			{
				GameObject val = new GameObject();
				val.transform.rotation = Quaternion.LookRotation(((FVRInteractiveObject)physic).m_handPos - ((FVRInteractiveObject)physic.AltGrip).m_handPos, ((Component)((FVRInteractiveObject)physic).m_hand).transform.up);
				val.transform.position = ((Component)physic).transform.position;
				Vector3 val2 = ((Component)physic).transform.InverseTransformPoint(((FVRInteractiveObject)physic.AltGrip).PoseOverride.position);
				dampening = physic.RootRigidbody.GetPointVelocity(((FVRInteractiveObject)physic.AltGrip).PoseOverride.position) * -0.2f * DampeningMuilt;
				error = (((FVRInteractiveObject)physic.AltGrip).m_hand.PalmTransform.position - ((FVRInteractiveObject)physic.AltGrip).PoseOverride.position) * ForceMuilt;
				error = Vector3.ClampMagnitude(error * 7f, physic.RootRigidbody.mass * maxforce);
				physic.RootRigidbody.AddForceAtPosition(error, ((FVRInteractiveObject)physic.AltGrip).PoseOverride.position, (ForceMode)2);
				dampening = Vector3.ClampMagnitude(dampening, physic.RootRigidbody.mass * maxforce);
				physic.RootRigidbody.AddForceAtPosition(dampening, ((FVRInteractiveObject)physic.AltGrip).PoseOverride.position, (ForceMode)2);
				Quaternion val3 = Quaternion.Euler(0f + (0f - ((FVRInteractiveObject)physic).PoseOverride.localEulerAngles.x), 0f, 0f);
				Vector3 palmPos = physic.AltGrip.GetPalmPos(physic.m_doesDirectParent);
				Vector3 val4 = ((Component)this).transform.InverseTransformPoint(((FVRInteractiveObject)physic.AltGrip).PoseOverride.position);
				Vector3 val5 = ((Component)this).transform.InverseTransformPoint(palmPos);
				Vector3 val6 = ((Component)this).transform.InverseTransformPoint(((FVRInteractiveObject)physic).PoseOverride.position);
				float num = Mathf.Max(((FVRInteractiveObject)physic).PoseOverride.localPosition.z + 0.05f, val5.z);
				Vector3 val7 = default(Vector3);
				((Vector3)(ref val7))..ctor(val5.x - val4.x, val5.y - val4.y, num);
				Vector3 val8 = ((Component)this).transform.TransformPoint(val7);
				Vector3 val9 = Vector3.Cross(val8 - ((Component)this).transform.position, ((HandInput)(ref ((FVRInteractiveObject)physic).m_hand.Input)).Right);
				Vector3 val10 = val8 - ((Component)this).transform.position;
				Quaternion val11 = Quaternion.LookRotation(((Vector3)(ref val10)).normalized, val9) * ((FVRInteractiveObject)physic).PoseOverride.localRotation * val3;
				Quaternion val12 = val11 * Quaternion.Inverse(((Component)this).transform.rotation);
				float num2 = default(float);
				Vector3 val13 = default(Vector3);
				((Quaternion)(ref val12)).ToAngleAxis(ref num2, ref val13);
				if (num2 > 180f)
				{
					num2 -= 360f;
				}
				Vector3 val14 = val13 * (num2 * ((float)Math.PI / 180f)) * angularForce;
				val14 = Vector3.ClampMagnitude(val14, physic.RootRigidbody.mass * maxforce);
				physic.RootRigidbody.AddTorque(val14, (ForceMode)2);
				Vector3 val15 = -physic.RootRigidbody.angularVelocity * angularDampening;
				val15 = Vector3.ClampMagnitude(val15, physic.RootRigidbody.mass * maxforce);
				physic.RootRigidbody.AddTorque(val15, (ForceMode)2);
				Debug.Log((object)"1");
			}
			else
			{
				Debug.Log((object)"SingleHanded_AltGrip_NotHeld START");
				SingleHandedGripFU();
				Debug.Log((object)"SingleHanded_AltGrip_NotHeld END");
			}
		}
		else
		{
			SingleHandedGripFU();
		}
		altheldprev = altheld;
		if (physic.IsAltHeld)
		{
			Debug.Log((object)"Is AltHeld BEGIN");
			altheld = true;
			if (altheld && !altheldprev)
			{
				altgripgameobject = new GameObject();
				altgripgameobject.transform.position = ((Component)((FVRInteractiveObject)physic).m_hand).transform.TransformPoint(new Vector3(0f, 0f, 0.008f));
				altgripgameobject.transform.parent = ((Component)this).transform;
				Debug.Log((object)"BeginInteractionThroughAltGrip");
			}
			Debug.DrawLine(((FVRInteractiveObject)physic.AltGrip).PoseOverride.position, ((FVRInteractiveObject)physic.AltGrip).m_handPos);
			dampening = physic.RootRigidbody.GetPointVelocity(altgripgameobject.transform.position) * -0.2f * DampeningMuilt;
			error = (((Component)((FVRInteractiveObject)physic).m_hand).transform.position - altgripgameobject.transform.position) * ForceMuilt;
			error = Vector3.ClampMagnitude(error * 7f, physic.RootRigidbody.mass * maxforce);
			physic.RootRigidbody.AddForceAtPosition(error, altgripgameobject.transform.position, (ForceMode)2);
			dampening = Vector3.ClampMagnitude(dampening, physic.RootRigidbody.mass * maxforce);
			physic.RootRigidbody.AddForceAtPosition(dampening, altgripgameobject.transform.position, (ForceMode)2);
			return;
		}
		Debug.Log((object)"Not AltHeld BEGIN");
		altheld = false;
		if ((Object)(object)((FVRInteractiveObject)physic).PoseOverride != (Object)null)
		{
			Debug.Log((object)"PoseOverride BEGIN");
			if (isammo)
			{
				Debug.Log((object)"IsAmmo BEGIN");
				dampening = physic.RootRigidbody.velocity * -0.2f * DampeningMuilt;
				error = (((Component)((FVRInteractiveObject)physic).m_hand).transform.position - ((FVRInteractiveObject)physic).PoseOverride.position) * ForceMuilt;
				error = Vector3.ClampMagnitude(error * 7f, physic.RootRigidbody.mass * maxforce);
				physic.RootRigidbody.AddForce(error, (ForceMode)2);
				dampening = Vector3.ClampMagnitude(dampening, physic.RootRigidbody.mass * maxforce);
				physic.RootRigidbody.AddForce(dampening, (ForceMode)2);
				return;
			}
			Debug.Log((object)"Not Ammo BEGIN***");
			if (latchGrabbed)
			{
				dampening = physic.RootRigidbody.GetPointVelocity(((FVRInteractiveObject)physic).PoseOverride.TransformPoint(new Vector3(0f, 0f, -0.0165f))) * -0.2f * DampeningMuilt;
				error = (((Component)((FVRInteractiveObject)physic).m_hand).transform.TransformPoint(new Vector3(0f, 0f, -0.1f)) - ((FVRInteractiveObject)physic).PoseOverride.TransformPoint(new Vector3(0f, 0f, -0.1f))) * ForceMuilt;
				error = Vector3.ClampMagnitude(error * 7f, physic.RootRigidbody.mass * maxforce);
				physic.RootRigidbody.AddForceAtPosition(error, ((FVRInteractiveObject)physic).PoseOverride.TransformPoint(new Vector3(0f, 0f, -0.0165f)), (ForceMode)2);
				dampening = Vector3.ClampMagnitude(dampening, physic.RootRigidbody.mass * maxforce);
				physic.RootRigidbody.AddForceAtPosition(dampening, ((FVRInteractiveObject)physic).PoseOverride.TransformPoint(new Vector3(0f, 0f, -0.0165f)), (ForceMode)2);
			}
		}
		else
		{
			Debug.Log((object)"No PoseOverride BEGIN");
			dampening = physic.RootRigidbody.GetPointVelocity(((Component)this).transform.position) * -0.2f * DampeningMuilt;
			error = (((Component)((FVRInteractiveObject)physic).m_hand).transform.position - ((Component)this).transform.position) * ForceMuilt;
			error = Vector3.ClampMagnitude(error * 7f, physic.RootRigidbody.mass * maxforce);
			physic.RootRigidbody.AddForce(error, (ForceMode)2);
			dampening = Vector3.ClampMagnitude(dampening, physic.RootRigidbody.mass * maxforce);
			physic.RootRigidbody.AddForce(dampening, (ForceMode)2);
		}
	}
}
namespace BepInEx
{
	[AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)]
	[Conditional("CodeGeneration")]
	internal sealed class BepInAutoPluginAttribute : Attribute
	{
		public BepInAutoPluginAttribute(string id = null, string name = null, string version = null)
		{
		}
	}
}
namespace BepInEx.Preloader.Core.Patching
{
	[AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)]
	[Conditional("CodeGeneration")]
	internal sealed class PatcherAutoPluginAttribute : Attribute
	{
		public PatcherAutoPluginAttribute(string id = null, string name = null, string version = null)
		{
		}
	}
}
namespace NGA
{
	[BepInPlugin("AGN.Sfdjqspdjuz", "Sfdjqspdjuz", "0.0.1")]
	[BepInDependency("nrgill28.Sodalite", "1.0.0")]
	[BepInProcess("h3vr.exe")]
	public class Sfdjqspdjuz : BaseUnityPlugin
	{
		[HarmonyPatch(typeof(FVRPhysicalObject))]
		[HarmonyPatch("Awake")]
		public class FVRPhysicalObject_Awake : MonoBehaviour
		{
			private static void Postfix(FVRPhysicalObject __instance)
			{
				//IL_005a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0060: Invalid comparison between Unknown and I4
				//IL_007f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0085: Invalid comparison between Unknown and I4
				//IL_00a4: Unknown result type (might be due to invalid IL or missing references)
				//IL_00aa: Invalid comparison between Unknown and I4
				//IL_00cb: Unknown result type (might be due to invalid IL or missing references)
				//IL_00d1: Invalid comparison between Unknown and I4
				//IL_00f2: Unknown result type (might be due to invalid IL or missing references)
				//IL_00f8: Invalid comparison between Unknown and I4
				if (!IsModDisabled() && GripPhysicsEnabled.Value)
				{
					((FVRInteractiveObject)__instance).GameObject.AddComponent<PhysicsObjectFeedback>().ForceMuilt = config_GripForce_Force.Value;
					((FVRInteractiveObject)__instance).GameObject.GetComponent<PhysicsObjectFeedback>().DampeningMuilt = config_GripForce_Dampening.Value;
					if ((int)__instance.Size == 0)
					{
						((Component)__instance).GetComponent<Rigidbody>().mass = config_Small_Weight.Value;
					}
					if ((int)__instance.Size == 1)
					{
						((Component)__instance).GetComponent<Rigidbody>().mass = config_Medium_Weight.Value;
					}
					if ((int)__instance.Size == 2)
					{
						((Component)__instance).GetComponent<Rigidbody>().mass = config_Large_Weight.Value;
					}
					if ((int)__instance.Size == 3)
					{
						((Component)__instance).GetComponent<Rigidbody>().mass = config_Massive_Weight.Value;
					}
					if ((int)__instance.Size == 5)
					{
						((Component)__instance).GetComponent<Rigidbody>().mass = config_CantCarryBig_Weight.Value;
					}
				}
			}
		}

		[HarmonyPatch(typeof(FVRPhysicalObject))]
		[HarmonyPatch("FU")]
		public class FVRPhysicalObject_FU : MonoBehaviour
		{
			private static void Prefix(FVRPhysicalObject __instance)
			{
				//IL_008b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0090: Unknown result type (might be due to invalid IL or missing references)
				//IL_00a6: 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)
				if (!IsModDisabled() && GripPhysicsEnabled.Value)
				{
					if (((FVRInteractiveObject)__instance).IsHeld && (Object)(object)((Component)__instance).gameObject.GetComponent<PhysicsObjectFeedback>() != (Object)null)
					{
						((FVRInteractiveObject)__instance).GameObject.GetComponent<PhysicsObjectFeedback>().ForceMuilt = config_GripForce_Force.Value;
						((FVRInteractiveObject)__instance).GameObject.GetComponent<PhysicsObjectFeedback>().DampeningMuilt = config_GripForce_Dampening.Value;
						((Component)__instance).gameObject.GetComponent<PhysicsObjectFeedback>().velocity = __instance.RootRigidbody.velocity;
						((Component)__instance).gameObject.GetComponent<PhysicsObjectFeedback>().torque = __instance.RootRigidbody.angularVelocity;
					}
					Velocityhandlehandgun component = ((Component)__instance).gameObject.GetComponent<Velocityhandlehandgun>();
					((Component)__instance).gameObject.GetComponent<PhysicsObjectFeedback>().latchGrabbed = (Object)(object)component != (Object)null && (Object)(object)component.handposgameobject != (Object)null;
				}
			}

			private static void Postfix(FVRPhysicalObject __instance)
			{
				//IL_009f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0082: Unknown result type (might be due to invalid IL or missing references)
				if (!IsModDisabled() && GripPhysicsEnabled.Value && ((FVRInteractiveObject)__instance).IsHeld && (Object)(object)((Component)__instance).gameObject.GetComponent<PhysicsObjectFeedback>() != (Object)null)
				{
					Velocityhandlehandgun component = ((Component)__instance).gameObject.GetComponent<Velocityhandlehandgun>();
					if ((Object)(object)component != (Object)null && (Object)(object)component.handposgameobject != (Object)null)
					{
						__instance.RootRigidbody.velocity = ((Component)__instance).gameObject.GetComponent<PhysicsObjectFeedback>().velocity;
					}
					__instance.RootRigidbody.angularVelocity = ((Component)__instance).gameObject.GetComponent<PhysicsObjectFeedback>().torque;
				}
			}
		}

		[HarmonyPatch(typeof(HandgunSlide))]
		[HarmonyPatch("BeginInteraction")]
		public class HandgunSlide_BeginInteraction : MonoBehaviour
		{
			private static void Postfix(HandgunSlide __instance, FVRViveHand hand)
			{
				if (!IsModDisabled() && HandgunEnabled.Value && (Object)(object)__instance.Handgun != (Object)null)
				{
					((Component)__instance.Handgun).GetComponent<Velocityhandlehandgun>().grab();
				}
			}
		}

		[HarmonyPatch(typeof(Handgun))]
		[HarmonyPatch("Awake")]
		public class Handgun_Awake : MonoBehaviour
		{
			private static void Postfix(Handgun __instance)
			{
				if (!IsModDisabled() && HandgunEnabled.Value)
				{
					Velocityhandlehandgun velocityhandlehandgun = ((FVRInteractiveObject)__instance).GameObject.AddComponent<Velocityhandlehandgun>();
					velocityhandlehandgun.forcemuilt = config_Bolt_HandPosition_Force_Muiltiplyer.Value;
					velocityhandlehandgun.dampingFactor = config_Bolt_HandPosition_Dampening.Value;
				}
			}
		}

		[HarmonyPatch(typeof(Handgun))]
		[HarmonyPatch("FVRUpdate")]
		public class Handgun_FVRUpdate : MonoBehaviour
		{
			private static float boltvelocity;

			private static Vector3 boltacpos;

			private static void Prefix(Handgun __instance)
			{
				if (!IsModDisabled() && HandgunEnabled.Value && ((FVRInteractiveObject)__instance).IsHeld && (RecoilEnabled.Value || !(__instance.m_timeSinceFiredShot <= 0.1f)))
				{
					Velocityhandlehandgun component = ((Component)__instance).GetComponent<Velocityhandlehandgun>();
					if ((Object)(object)component != (Object)null)
					{
						boltvelocity = component.bolt_velocity;
					}
				}
			}

			private static void Postfix(Handgun __instance)
			{
				//IL_006a: Unknown result type (might be due to invalid IL or missing references)
				//IL_006f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0080: Unknown result type (might be due to invalid IL or missing references)
				//IL_008a: 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_00a3: Unknown result type (might be due to invalid IL or missing references)
				//IL_00a8: Unknown result type (might be due to invalid IL or missing references)
				//IL_00df: 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_00f3: 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_0107: Unknown result type (might be due to invalid IL or missing references)
				//IL_013f: Unknown result type (might be due to invalid IL or missing references)
				//IL_0149: Unknown result type (might be due to invalid IL or missing references)
				//IL_0153: Unknown result type (might be due to invalid IL or missing references)
				//IL_0162: Unknown result type (might be due to invalid IL or missing references)
				//IL_0167: Unknown result type (might be due to invalid IL or missing references)
				if (!IsModDisabled() && HandgunEnabled.Value && ((FVRInteractiveObject)__instance).IsHeld && (RecoilEnabled.Value || !(__instance.m_timeSinceFiredShot <= 0.1f)))
				{
					boltacpos = ((Component)__instance.Slide).transform.position;
					((Component)__instance).GetComponent<Rigidbody>().AddForceAtPosition(((Component)__instance).transform.forward * boltvelocity * 3000f * config_handgun_force_multiplyer.Value, boltacpos, (ForceMode)5);
					if (__instance.Slide.m_slideZ_current == __instance.Slide.m_slideZ_rear)
					{
						((Component)__instance).GetComponent<Rigidbody>().AddForceAtPosition(((Component)__instance).transform.forward * boltvelocity * 150f * config_handgun_force_multiplyer_end.Value, boltacpos, (ForceMode)2);
					}
					if (__instance.Slide.m_slideZ_current == __instance.Slide.m_slideZ_forward)
					{
						((Component)__instance).GetComponent<Rigidbody>().AddForceAtPosition(((Component)__instance).transform.forward * boltvelocity * 150f * config_handgun_force_multiplyer_end.Value, boltacpos, (ForceMode)2);
					}
				}
			}
		}

		private float boltpos;

		private float boltposprev;

		private Vector3 velocity;

		private Rigidbody obrigidbody;

		private static ConfigEntry<bool> GameEnabled;

		private static ConfigEntry<bool> GripPhysicsEnabled;

		private static ConfigEntry<bool> RecoilEnabled;

		private static ConfigEntry<bool> HandgunEnabled;

		private static ConfigEntry<bool> RifleEnabled;

		private static ConfigEntry<bool> OpenBoltEnabled;

		private static ConfigEntry<bool> TubeFedEnabled;

		private static ConfigEntry<bool> BoltActionEnabled;

		private static ConfigEntry<float> FloatOne;

		public static ConfigEntry<int> IntOne;

		public static ConfigEntry<string> StringOne;

		private static ConfigEntry<float> config_GripForce_Dampening;

		private static ConfigEntry<float> config_GripForce_Force;

		private static ConfigEntry<float> config_handgun_force_multiplyer;

		private static ConfigEntry<float> config_handgun_force_multiplyer_end;

		private static ConfigEntry<float> config_rifle_force_multiplyer;

		private static ConfigEntry<float> config_rifle_force_multiplyer_end;

		private static ConfigEntry<float> config_open_bolt_force_multiplyer;

		private static ConfigEntry<float> config_open_bolt_force_multiplyer_end;

		private static ConfigEntry<float> config_tube_fed_force_multiplyer;

		private static ConfigEntry<float> config_Tube_fed_force_multiplyer_end;

		private static ConfigEntry<float> config_tube_fed_pump_force_multiplyer;

		private static ConfigEntry<float> config_Tube_fed_pump_force_multiplyer_end;

		private static ConfigEntry<float> config_bolt_action_force_multiplyer;

		private static ConfigEntry<float> config_Bolt_action_force_multiplyer_end;

		private static ConfigEntry<float> config_bolt_action_force_multiplyer_rot;

		private static ConfigEntry<float> config_Bolt_action_force_multiplyer_end_rot;

		private static ConfigEntry<float> config_Bolt_HandPosition_Force_Muiltiplyer;

		private static ConfigEntry<float> config_Bolt_HandPosition_Dampening;

		private static ConfigEntry<float> config_Small_Weight;

		private static ConfigEntry<float> config_Medium_Weight;

		private static ConfigEntry<float> config_Large_Weight;

		private static ConfigEntry<float> config_Massive_Weight;

		private static ConfigEntry<float> config_CantCarryBig_Weight;

		internal static ManualLogSource Logger { get; private set; }

		private void Awake()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			Logger = ((BaseUnityPlugin)this).Logger;
			Harmony val = new Harmony("AGN.Sfdjqspdjuz");
			Logger.LogMessage((object)"New harmony");
			SetUpConfigFields();
			Logger.LogMessage((object)"Setted the fields");
			val.PatchAll();
			Logger.LogMessage((object)"Hello, world! Sent from AGN.Sfdjqspdjuz 0.0.1");
		}

		private static bool IsModDisabled()
		{
			return !GameEnabled.Value;
		}

		private void SetUpConfigFields()
		{
			//IL_012a: Unknown result type (might be due to invalid IL or missing references)
			//IL_013a: Expected O, but got Unknown
			//IL_0135: Unknown result type (might be due to invalid IL or missing references)
			//IL_013f: Expected O, but got Unknown
			//IL_016d: Unknown result type (might be due to invalid IL or missing references)
			//IL_017d: Expected O, but got Unknown
			//IL_0178: Unknown result type (might be due to invalid IL or missing references)
			//IL_0182: Expected O, but got Unknown
			//IL_01b0: Unknown result type (might be due to invalid IL or missing references)
			//IL_01c0: Expected O, but got Unknown
			//IL_01bb: Unknown result type (might be due to invalid IL or missing references)
			//IL_01c5: Expected O, but got Unknown
			//IL_01f3: Unknown result type (might be due to invalid IL or missing references)
			//IL_0203: Expected O, but got Unknown
			//IL_01fe: Unknown result type (might be due to invalid IL or missing references)
			//IL_0208: Expected O, but got Unknown
			//IL_0236: Unknown result type (might be due to invalid IL or missing references)
			//IL_0246: Expected O, but got Unknown
			//IL_0241: Unknown result type (might be due to invalid IL or missing references)
			//IL_024b: Expected O, but got Unknown
			//IL_0279: Unknown result type (might be due to invalid IL or missing references)
			//IL_0289: Expected O, but got Unknown
			//IL_0284: Unknown result type (might be due to invalid IL or missing references)
			//IL_028e: Expected O, but got Unknown
			//IL_02bc: Unknown result type (might be due to invalid IL or missing references)
			//IL_02cc: Expected O, but got Unknown
			//IL_02c7: Unknown result type (might be due to invalid IL or missing references)
			//IL_02d1: Expected O, but got Unknown
			//IL_02ff: Unknown result type (might be due to invalid IL or missing references)
			//IL_030f: Expected O, but got Unknown
			//IL_030a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0314: Expected O, but got Unknown
			//IL_0342: Unknown result type (might be due to invalid IL or missing references)
			//IL_0352: Expected O, but got Unknown
			//IL_034d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0357: Expected O, but got Unknown
			//IL_0385: Unknown result type (might be due to invalid IL or missing references)
			//IL_0395: Expected O, but got Unknown
			//IL_0390: Unknown result type (might be due to invalid IL or missing references)
			//IL_039a: Expected O, but got Unknown
			//IL_03c8: Unknown result type (might be due to invalid IL or missing references)
			//IL_03d8: Expected O, but got Unknown
			//IL_03d3: Unknown result type (might be due to invalid IL or missing references)
			//IL_03dd: Expected O, but got Unknown
			//IL_040b: Unknown result type (might be due to invalid IL or missing references)
			//IL_041b: Expected O, but got Unknown
			//IL_0416: Unknown result type (might be due to invalid IL or missing references)
			//IL_0420: Expected O, but got Unknown
			//IL_044e: Unknown result type (might be due to invalid IL or missing references)
			//IL_045e: Expected O, but got Unknown
			//IL_0459: Unknown result type (might be due to invalid IL or missing references)
			//IL_0463: Expected O, but got Unknown
			//IL_0491: Unknown result type (might be due to invalid IL or missing references)
			//IL_04a1: Expected O, but got Unknown
			//IL_049c: Unknown result type (might be due to invalid IL or missing references)
			//IL_04a6: Expected O, but got Unknown
			//IL_04d4: Unknown result type (might be due to invalid IL or missing references)
			//IL_04e4: Expected O, but got Unknown
			//IL_04df: Unknown result type (might be due to invalid IL or missing references)
			//IL_04e9: Expected O, but got Unknown
			//IL_0517: Unknown result type (might be due to invalid IL or missing references)
			//IL_0527: Expected O, but got Unknown
			//IL_0522: Unknown result type (might be due to invalid IL or missing references)
			//IL_052c: Expected O, but got Unknown
			//IL_055a: Unknown result type (might be due to invalid IL or missing references)
			//IL_056a: Expected O, but got Unknown
			//IL_0565: Unknown result type (might be due to invalid IL or missing references)
			//IL_056f: Expected O, but got Unknown
			//IL_059d: Unknown result type (might be due to invalid IL or missing references)
			//IL_05ad: Expected O, but got Unknown
			//IL_05a8: Unknown result type (might be due to invalid IL or missing references)
			//IL_05b2: Expected O, but got Unknown
			//IL_05e0: Unknown result type (might be due to invalid IL or missing references)
			//IL_05f0: 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_0623: Unknown result type (might be due to invalid IL or missing references)
			//IL_0633: Expected O, but got Unknown
			//IL_062e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0638: Expected O, but got Unknown
			//IL_0666: Unknown result type (might be due to invalid IL or missing references)
			//IL_0676: Expected O, but got Unknown
			//IL_0671: Unknown result type (might be due to invalid IL or missing references)
			//IL_067b: Expected O, but got Unknown
			//IL_06a9: Unknown result type (might be due to invalid IL or missing references)
			//IL_06b9: Expected O, but got Unknown
			//IL_06b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_06be: Expected O, but got Unknown
			//IL_06ec: Unknown result type (might be due to invalid IL or missing references)
			//IL_06fc: Expected O, but got Unknown
			//IL_06f7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0701: Expected O, but got Unknown
			GameEnabled = ((BaseUnityPlugin)this).Config.Bind<bool>("Overall", "ON/OFF.", true, "Completely disable the mod.");
			RecoilEnabled = ((BaseUnityPlugin)this).Config.Bind<bool>("Overall", "Recoil ON/OFF.", false, "Overall recoil forces from slide movement.");
			HandgunEnabled = ((BaseUnityPlugin)this).Config.Bind<bool>("Overall", "Handgun ON/OFF.", true, "Forces applied to handguns.");
			RifleEnabled = ((BaseUnityPlugin)this).Config.Bind<bool>("Overall", "Rifle ON/OFF.", false, "Forces applied to rifles.");
			OpenBoltEnabled = ((BaseUnityPlugin)this).Config.Bind<bool>("Overall", "Open-bolt ON/OFF.", false, "Forces applied to Open-bolts");
			TubeFedEnabled = ((BaseUnityPlugin)this).Config.Bind<bool>("Overall", "Tube-fed ON/OFF.", false, "Forces applied to Tube-feds");
			BoltActionEnabled = ((BaseUnityPlugin)this).Config.Bind<bool>("Overall", "Bolt-action ON/OFF.", false, "Forces applied to Bolt actions");
			GripPhysicsEnabled = ((BaseUnityPlugin)this).Config.Bind<bool>("Overall", "Grip Physics ON/OFF.", true, "Overall recoil forces from slide movement.");
			config_handgun_force_multiplyer = ((BaseUnityPlugin)this).Config.Bind<float>("Handgun", "force muiltiplyer for handguns", 0.3f, new ConfigDescription("how much force is added as a muiltiplyer for bolt velocity", (AcceptableValueBase)new AcceptableValueFloatRangeStep(0f, 100f, 0.1f), new object[0]));
			config_handgun_force_multiplyer_end = ((BaseUnityPlugin)this).Config.Bind<float>("Handgun", "force muiltiplyer for handguns at the end of travel", 0.2f, new ConfigDescription("how much force is added when the bolt reachet the limit of movement as a muiltiplyer for bolt velocity", (AcceptableValueBase)new AcceptableValueFloatRangeStep(0f, 100f, 0.1f), new object[0]));
			config_GripForce_Force = ((BaseUnityPlugin)this).Config.Bind<float>("GripForce", "Force muiltiplyer for grip force", 1f, new ConfigDescription("how much force is added to gripped object", (AcceptableValueBase)new AcceptableValueFloatRangeStep(0f, 100f, 0.1f), new object[0]));
			config_GripForce_Dampening = ((BaseUnityPlugin)this).Config.Bind<float>("GripForce", "Dampening muiltiplyer for grip force", 1f, new ConfigDescription("how much Dampening is added to gripped object", (AcceptableValueBase)new AcceptableValueFloatRangeStep(0f, 100f, 0.1f), new object[0]));
			config_rifle_force_multiplyer = ((BaseUnityPlugin)this).Config.Bind<float>("Rifle", "force muiltiplyer for rifles", 1f, new ConfigDescription("how much force is added as a muiltiplyer for bolt velocity", (AcceptableValueBase)new AcceptableValueFloatRangeStep(0f, 100f, 0.1f), new object[0]));
			config_rifle_force_multiplyer_end = ((BaseUnityPlugin)this).Config.Bind<float>("Rifle", "force muiltiplyer for rifles at the end of travel", 1f, new ConfigDescription("how much force is added when the bolt reachet the limit of movement as a muiltiplyer for bolt velocity", (AcceptableValueBase)new AcceptableValueFloatRangeStep(0f, 100f, 0.1f), new object[0]));
			config_open_bolt_force_multiplyer = ((BaseUnityPlugin)this).Config.Bind<float>("Open-bolt", "force muiltiplyer for open bolt guns", 1f, new ConfigDescription("how much force is added as a muiltiplyer for bolt velocity", (AcceptableValueBase)new AcceptableValueFloatRangeStep(0f, 100f, 0.1f), new object[0]));
			config_open_bolt_force_multiplyer_end = ((BaseUnityPlugin)this).Config.Bind<float>("Open-bolt", "force muiltiplyer for open bolt guns at the end of travel", 1f, new ConfigDescription("how much force is added when the bolt reachet the limit of movement as a muiltiplyer for bolt velocity", (AcceptableValueBase)new AcceptableValueFloatRangeStep(0f, 100f, 0.1f), new object[0]));
			config_tube_fed_force_multiplyer = ((BaseUnityPlugin)this).Config.Bind<float>("Tube-fed", "force muiltiplyer for tube fed guns", 1f, new ConfigDescription("how much force is added as a muiltiplyer for bolt velocity", (AcceptableValueBase)new AcceptableValueFloatRangeStep(0f, 100f, 0.1f), new object[0]));
			config_Tube_fed_force_multiplyer_end = ((BaseUnityPlugin)this).Config.Bind<float>("Tube-fed", "force muiltiplyer for tube fed guns at the end of travel", 1f, new ConfigDescription("how much force is added when the bolt reachet the limit of movement as a muiltiplyer for bolt velocity", (AcceptableValueBase)new AcceptableValueFloatRangeStep(0f, 100f, 0.1f), new object[0]));
			config_tube_fed_pump_force_multiplyer = ((BaseUnityPlugin)this).Config.Bind<float>("Tube-fed", "force muiltiplyer for tube fed guns", 1f, new ConfigDescription("how much force is added as a muiltiplyer for bolt velocity", (AcceptableValueBase)new AcceptableValueFloatRangeStep(0f, 100f, 0.1f), new object[0]));
			config_Tube_fed_pump_force_multiplyer_end = ((BaseUnityPlugin)this).Config.Bind<float>("Tube-fed", "force muiltiplyer for tube fed guns at the end of travel when it has a pump", 1f, new ConfigDescription("how much force is added when the bolt reachet the limit of movement as a muiltiplyer for bolt velocity when it has a pump", (AcceptableValueBase)new AcceptableValueFloatRangeStep(0f, 100f, 0.1f), new object[0]));
			config_Small_Weight = ((BaseUnityPlugin)this).Config.Bind<float>("Object Weight", "Weight of small objects", 1f, new ConfigDescription("The Weight of objects with a qb size of small", (AcceptableValueBase)new AcceptableValueFloatRangeStep(0f, 100f, 0.5f), new object[0]));
			config_Medium_Weight = ((BaseUnityPlugin)this).Config.Bind<float>("Object Weight", "Weight of Medium objects", 1f, new ConfigDescription("The Weight of objects with a qb size of Medium", (AcceptableValueBase)new AcceptableValueFloatRangeStep(0f, 100f, 0.5f), new object[0]));
			config_Large_Weight = ((BaseUnityPlugin)this).Config.Bind<float>("Object Weight", "Weight of Large objects", 1f, new ConfigDescription("The Weight of objects with a qb size of Large", (AcceptableValueBase)new AcceptableValueFloatRangeStep(0f, 100f, 0.5f), new object[0]));
			config_Massive_Weight = ((BaseUnityPlugin)this).Config.Bind<float>("Object Weight", "Weight of Massive objects", 1f, new ConfigDescription("The Weight of objects with a qb size of Massive", (AcceptableValueBase)new AcceptableValueFloatRangeStep(0f, 100f, 0.5f), new object[0]));
			config_CantCarryBig_Weight = ((BaseUnityPlugin)this).Config.Bind<float>("Object Weight", "Weight of CantCarryBig objects", 1f, new ConfigDescription("The Weight of objects with a qb size of CantCarryBig", (AcceptableValueBase)new AcceptableValueFloatRangeStep(0f, 100f, 0.5f), new object[0]));
			config_Bolt_HandPosition_Dampening = ((BaseUnityPlugin)this).Config.Bind<float>("Bolt-action", "Dampening muiltiplyer for slides", 0.8f, new ConfigDescription("how much force is added as a muiltiplyer for hand velocity", (AcceptableValueBase)new AcceptableValueFloatRangeStep(0f, 100f, 0.1f), new object[0]));
			config_bolt_action_force_multiplyer = ((BaseUnityPlugin)this).Config.Bind<float>("Bolt-action", "force muiltiplyer for bolt actions", 1f, new ConfigDescription("how much force is added as a muiltiplyer for bolt velocity", (AcceptableValueBase)new AcceptableValueFloatRangeStep(0f, 100f, 0.1f), new object[0]));
			config_bolt_action_force_multiplyer_rot = ((BaseUnityPlugin)this).Config.Bind<float>("Bolt-action", "force muiltiplyer for bolt actions rotation", 1f, new ConfigDescription("how much force is added as a muiltiplyer for bolt velocity", (AcceptableValueBase)new AcceptableValueFloatRangeStep(0f, 100f, 0.1f), new object[0]));
			config_Bolt_action_force_multiplyer_end_rot = ((BaseUnityPlugin)this).Config.Bind<float>("Bolt-action", "force muiltiplyer for bolt actions at the end of travel", 1f, new ConfigDescription("how much force is added when the bolt reachet the limit of movement as a muiltiplyer for bolt velocity", (AcceptableValueBase)new AcceptableValueFloatRangeStep(0f, 100f, 0.1f), new object[0]));
			config_Bolt_action_force_multiplyer_end = ((BaseUnityPlugin)this).Config.Bind<float>("Bolt-action", "force muiltiplyer for bolt actions at the end of travel for rotation", 1f, new ConfigDescription("how much force is added when the bolt reachet the limit of movement as a muiltiplyer for bolt velocity", (AcceptableValueBase)new AcceptableValueFloatRangeStep(0f, 100f, 0.1f), new object[0]));
			config_Bolt_HandPosition_Force_Muiltiplyer = ((BaseUnityPlugin)this).Config.Bind<float>("Bolt-action", "force muiltiplyer hand position on bolts", 1f, new ConfigDescription("how much force is added based on the hand position relative to bolt", (AcceptableValueBase)new AcceptableValueFloatRangeStep(0f, 100f, 0.1f), new object[0]));
		}
	}
}