using System; using Cpp2IlInjected; using UnityEngine; namespace RootMotion.FinalIK { // Token: 0x0200048C RID: 1164 [Token(Token = "0x200048C")] public class Recoil : OffsetModifier { // Token: 0x1700029A RID: 666 // (get) Token: 0x06002934 RID: 10548 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x1700029A")] public bool isFinished { [Token(Token = "0x6002934")] [Address(RVA = "0xCB6DF0", Offset = "0xCB55F0", VA = "0x180CB6DF0")] get { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } } // Token: 0x06002935 RID: 10549 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6002935")] [Address(RVA = "0xCB6D50", Offset = "0xCB5550", VA = "0x180CB6D50")] public void SetHandRotations(Quaternion leftHandRotation, Quaternion rightHandRotation) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06002936 RID: 10550 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6002936")] [Address(RVA = "0xCB5AE0", Offset = "0xCB42E0", VA = "0x180CB5AE0")] public void Fire(float magnitude) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06002937 RID: 10551 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6002937")] [Address(RVA = "0xCB5E90", Offset = "0xCB4690", VA = "0x180CB5E90", Slot = "4")] protected override void OnModifyOffset() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06002938 RID: 10552 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6002938")] [Address(RVA = "0xCB5930", Offset = "0xCB4130", VA = "0x180CB5930")] private void AfterFBBIK() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06002939 RID: 10553 RVA: 0x0005A5E0 File Offset: 0x000587E0 [Token(Token = "0x6002939")] [Address(RVA = "0xCB58E0", Offset = "0xCB40E0", VA = "0x180CB58E0")] private void AfterAimIK() { if (this.aimIKSolvedLast) { IKSolverAim solver = this.aimIK.solver; float z = this.aimIKAxis.z; solver.axis.z = z; } } // Token: 0x1700029B RID: 667 // (get) Token: 0x0600293A RID: 10554 RVA: 0x0005A620 File Offset: 0x00058820 [Token(Token = "0x1700029B")] private IKEffector primaryHandEffector { [Token(Token = "0x600293A")] [Address(RVA = "0xCB6E10", Offset = "0xCB5610", VA = "0x180CB6E10")] get { FullBodyBipedIK ik = this.ik; if (this.handedness != Recoil.Handedness.Right) { return ik.solver.leftHandEffector; } return ik.solver.rightHandEffector; } } // Token: 0x1700029C RID: 668 // (get) Token: 0x0600293B RID: 10555 RVA: 0x0005A65C File Offset: 0x0005885C [Token(Token = "0x1700029C")] private IKEffector secondaryHandEffector { [Token(Token = "0x600293B")] [Address(RVA = "0xCB6EB0", Offset = "0xCB56B0", VA = "0x180CB6EB0")] get { FullBodyBipedIK ik = this.ik; if (this.handedness != Recoil.Handedness.Right) { return ik.solver.rightHandEffector; } return ik.solver.leftHandEffector; } } // Token: 0x1700029D RID: 669 // (get) Token: 0x0600293C RID: 10556 RVA: 0x0005A698 File Offset: 0x00058898 [Token(Token = "0x1700029D")] private Transform primaryHand { [Token(Token = "0x600293C")] [Address(RVA = "0xCB6E60", Offset = "0xCB5660", VA = "0x180CB6E60")] get { FullBodyBipedIK ik = this.ik; if (this.handedness != Recoil.Handedness.Right) { IKEffector leftHandEffector = ik.solver.leftHandEffector; } return ik.solver.rightHandEffector.bone; } } // Token: 0x1700029E RID: 670 // (get) Token: 0x0600293D RID: 10557 RVA: 0x0005A6D8 File Offset: 0x000588D8 [Token(Token = "0x1700029E")] private Transform secondaryHand { [Token(Token = "0x600293D")] [Address(RVA = "0xCB6F00", Offset = "0xCB5700", VA = "0x180CB6F00")] get { FullBodyBipedIK ik = this.ik; if (this.handedness != Recoil.Handedness.Right) { IKEffector rightHandEffector = ik.solver.rightHandEffector; } return ik.solver.leftHandEffector.bone; } } // Token: 0x0600293E RID: 10558 RVA: 0x0005A718 File Offset: 0x00058918 [Token(Token = "0x600293E")] [Address(RVA = "0xCB5C80", Offset = "0xCB4480", VA = "0x180CB5C80", 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: 0x0600293F RID: 10559 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x600293F")] [Address(RVA = "0xCB6D80", Offset = "0xCB5580", VA = "0x180CB6D80")] public Recoil() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x04003281 RID: 12929 [FieldOffset(Offset = "0x30")] [Token(Token = "0x4003281")] [Tooltip("Reference to the AimIK component. Optional, only used to getting the aiming direction.")] public AimIK aimIK; // Token: 0x04003282 RID: 12930 [FieldOffset(Offset = "0x38")] [Token(Token = "0x4003282")] [Tooltip("Set this true if you are using IKExecutionOrder.cs or a custom script to force AimIK solve after FBBIK.")] public bool aimIKSolvedLast; // Token: 0x04003283 RID: 12931 [FieldOffset(Offset = "0x3C")] [Token(Token = "0x4003283")] [Tooltip("Which hand is holding the weapon?")] public Recoil.Handedness handedness; // Token: 0x04003284 RID: 12932 [FieldOffset(Offset = "0x40")] [Token(Token = "0x4003284")] [Tooltip("Check for 2-handed weapons.")] public bool twoHanded; // Token: 0x04003285 RID: 12933 [FieldOffset(Offset = "0x48")] [Token(Token = "0x4003285")] [Tooltip("Weight curve for the recoil offsets. Recoil procedure is as long as this curve.")] public AnimationCurve recoilWeight; // Token: 0x04003286 RID: 12934 [FieldOffset(Offset = "0x50")] [Token(Token = "0x4003286")] [Tooltip("How much is the magnitude randomized each time Recoil is called?")] public float magnitudeRandom; // Token: 0x04003287 RID: 12935 [FieldOffset(Offset = "0x54")] [Token(Token = "0x4003287")] [Tooltip("How much is the rotation randomized each time Recoil is called?")] public Vector3 rotationRandom; // Token: 0x04003288 RID: 12936 [FieldOffset(Offset = "0x60")] [Token(Token = "0x4003288")] [Tooltip("Rotating the primary hand bone for the recoil (in local space).")] public Vector3 handRotationOffset; // Token: 0x04003289 RID: 12937 [FieldOffset(Offset = "0x6C")] [Token(Token = "0x4003289")] [Tooltip("Time of blending in another recoil when doing automatic fire.")] public float blendTime; // Token: 0x0400328A RID: 12938 [FieldOffset(Offset = "0x70")] [Token(Token = "0x400328A")] [Space] [Space(10f)] [Tooltip("FBBIK effector position offsets for the recoil (in aiming direction space).")] public Recoil.RecoilOffset[] offsets; // Token: 0x0400328B RID: 12939 [FieldOffset(Offset = "0x78")] [Token(Token = "0x400328B")] [HideInInspector] public Quaternion rotationOffset; // Token: 0x0400328C RID: 12940 [FieldOffset(Offset = "0x88")] [Token(Token = "0x400328C")] private float magnitudeMlp; // Token: 0x0400328D RID: 12941 [FieldOffset(Offset = "0x8C")] [Token(Token = "0x400328D")] private float endTime; // Token: 0x0400328E RID: 12942 [FieldOffset(Offset = "0x90")] [Token(Token = "0x400328E")] private Quaternion handRotation; // Token: 0x0400328F RID: 12943 [FieldOffset(Offset = "0xA0")] [Token(Token = "0x400328F")] private Quaternion secondaryHandRelativeRotation; // Token: 0x04003290 RID: 12944 [FieldOffset(Offset = "0xB0")] [Token(Token = "0x4003290")] private Quaternion randomRotation; // Token: 0x04003291 RID: 12945 [FieldOffset(Offset = "0xC0")] [Token(Token = "0x4003291")] private float length; // Token: 0x04003292 RID: 12946 [FieldOffset(Offset = "0xC4")] [Token(Token = "0x4003292")] private bool initiated; // Token: 0x04003293 RID: 12947 [FieldOffset(Offset = "0xC8")] [Token(Token = "0x4003293")] private float blendWeight; // Token: 0x04003294 RID: 12948 [FieldOffset(Offset = "0xCC")] [Token(Token = "0x4003294")] private float w; // Token: 0x04003295 RID: 12949 [FieldOffset(Offset = "0xD0")] [Token(Token = "0x4003295")] private Quaternion primaryHandRotation; // Token: 0x04003296 RID: 12950 [FieldOffset(Offset = "0xE0")] [Token(Token = "0x4003296")] private bool handRotationsSet; // Token: 0x04003297 RID: 12951 [FieldOffset(Offset = "0xE4")] [Token(Token = "0x4003297")] private Vector3 aimIKAxis; // Token: 0x0200048D RID: 1165 [Token(Token = "0x200048D")] [Serializable] public class RecoilOffset { // Token: 0x06002940 RID: 10560 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6002940")] [Address(RVA = "0x6988A0", Offset = "0x6970A0", VA = "0x1806988A0")] public void Start() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06002941 RID: 10561 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6002941")] [Address(RVA = "0x6985F0", Offset = "0x696DF0", VA = "0x1806985F0")] 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: 0x06002942 RID: 10562 RVA: 0x0005A7F4 File Offset: 0x000589F4 [Token(Token = "0x6002942")] [Address(RVA = "0x698950", Offset = "0x697150", VA = "0x180698950")] public RecoilOffset() { } // Token: 0x04003298 RID: 12952 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4003298")] [Tooltip("Offset vector for the associated effector when doing recoil.")] public Vector3 offset; // Token: 0x04003299 RID: 12953 [FieldOffset(Offset = "0x1C")] [Token(Token = "0x4003299")] [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: 0x0400329A RID: 12954 [FieldOffset(Offset = "0x20")] [Token(Token = "0x400329A")] [Tooltip("Max additive recoil for automatic fire.")] public float maxAdditiveOffsetMag = 0.2f; // Token: 0x0400329B RID: 12955 [FieldOffset(Offset = "0x28")] [Token(Token = "0x400329B")] [Tooltip("Linking this recoil offset to FBBIK effectors.")] public Recoil.RecoilOffset.EffectorLink[] effectorLinks; // Token: 0x0400329C RID: 12956 [FieldOffset(Offset = "0x30")] [Token(Token = "0x400329C")] private Vector3 additiveOffset; // Token: 0x0400329D RID: 12957 [FieldOffset(Offset = "0x3C")] [Token(Token = "0x400329D")] private Vector3 lastOffset; // Token: 0x0200048E RID: 1166 [Token(Token = "0x200048E")] [Serializable] public class EffectorLink { // Token: 0x06002943 RID: 10563 RVA: 0x00038FC3 File Offset: 0x000371C3 [Token(Token = "0x6002943")] [Address(RVA = "0x43A830", Offset = "0x439030", VA = "0x18043A830")] public EffectorLink() { } // Token: 0x0400329E RID: 12958 [FieldOffset(Offset = "0x10")] [Token(Token = "0x400329E")] [Tooltip("Type of the FBBIK effector to use")] public FullBodyBipedEffector effector; // Token: 0x0400329F RID: 12959 [FieldOffset(Offset = "0x14")] [Token(Token = "0x400329F")] [Tooltip("Weight of using this effector")] public float weight; } } // Token: 0x0200048F RID: 1167 [Token(Token = "0x200048F")] [Serializable] public enum Handedness { // Token: 0x040032A1 RID: 12961 [Token(Token = "0x40032A1")] Right, // Token: 0x040032A2 RID: 12962 [Token(Token = "0x40032A2")] Left } } }