using System; using Cpp2IlInjected; using UnityEngine; namespace RootMotion.FinalIK { // Token: 0x02000483 RID: 1155 [Token(Token = "0x2000483")] public class Recoil : OffsetModifier { // Token: 0x170002A0 RID: 672 // (get) Token: 0x06002902 RID: 10498 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x170002A0")] public bool isFinished { [Token(Token = "0x6002902")] [Address(RVA = "0xBE7150", Offset = "0xBE5F50", VA = "0x180BE7150")] get { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } } // Token: 0x06002903 RID: 10499 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6002903")] [Address(RVA = "0xBE70B0", Offset = "0xBE5EB0", VA = "0x180BE70B0")] public void SetHandRotations(Quaternion leftHandRotation, Quaternion rightHandRotation) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06002904 RID: 10500 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6002904")] [Address(RVA = "0xBE5E40", Offset = "0xBE4C40", VA = "0x180BE5E40")] public void Fire(float magnitude) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06002905 RID: 10501 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6002905")] [Address(RVA = "0xBE61F0", Offset = "0xBE4FF0", VA = "0x180BE61F0", Slot = "4")] protected override void OnModifyOffset() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06002906 RID: 10502 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6002906")] [Address(RVA = "0xBE5C90", Offset = "0xBE4A90", VA = "0x180BE5C90")] private void AfterFBBIK() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06002907 RID: 10503 RVA: 0x0005A17C File Offset: 0x0005837C [Token(Token = "0x6002907")] [Address(RVA = "0xBE5C40", Offset = "0xBE4A40", VA = "0x180BE5C40")] private void AfterAimIK() { if (this.aimIKSolvedLast) { IKSolverAim solver = this.aimIK.solver; float z = this.aimIKAxis.z; solver.axis.z = z; } } // Token: 0x170002A1 RID: 673 // (get) Token: 0x06002908 RID: 10504 RVA: 0x0005A1BC File Offset: 0x000583BC [Token(Token = "0x170002A1")] private IKEffector primaryHandEffector { [Token(Token = "0x6002908")] [Address(RVA = "0xBE7170", Offset = "0xBE5F70", VA = "0x180BE7170")] get { FullBodyBipedIK ik = this.ik; if (this.handedness != Recoil.Handedness.Right) { return ik.solver.leftHandEffector; } return ik.solver.rightHandEffector; } } // Token: 0x170002A2 RID: 674 // (get) Token: 0x06002909 RID: 10505 RVA: 0x0005A1F8 File Offset: 0x000583F8 [Token(Token = "0x170002A2")] private IKEffector secondaryHandEffector { [Token(Token = "0x6002909")] [Address(RVA = "0xBE7210", Offset = "0xBE6010", VA = "0x180BE7210")] get { FullBodyBipedIK ik = this.ik; if (this.handedness != Recoil.Handedness.Right) { return ik.solver.rightHandEffector; } return ik.solver.leftHandEffector; } } // Token: 0x170002A3 RID: 675 // (get) Token: 0x0600290A RID: 10506 RVA: 0x0005A234 File Offset: 0x00058434 [Token(Token = "0x170002A3")] private Transform primaryHand { [Token(Token = "0x600290A")] [Address(RVA = "0xBE71C0", Offset = "0xBE5FC0", VA = "0x180BE71C0")] get { FullBodyBipedIK ik = this.ik; if (this.handedness != Recoil.Handedness.Right) { IKEffector leftHandEffector = ik.solver.leftHandEffector; } return ik.solver.rightHandEffector.bone; } } // Token: 0x170002A4 RID: 676 // (get) Token: 0x0600290B RID: 10507 RVA: 0x0005A274 File Offset: 0x00058474 [Token(Token = "0x170002A4")] private Transform secondaryHand { [Token(Token = "0x600290B")] [Address(RVA = "0xBE7260", Offset = "0xBE6060", VA = "0x180BE7260")] get { FullBodyBipedIK ik = this.ik; if (this.handedness != Recoil.Handedness.Right) { IKEffector rightHandEffector = ik.solver.rightHandEffector; } return ik.solver.leftHandEffector.bone; } } // Token: 0x0600290C RID: 10508 RVA: 0x0005A2B4 File Offset: 0x000584B4 [Token(Token = "0x600290C")] [Address(RVA = "0xBE5FE0", Offset = "0xBE4DE0", VA = "0x180BE5FE0", Slot = "6")] protected override void OnDestroy() { base.OnDestroy(); FullBodyBipedIK ik = this.ik; int num = 0; if (ik != num && this.initiated) { IKSolverFullBodyBiped solver = this.ik.solver; IKSolver.UpdateDelegate onPostUpdate = solver.OnPostUpdate; IKSolver.UpdateDelegate updateDelegate = new IKSolver.UpdateDelegate(this.AfterFBBIK); Delegate @delegate = Delegate.Remove(onPostUpdate, updateDelegate); int num2 = 0; if (@delegate == 0 || @delegate != 0) { solver.OnPostUpdate = num2; AimIK aimIK = this.aimIK; int num3 = 0; if (!(aimIK != num3)) { return; } IKSolverAim solver2 = this.aimIK.solver; IKSolver.UpdateDelegate onPostUpdate2 = solver2.OnPostUpdate; IKSolver.UpdateDelegate updateDelegate2 = new IKSolver.UpdateDelegate(this.AfterAimIK); Delegate delegate2 = Delegate.Remove(onPostUpdate2, updateDelegate2); if (delegate2 == 0 || delegate2 != 0) { solver2.OnPostUpdate = delegate2; return; } } throw new InvalidCastException(); } } // Token: 0x0600290D RID: 10509 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x600290D")] [Address(RVA = "0xBE70E0", Offset = "0xBE5EE0", VA = "0x180BE70E0")] public Recoil() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0400323F RID: 12863 [FieldOffset(Offset = "0x30")] [Token(Token = "0x400323F")] [Tooltip("Reference to the AimIK component. Optional, only used to getting the aiming direction.")] public AimIK aimIK; // Token: 0x04003240 RID: 12864 [FieldOffset(Offset = "0x38")] [Token(Token = "0x4003240")] [Tooltip("Set this true if you are using IKExecutionOrder.cs or a custom script to force AimIK solve after FBBIK.")] public bool aimIKSolvedLast; // Token: 0x04003241 RID: 12865 [FieldOffset(Offset = "0x3C")] [Token(Token = "0x4003241")] [Tooltip("Which hand is holding the weapon?")] public Recoil.Handedness handedness; // Token: 0x04003242 RID: 12866 [FieldOffset(Offset = "0x40")] [Token(Token = "0x4003242")] [Tooltip("Check for 2-handed weapons.")] public bool twoHanded; // Token: 0x04003243 RID: 12867 [FieldOffset(Offset = "0x48")] [Token(Token = "0x4003243")] [Tooltip("Weight curve for the recoil offsets. Recoil procedure is as long as this curve.")] public AnimationCurve recoilWeight; // Token: 0x04003244 RID: 12868 [FieldOffset(Offset = "0x50")] [Token(Token = "0x4003244")] [Tooltip("How much is the magnitude randomized each time Recoil is called?")] public float magnitudeRandom; // Token: 0x04003245 RID: 12869 [FieldOffset(Offset = "0x54")] [Token(Token = "0x4003245")] [Tooltip("How much is the rotation randomized each time Recoil is called?")] public Vector3 rotationRandom; // Token: 0x04003246 RID: 12870 [FieldOffset(Offset = "0x60")] [Token(Token = "0x4003246")] [Tooltip("Rotating the primary hand bone for the recoil (in local space).")] public Vector3 handRotationOffset; // Token: 0x04003247 RID: 12871 [FieldOffset(Offset = "0x6C")] [Token(Token = "0x4003247")] [Tooltip("Time of blending in another recoil when doing automatic fire.")] public float blendTime; // Token: 0x04003248 RID: 12872 [FieldOffset(Offset = "0x70")] [Token(Token = "0x4003248")] [Space] [Space(10f)] [Tooltip("FBBIK effector position offsets for the recoil (in aiming direction space).")] public Recoil.RecoilOffset[] offsets; // Token: 0x04003249 RID: 12873 [FieldOffset(Offset = "0x78")] [Token(Token = "0x4003249")] [HideInInspector] public Quaternion rotationOffset; // Token: 0x0400324A RID: 12874 [FieldOffset(Offset = "0x88")] [Token(Token = "0x400324A")] private float magnitudeMlp; // Token: 0x0400324B RID: 12875 [FieldOffset(Offset = "0x8C")] [Token(Token = "0x400324B")] private float endTime; // Token: 0x0400324C RID: 12876 [FieldOffset(Offset = "0x90")] [Token(Token = "0x400324C")] private Quaternion handRotation; // Token: 0x0400324D RID: 12877 [FieldOffset(Offset = "0xA0")] [Token(Token = "0x400324D")] private Quaternion secondaryHandRelativeRotation; // Token: 0x0400324E RID: 12878 [FieldOffset(Offset = "0xB0")] [Token(Token = "0x400324E")] private Quaternion randomRotation; // Token: 0x0400324F RID: 12879 [FieldOffset(Offset = "0xC0")] [Token(Token = "0x400324F")] private float length; // Token: 0x04003250 RID: 12880 [FieldOffset(Offset = "0xC4")] [Token(Token = "0x4003250")] private bool initiated; // Token: 0x04003251 RID: 12881 [FieldOffset(Offset = "0xC8")] [Token(Token = "0x4003251")] private float blendWeight; // Token: 0x04003252 RID: 12882 [FieldOffset(Offset = "0xCC")] [Token(Token = "0x4003252")] private float w; // Token: 0x04003253 RID: 12883 [FieldOffset(Offset = "0xD0")] [Token(Token = "0x4003253")] private Quaternion primaryHandRotation; // Token: 0x04003254 RID: 12884 [FieldOffset(Offset = "0xE0")] [Token(Token = "0x4003254")] private bool handRotationsSet; // Token: 0x04003255 RID: 12885 [FieldOffset(Offset = "0xE4")] [Token(Token = "0x4003255")] private Vector3 aimIKAxis; // Token: 0x02000484 RID: 1156 [Token(Token = "0x2000484")] [Serializable] public class RecoilOffset { // Token: 0x0600290E RID: 10510 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x600290E")] [Address(RVA = "0x6A0250", Offset = "0x69F050", VA = "0x1806A0250")] public void Start() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600290F RID: 10511 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x600290F")] [Address(RVA = "0x69FFA0", Offset = "0x69EDA0", VA = "0x18069FFA0")] public void Apply(IKSolverFullBodyBiped solver, Quaternion rotation, float masterWeight, float length, float timeLeft) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06002910 RID: 10512 RVA: 0x0005A390 File Offset: 0x00058590 [Token(Token = "0x6002910")] [Address(RVA = "0x6A0300", Offset = "0x69F100", VA = "0x1806A0300")] public RecoilOffset() { } // Token: 0x04003256 RID: 12886 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4003256")] [Tooltip("Offset vector for the associated effector when doing recoil.")] public Vector3 offset; // Token: 0x04003257 RID: 12887 [FieldOffset(Offset = "0x1C")] [Token(Token = "0x4003257")] [Range(0f, 1f)] [Tooltip("When firing before the last recoil has faded, how much of the current recoil offset will be maintained?")] public float additivity = 1f; // Token: 0x04003258 RID: 12888 [FieldOffset(Offset = "0x20")] [Token(Token = "0x4003258")] [Tooltip("Max additive recoil for automatic fire.")] public float maxAdditiveOffsetMag = 0.2f; // Token: 0x04003259 RID: 12889 [FieldOffset(Offset = "0x28")] [Token(Token = "0x4003259")] [Tooltip("Linking this recoil offset to FBBIK effectors.")] public Recoil.RecoilOffset.EffectorLink[] effectorLinks; // Token: 0x0400325A RID: 12890 [FieldOffset(Offset = "0x30")] [Token(Token = "0x400325A")] private Vector3 additiveOffset; // Token: 0x0400325B RID: 12891 [FieldOffset(Offset = "0x3C")] [Token(Token = "0x400325B")] private Vector3 lastOffset; // Token: 0x02000485 RID: 1157 [Token(Token = "0x2000485")] [Serializable] public class EffectorLink { // Token: 0x06002911 RID: 10513 RVA: 0x0003883F File Offset: 0x00036A3F [Token(Token = "0x6002911")] [Address(RVA = "0x3D8B20", Offset = "0x3D7920", VA = "0x1803D8B20")] public EffectorLink() { } // Token: 0x0400325C RID: 12892 [FieldOffset(Offset = "0x10")] [Token(Token = "0x400325C")] [Tooltip("Type of the FBBIK effector to use")] public FullBodyBipedEffector effector; // Token: 0x0400325D RID: 12893 [FieldOffset(Offset = "0x14")] [Token(Token = "0x400325D")] [Tooltip("Weight of using this effector")] public float weight; } } // Token: 0x02000486 RID: 1158 [Token(Token = "0x2000486")] [Serializable] public enum Handedness { // Token: 0x0400325F RID: 12895 [Token(Token = "0x400325F")] Right, // Token: 0x04003260 RID: 12896 [Token(Token = "0x4003260")] Left } } }