using System; using System.Collections; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using Cpp2IlInjected; using RecRoom.Core; using RecRoom.Core.Combat; using UnityEngine; namespace RecRoom.Tools.Weapons { // Token: 0x02002685 RID: 9861 [Token(Token = "0x2002685")] [StructLayout(3)] public class WeaponReloader : WeaponAccessory { // Token: 0x17002E6E RID: 11886 // (get) Token: 0x060111C9 RID: 70089 RVA: 0x004097D8 File Offset: 0x004079D8 [Token(Token = "0x17002E6E")] private int DGBHNIGIJLO { [Token(Token = "0x60111C9")] [Address(RVA = "0x194E7A0", Offset = "0x194D1A0", VA = "0x18194E7A0")] get { int num = this.pullTickCount; return num + 1; } } // Token: 0x17002E6F RID: 11887 // (get) Token: 0x060111CA RID: 70090 RVA: 0x004097F4 File Offset: 0x004079F4 // (set) Token: 0x060111CB RID: 70091 RVA: 0x00409808 File Offset: 0x00407A08 [Token(Token = "0x17002E6F")] public bool FAMGOEKHBGF { [Token(Token = "0x60111CA")] [Address(RVA = "0x97B0F0", Offset = "0x979AF0", VA = "0x18097B0F0")] get; [Token(Token = "0x60111CB")] [Address(RVA = "0x97B120", Offset = "0x979B20", VA = "0x18097B120")] set; } // Token: 0x060111CC RID: 70092 RVA: 0x0040981C File Offset: 0x00407A1C [Token(Token = "0x60111CC")] [Address(RVA = "0x194DFC0", Offset = "0x194C9C0", VA = "0x18194DFC0", Slot = "5")] protected override void Awake() { DelayedRangedWeaponTrigger.IOGLIBAPLLG abhibnpkain; Delegate @delegate; do { base.Awake(); Tool tool = this._tool; int num = 0; if (tool != num) { this._tool.IgnorePickupDirection = true; Tool tool2 = this._tool; Tool.OGLAJAFKBMN oglajafkbmn = new Tool.OGLAJAFKBMN(this.LPLIIBBAAOI); tool2.AddCustomPickupCondition(oglajafkbmn); Tool tool3 = this._tool; ActionEvent postPickupEvent = tool3.PostPickupEvent; Action action = new Action(this.HAAIALDMMEL); ActionEvent actionEvent = postPickupEvent + action; tool3.PostPickupEvent = actionEvent; Tool tool4 = this._tool; ActionEvent postReleaseEvent = tool4.PostReleaseEvent; Action action2 = new Action(this.OIOCPLEKMEK); ActionEvent actionEvent2 = postReleaseEvent + action2; tool4.PostReleaseEvent = actionEvent2; Tool tool5 = this._tool; ActionEvent postAttachEvent = tool5.PostAttachEvent; Action action3 = new Action(this.BLKAKANNEJP); ActionEvent actionEvent3 = postAttachEvent + action3; tool5.PostAttachEvent = actionEvent3; Tool tool6 = this._tool; ActionEvent postResetEvent = tool6.PostResetEvent; Action action4 = new Action(this.LBODGLNOABB); ActionEvent actionEvent4; tool6.PostResetEvent = actionEvent4; this._tool.rigidbodyEx.AddKinematic(this); this._tool.ReleaseWithVelocity = false; } Weapon parentWeapon = this.parentWeapon; int num2 = 0; if (parentWeapon == num2) { goto IL_28C; } Tool tool7 = this.parentWeapon._tool; Action action5 = new Action(this.OICGKLMBONC); tool7.NBBKCDDPBPD += action5; Weapon parentWeapon2 = this.parentWeapon; Action action6 = new Action(this.DONOOFPPPOB); parentWeapon2.DONOOFPPPOB += action6; Weapon parentWeapon3 = this.parentWeapon; Action action7 = new Action(this.MIKJDLDPIEP); parentWeapon3.OFOLKCFPBEN += action7; Transform transform = this.parentWeapon.transform; Transform transform2 = this.emptyClipTransform; Vector3 vector; float z = vector.z; Weapon parentWeapon4 = this.parentWeapon; Vector3 vector2; float z2 = vector2.z; this.JNJIAPLPIGB.z = z2; Transform transform3 = parentWeapon4.transform; Transform transform4 = this.emptyClipTransform; DelayedRangedWeaponTrigger delayedRangedWeaponTrigger = this.delayedWeaponTrigger; int num3 = 0; if (!(delayedRangedWeaponTrigger != num3)) { goto IL_2A1; } DelayedRangedWeaponTrigger delayedRangedWeaponTrigger2 = this.delayedWeaponTrigger; DelayedRangedWeaponTrigger.IOGLIBAPLLG ioglibapllg; ioglibapllg.method_ptr = ldftn(GDFPOLCEBCJ); ioglibapllg.method = ldftn(GDFPOLCEBCJ); ioglibapllg.m_target = this; abhibnpkain = delayedRangedWeaponTrigger2.ABHIBNPKAIN; @delegate = Delegate.Combine(abhibnpkain, ioglibapllg); } while (@delegate != 0 && @delegate == 0); while (@delegate != abhibnpkain) { } DelayedRangedWeaponTrigger delayedRangedWeaponTrigger3 = this.delayedWeaponTrigger; DelayedRangedWeaponTrigger.IOGLIBAPLLG ioglibapllg2; ioglibapllg2.method_ptr = ldftn(PBBPDKFNPKG); ioglibapllg2.method = ldftn(PBBPDKFNPKG); ioglibapllg2.m_target = this; delayedRangedWeaponTrigger3.JFPBBAHBCPN += ioglibapllg2; IL_28C: Debug.LogError(base.name + " is missing weapon reference."); IL_2A1: Transform transform5 = this.fullClipTransform; Transform transform6 = this.emptyClipTransform; Vector3 vector3; float z3 = vector3.z; Vector3 vector4; float z4 = vector4.z; this.HABNDFDLPCM.z = z4; float uniformScale = this._tool.rigidbodyEx.MKDHFENOFDO; bool flag = this.animateParentWeaponReloader; this.k__BackingField = flag; this.GPAHAFBLMIG = uniformScale; } // Token: 0x060111CD RID: 70093 RVA: 0x00409B2C File Offset: 0x00407D2C [Token(Token = "0x60111CD")] [Address(RVA = "0x194F970", Offset = "0x194E370", VA = "0x18194F970", Slot = "7")] protected override void OnDestroy() { DelayedRangedWeaponTrigger.IOGLIBAPLLG abhibnpkain; Delegate @delegate; do { base.OnDestroy(); Tool tool = this._tool; int num = 0; if (tool != num) { Tool tool2 = this._tool; ActionEvent postPickupEvent = tool2.PostPickupEvent; Action action = new Action(this.HAAIALDMMEL); ActionEvent actionEvent = postPickupEvent - action; tool2.PostPickupEvent = actionEvent; Tool tool3 = this._tool; ActionEvent postReleaseEvent = tool3.PostReleaseEvent; Action action2 = new Action(this.OIOCPLEKMEK); ActionEvent actionEvent2 = postReleaseEvent - action2; tool3.PostReleaseEvent = actionEvent2; Tool tool4 = this._tool; ActionEvent postAttachEvent = tool4.PostAttachEvent; Action action3 = new Action(this.BLKAKANNEJP); ActionEvent actionEvent3 = postAttachEvent - action3; tool4.PostAttachEvent = actionEvent3; Tool tool5 = this._tool; ActionEvent postResetEvent = tool5.PostResetEvent; Action action4 = new Action(this.LBODGLNOABB); ActionEvent actionEvent4; tool5.PostResetEvent = actionEvent4; } Weapon parentWeapon = this.parentWeapon; int num2 = 0; if (parentWeapon != num2) { Tool tool6 = this.parentWeapon._tool; Action action5 = new Action(this.OICGKLMBONC); tool6.NBBKCDDPBPD -= action5; Weapon parentWeapon2 = this.parentWeapon; Action action6 = new Action(this.MIKJDLDPIEP); parentWeapon2.OFOLKCFPBEN -= action6; Weapon parentWeapon3 = this.parentWeapon; Action action7 = new Action(this.DONOOFPPPOB); parentWeapon3.DONOOFPPPOB -= action7; } DelayedRangedWeaponTrigger delayedRangedWeaponTrigger = this.delayedWeaponTrigger; int num3 = 0; if (!(delayedRangedWeaponTrigger != num3)) { return; } DelayedRangedWeaponTrigger delayedRangedWeaponTrigger2 = this.delayedWeaponTrigger; DelayedRangedWeaponTrigger.IOGLIBAPLLG ioglibapllg; ioglibapllg.method_ptr = ldftn(GDFPOLCEBCJ); ioglibapllg.method = ldftn(GDFPOLCEBCJ); ioglibapllg.m_target = this; abhibnpkain = delayedRangedWeaponTrigger2.ABHIBNPKAIN; @delegate = Delegate.Remove(abhibnpkain, ioglibapllg); } while (@delegate != 0 && @delegate == 0); while (@delegate != abhibnpkain) { } DelayedRangedWeaponTrigger delayedRangedWeaponTrigger3 = this.delayedWeaponTrigger; DelayedRangedWeaponTrigger.IOGLIBAPLLG ioglibapllg2; ioglibapllg2.method_ptr = ldftn(PBBPDKFNPKG); ioglibapllg2.method = ldftn(PBBPDKFNPKG); ioglibapllg2.m_target = this; delayedRangedWeaponTrigger3.JFPBBAHBCPN -= ioglibapllg2; } // Token: 0x060111CE RID: 70094 RVA: 0x00409D30 File Offset: 0x00407F30 [Token(Token = "0x60111CE")] [Address(RVA = "0x194FF60", Offset = "0x194E960", VA = "0x18194FF60", Slot = "6")] protected override void Start() { RigidbodyPickup rigidbodyPickup = this._tool.rigidbodyPickup; if (rigidbodyPickup == 0) { } Weapon parentWeapon = this.parentWeapon; this.GNFGOLPHEAI = rigidbodyPickup; RigidbodyPickup rigidbodyPickup2 = parentWeapon._tool.rigidbodyPickup; PlungerRigidbodyPickup gnfgolpheai = this.GNFGOLPHEAI; float z = this.JNJIAPLPIGB.z; gnfgolpheai.ConstraintOffsetPosition.z = z; PlungerRigidbodyPickup gnfgolpheai2 = this.GNFGOLPHEAI; Quaternion gicdoidpckn = this.GICDOIDPCKN; gnfgolpheai2.ConstraintOffsetRotation = gicdoidpckn; PlungerRigidbodyPickup gnfgolpheai3 = this.GNFGOLPHEAI; float z2 = this.HABNDFDLPCM.z; gnfgolpheai3.ConstraintLocalAxis.z = z2; this.GNFGOLPHEAI.MinimumConstraintDistance = 0f; PlungerRigidbodyPickup gnfgolpheai4 = this.GNFGOLPHEAI; float mkfdoogdodk = this.MKFDOOGDODK; gnfgolpheai4.MaximumConstraintDistance = mkfdoogdodk; this.MIKJDLDPIEP(); this.KBMDJLKAPNO(); if (!this._tool.k__BackingField) { Quaternion gicdoidpckn2 = this.GICDOIDPCKN; float z3 = this.JNJIAPLPIGB.z; } base.Start(); } // Token: 0x060111CF RID: 70095 RVA: 0x00409E2C File Offset: 0x0040802C [Token(Token = "0x60111CF")] [Address(RVA = "0x194FD80", Offset = "0x194E780", VA = "0x18194FD80")] private void OnEnable() { if (!this._tool.k__BackingField) { Quaternion gicdoidpckn = this.GICDOIDPCKN; float z = this.JNJIAPLPIGB.z; } } // Token: 0x060111D0 RID: 70096 RVA: 0x00409E60 File Offset: 0x00408060 [Token(Token = "0x60111D0")] [Address(RVA = "0x194F2B0", Offset = "0x194DCB0", VA = "0x18194F2B0")] private void KBMDJLKAPNO() { if (this.AENELEOCFPJ != 0) { } Weapon parentWeapon = this.parentWeapon; int num = 0; if (parentWeapon != num && (this.parentWeapon._tool.FNFNLDBILFE || !this.parentWeapon._tool.rigidbodyEx.IsSleeping())) { Action action = new Action(this.JJGODHDABOH); IDisposable disposable = this.Update(action); this.AENELEOCFPJ = disposable; return; } this.AENELEOCFPJ = (ulong)0L; } // Token: 0x060111D1 RID: 70097 RVA: 0x00409EE0 File Offset: 0x004080E0 [Token(Token = "0x60111D1")] [Address(RVA = "0x194EFB0", Offset = "0x194D9B0", VA = "0x18194EFB0")] private void JJGODHDABOH() { if (this._tool.hasAuthority && this._tool.FNFNLDBILFE) { PlungerRigidbodyPickup gnfgolpheai = this.GNFGOLPHEAI; int num = 0; if (gnfgolpheai != num) { PlungerRigidbodyPickup gnfgolpheai2 = this.GNFGOLPHEAI; float num2 = this.GPAHAFBLMIG; float currentDistance = gnfgolpheai2.CurrentDistance; float num3 = Mathf.InverseLerp((float)0, num2, currentDistance); int num4 = this.pullTickCount; num2 = num3; num4++; this.ICJOIHKKABO(num2); this.NLFNFGNNBNF = num2; if (gnfgolpheai != 0 && !this.AFHFMMDPEFB) { if (this.ReloadsAutomatically) { this.parentWeapon.ReloadAmmunition(); } this.GADODEBHGIA(); } this.AFHFMMDPEFB = gnfgolpheai != null; } } if (this.k__BackingField) { if (this.reloaderType == WeaponReloader.OFIHDMNINPD.PULL) { float magazineAmmunitionNormalized = this.parentWeapon.CGOPGIAIOIK; } PlungerRigidbodyPickup gnfgolpheai3 = this.GNFGOLPHEAI; int num5 = 0; float num6; float num7; if (gnfgolpheai3 != num5 && this._tool.FNFNLDBILFE && !this._tool.k__BackingField) { PlungerRigidbodyPickup gnfgolpheai4 = this.GNFGOLPHEAI; num6 = this.GPAHAFBLMIG; num7 = gnfgolpheai4.CurrentDistance; num6 = Mathf.InverseLerp((float)0, num6, num7); } Weapon parentWeapon = this.parentWeapon; num7 = num6; int johdlnmalma = WeaponReloader.JOHDLNMALMA; parentWeapon.SetAnimationFloat(johdlnmalma, num7); } } // Token: 0x060111D2 RID: 70098 RVA: 0x0040A030 File Offset: 0x00408230 [Token(Token = "0x60111D2")] [Address(RVA = "0x194F800", Offset = "0x194E200", VA = "0x18194F800")] private void OICGKLMBONC() { float uniformScale = this._tool.rigidbodyEx.MKDHFENOFDO; this.GPAHAFBLMIG = uniformScale; } // Token: 0x060111D3 RID: 70099 RVA: 0x0040A05C File Offset: 0x0040825C [Token(Token = "0x60111D3")] [Address(RVA = "0x194EA40", Offset = "0x194D440", VA = "0x18194EA40")] private void HAAIALDMMEL(Tool EGFEJGHDNAI) { float gpahafblmig = this.GPAHAFBLMIG; PlungerRigidbodyPickup gnfgolpheai = this.GNFGOLPHEAI; this.AFHFMMDPEFB = false; int num = 0; if (gnfgolpheai != num) { PlungerRigidbodyPickup gnfgolpheai2 = this.GNFGOLPHEAI; } int num2 = 0; float num3 = Mathf.InverseLerp((float)0, gpahafblmig, (float)num2); int num4 = this.pullTickCount; num4++; Weapon parentWeapon = this.parentWeapon; this.NLFNFGNNBNF = num3; parentWeapon.k__BackingField = true; } // Token: 0x060111D4 RID: 70100 RVA: 0x0040A0CC File Offset: 0x004082CC [Token(Token = "0x60111D4")] [Address(RVA = "0x194F850", Offset = "0x194E250", VA = "0x18194F850")] private void OIOCPLEKMEK(Tool EGFEJGHDNAI) { this.parentWeapon.k__BackingField = false; PlungerRigidbodyPickup gnfgolpheai = this.GNFGOLPHEAI; int num = 0; if (gnfgolpheai != num) { PlungerRigidbodyPickup gnfgolpheai2 = this.GNFGOLPHEAI; int num2 = 0; this.HMHIMJBPKJF = num2; this.GNFGOLPHEAI.CurrentDistance = (float)num2; } if (this._tool.hasAuthority) { Action action = new Action(this.LNHANACJAIF); Coroutine coroutine = this.EndOfFrameRoutine(action); } } // Token: 0x060111D5 RID: 70101 RVA: 0x0040A140 File Offset: 0x00408340 [Token(Token = "0x60111D5")] [Address(RVA = "0x194E690", Offset = "0x194D090", VA = "0x18194E690")] private void BLKAKANNEJP(Tool EGFEJGHDNAI) { if (this.parentWeapon._tool.k__BackingField && this._tool.hasAuthority && base.isActiveAndEnabled) { WeaponReloader.FADPLMHEKKG fadplmhekkg; fadplmhekkg.System.IDisposable.Dispose(); fadplmhekkg.<>1__state = (int)((ulong)0L); fadplmhekkg.<>4__this = this; Coroutine coroutine = base.StartCoroutine(fadplmhekkg); } } // Token: 0x060111D6 RID: 70102 RVA: 0x0040A19C File Offset: 0x0040839C [Token(Token = "0x60111D6")] [Address(RVA = "0x194F3E0", Offset = "0x194DDE0", VA = "0x18194F3E0")] private void LBODGLNOABB(Tool EGFEJGHDNAI, Vector3 BNMOCBJEEPN, Quaternion LPHCCEOHNIN, Vector3 GMMJHABHDHE, bool ACPOOMGHPKJ) { object[] array = new object[1]; if (this != 0) { } array[0] = this; Debug.LogErrorFormat("Resetting reloader subtool {0}. Subtools generally shouldn't be manually reset.", array); Quaternion gicdoidpckn = this.GICDOIDPCKN; float z = this.JNJIAPLPIGB.z; } // Token: 0x060111D7 RID: 70103 RVA: 0x0040A1E0 File Offset: 0x004083E0 [Token(Token = "0x60111D7")] [Address(RVA = "0x194E8C0", Offset = "0x194D2C0", VA = "0x18194E8C0", Slot = "10")] protected override void FAFIPDEIOCK(Tool EGFEJGHDNAI) { base.FAFIPDEIOCK(EGFEJGHDNAI); this.MIKJDLDPIEP(); } // Token: 0x060111D8 RID: 70104 RVA: 0x0040A1FC File Offset: 0x004083FC [Token(Token = "0x60111D8")] [Address(RVA = "0x194E7B0", Offset = "0x194D1B0", VA = "0x18194E7B0", Slot = "8")] protected override void CFODJFFPDFP(Tool EGFEJGHDNAI) { base.CFODJFFPDFP(EGFEJGHDNAI); this.KBMDJLKAPNO(); } // Token: 0x060111D9 RID: 70105 RVA: 0x0040A218 File Offset: 0x00408418 [Token(Token = "0x60111D9")] [Address(RVA = "0x194E8B0", Offset = "0x194D2B0", VA = "0x18194E8B0", Slot = "9")] protected override void ELJGGDGLEHE(RigidbodyEx PJBJCJPOOGL) { this.KBMDJLKAPNO(); } // Token: 0x060111DA RID: 70106 RVA: 0x0040A22C File Offset: 0x0040842C [Token(Token = "0x60111DA")] [Address(RVA = "0x194F600", Offset = "0x194E000", VA = "0x18194F600")] private void MIKJDLDPIEP() { if (base.gameObject.activeInHierarchy) { PlungerRigidbodyPickup gnfgolpheai = this.GNFGOLPHEAI; int num = 0; if (gnfgolpheai != num) { PlungerRigidbodyPickup gnfgolpheai2 = this.GNFGOLPHEAI; int num2 = 0; if (gnfgolpheai2 != num2) { WeaponReloader.OFIHDMNINPD ofihdmninpd = this.reloaderType; if (ofihdmninpd != WeaponReloader.OFIHDMNINPD.PULL) { if (ofihdmninpd != WeaponReloader.OFIHDMNINPD.PUMP) { goto IL_AE; } this.GNFGOLPHEAI.MinimumConstraintDistance = 0f; } Weapon parentWeapon = this.parentWeapon; PlungerRigidbodyPickup gnfgolpheai3 = this.GNFGOLPHEAI; float mkfdoogdodk = this.MKFDOOGDODK; float magazineAmmunitionNormalized = parentWeapon.CGOPGIAIOIK; float num3 = Mathf.Lerp((float)0, mkfdoogdodk, magazineAmmunitionNormalized); gnfgolpheai3.MinimumConstraintDistance = num3; PlungerRigidbodyPickup gnfgolpheai4 = this.GNFGOLPHEAI; float mkfdoogdodk2 = this.MKFDOOGDODK; gnfgolpheai4.MaximumConstraintDistance = mkfdoogdodk2; IL_AE: PlungerRigidbodyPickup gnfgolpheai5 = this.GNFGOLPHEAI; float num4 = this.extraPullDistance; gnfgolpheai5.MaximumConstraintDistance = num4; } if (!this._tool.FNFNLDBILFE) { this.ECFPALFHBHG(true); } } } } // Token: 0x060111DB RID: 70107 RVA: 0x0040A31C File Offset: 0x0040851C [Token(Token = "0x60111DB")] [Address(RVA = "0x194E7D0", Offset = "0x194D1D0", VA = "0x18194E7D0")] private void DONOOFPPPOB() { Coroutine mjeplmpjlil = this.MJEPLMPJLIL; if (mjeplmpjlil != 0) { base.StopCoroutine(mjeplmpjlil); } this.MJEPLMPJLIL = (ulong)0L; WeaponReloader.CIJEKHDBNIA cijekhdbnia; cijekhdbnia.System.IDisposable.Dispose(); cijekhdbnia.<>1__state = (int)((ulong)0L); cijekhdbnia.<>4__this = this; Coroutine coroutine = base.StartCoroutine(cijekhdbnia); this.MJEPLMPJLIL = coroutine; } // Token: 0x060111DC RID: 70108 RVA: 0x0040A36C File Offset: 0x0040856C [Token(Token = "0x60111DC")] [Address(RVA = "0x194E950", Offset = "0x194D350", VA = "0x18194E950")] private void GADODEBHGIA() { Coroutine mjeplmpjlil = this.MJEPLMPJLIL; if (mjeplmpjlil != 0) { base.StopCoroutine(mjeplmpjlil); this.MJEPLMPJLIL = (ulong)0L; return; } this.MJEPLMPJLIL = (ulong)0L; } // Token: 0x060111DD RID: 70109 RVA: 0x0040A3A0 File Offset: 0x004085A0 [Token(Token = "0x60111DD")] [Address(RVA = "0x194F500", Offset = "0x194DF00", VA = "0x18194F500")] private IEnumerator LDIOLMPCPKO() { /* An exception occurred when decompiling this method (060111DD) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.IEnumerator RecRoom.Tools.Weapons.WeaponReloader::LDIOLMPCPKO() ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: call:void(CIJEKHDBNIA::System.IDisposable.Dispose, ldloc:CIJEKHDBNIA(var_0)) stfld:int32(CIJEKHDBNIA::<>1__state, ldloc:CIJEKHDBNIA(var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](0))) stfld:WeaponReloader(CIJEKHDBNIA::<>4__this, ldloc:CIJEKHDBNIA(var_0), ldloc:WeaponReloader(this)) } at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88 --- End of inner exception stack trace --- at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663 */; } // Token: 0x060111DE RID: 70110 RVA: 0x0040A3C4 File Offset: 0x004085C4 [Token(Token = "0x60111DE")] [Address(RVA = "0x194E860", Offset = "0x194D260", VA = "0x18194E860")] private void ECFPALFHBHG(bool CDFHDACBFKN) { Quaternion gicdoidpckn = this.GICDOIDPCKN; float z = this.JNJIAPLPIGB.z; } // Token: 0x060111DF RID: 70111 RVA: 0x0040A3E4 File Offset: 0x004085E4 [Token(Token = "0x60111DF")] [Address(RVA = "0x194E8E0", Offset = "0x194D2E0", VA = "0x18194E8E0")] private IEnumerator FKDLDMKBFEK(float HMHIMJBPKJF) { /* An exception occurred when decompiling this method (060111DF) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.IEnumerator RecRoom.Tools.Weapons.WeaponReloader::FKDLDMKBFEK(System.Single) ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: call:void(FADPLMHEKKG::System.IDisposable.Dispose, ldloc:FADPLMHEKKG(var_0)) stfld:float32(FADPLMHEKKG::returnDistance, ldloc:FADPLMHEKKG(var_0), ldloc:float32(HMHIMJBPKJF)) stfld:int32(FADPLMHEKKG::<>1__state, ldloc:FADPLMHEKKG(var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](0))) stfld:WeaponReloader(FADPLMHEKKG::<>4__this, ldloc:FADPLMHEKKG(var_0), ldloc:WeaponReloader(this)) } at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88 --- End of inner exception stack trace --- at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663 */; } // Token: 0x060111E0 RID: 70112 RVA: 0x0040A410 File Offset: 0x00408610 [Token(Token = "0x60111E0")] [Address(RVA = "0x194EB60", Offset = "0x194D560", VA = "0x18194EB60")] private void HOGCECKPMPB() { if (this.k__BackingField) { if (this.reloaderType == WeaponReloader.OFIHDMNINPD.PULL) { float magazineAmmunitionNormalized = this.parentWeapon.CGOPGIAIOIK; } PlungerRigidbodyPickup gnfgolpheai = this.GNFGOLPHEAI; int num = 0; float num2; float num3; if (gnfgolpheai != num && this._tool.FNFNLDBILFE && !this._tool.k__BackingField) { PlungerRigidbodyPickup gnfgolpheai2 = this.GNFGOLPHEAI; num2 = this.GPAHAFBLMIG; num3 = gnfgolpheai2.CurrentDistance; num2 = Mathf.InverseLerp((float)0, num2, num3); } Weapon parentWeapon = this.parentWeapon; num3 = num2; int johdlnmalma = WeaponReloader.JOHDLNMALMA; parentWeapon.SetAnimationFloat(johdlnmalma, num3); } } // Token: 0x060111E1 RID: 70113 RVA: 0x0040A4B4 File Offset: 0x004086B4 [Token(Token = "0x60111E1")] [Address(RVA = "0x194FE00", Offset = "0x194E800", VA = "0x18194FE00")] private void PPCFMBJFAGG() { PlungerRigidbodyPickup gnfgolpheai = this.GNFGOLPHEAI; int num = 0; if (gnfgolpheai != num) { WeaponReloader.OFIHDMNINPD ofihdmninpd = this.reloaderType; if (ofihdmninpd != WeaponReloader.OFIHDMNINPD.PULL) { if (ofihdmninpd != WeaponReloader.OFIHDMNINPD.PUMP) { goto IL_82; } this.GNFGOLPHEAI.MinimumConstraintDistance = 0f; } Weapon parentWeapon = this.parentWeapon; PlungerRigidbodyPickup gnfgolpheai2 = this.GNFGOLPHEAI; float mkfdoogdodk = this.MKFDOOGDODK; float magazineAmmunitionNormalized = parentWeapon.CGOPGIAIOIK; float num2 = Mathf.Lerp((float)0, mkfdoogdodk, magazineAmmunitionNormalized); gnfgolpheai2.MinimumConstraintDistance = num2; PlungerRigidbodyPickup gnfgolpheai3 = this.GNFGOLPHEAI; float mkfdoogdodk2 = this.MKFDOOGDODK; gnfgolpheai3.MaximumConstraintDistance = mkfdoogdodk2; IL_82: PlungerRigidbodyPickup gnfgolpheai4 = this.GNFGOLPHEAI; float num3 = this.extraPullDistance; gnfgolpheai4.MaximumConstraintDistance = num3; } } // Token: 0x060111E2 RID: 70114 RVA: 0x0040A564 File Offset: 0x00408764 [Token(Token = "0x60111E2")] [Address(RVA = "0x194E990", Offset = "0x194D390", VA = "0x18194E990")] private void GDFPOLCEBCJ(DelayedRangedWeaponTrigger OOONNFPBMKC) { if (this.k__BackingField) { float num = this.reloaderAnimationBlendWhileFiring; Weapon parentWeapon = this.parentWeapon; float num2 = this.reloaderAnimationBlendWhileFiring; int johdlnmalma = WeaponReloader.JOHDLNMALMA; parentWeapon.SetAnimationFloat(johdlnmalma, num2); this.k__BackingField = false; } } // Token: 0x060111E3 RID: 70115 RVA: 0x0040A5B0 File Offset: 0x004087B0 [Token(Token = "0x60111E3")] [Address(RVA = "0x194FDF0", Offset = "0x194E7F0", VA = "0x18194FDF0")] private void PBBPDKFNPKG(DelayedRangedWeaponTrigger OOONNFPBMKC) { bool flag = this.animateParentWeaponReloader; this.k__BackingField = flag; } // Token: 0x060111E4 RID: 70116 RVA: 0x0040A5CC File Offset: 0x004087CC [Token(Token = "0x60111E4")] [Address(RVA = "0x194F5B0", Offset = "0x194DFB0", VA = "0x18194F5B0")] private bool LPLIIBBAAOI(Tool NBHJPDBHDHB, Player JKPGNHBEMOK, Vector3 JEDLNAEEMEN, bool GEJJBENPHJG) { return this.parentWeapon.KKCCBKKKAKF != 0 || this.parentWeapon.hasInfiniteReserveAmmunition; } // Token: 0x060111E5 RID: 70117 RVA: 0x0040A5FC File Offset: 0x004087FC [Token(Token = "0x60111E5")] [Address(RVA = "0x194ECE0", Offset = "0x194D6E0", VA = "0x18194ECE0")] private void ICJOIHKKABO(float GKBMLDJDEEE) { if (this._tool.FNFNLDBILFE) { Weapon parentWeapon = this.parentWeapon; int num = 0; if (!(parentWeapon == num) && this.parentWeapon._tool.FNFNLDBILFE) { RecRoomAudioClip recRoomAudioClip = this.pullTickAudio; if (recRoomAudioClip != 0) { float num2 = GKBMLDJDEEE * 0.45f; recRoomAudioClip.pitchShift = num2; Transform transform = base.transform; int num3 = 0; int num4 = 0; SFXAudioSource sfxaudioSource = AudioManager.Play3DSFX(recRoomAudioClip, transform, num4, num3); } Tool tool = this.parentWeapon._tool; if (tool.k__BackingField) { PlayerHand k__BackingField = tool.k__BackingField; int num5 = 0; if (k__BackingField != num5) { PlayerHand k__BackingField2 = this.parentWeapon._tool.k__BackingField; Tool tool2 = this._tool; if (tool2.k__BackingField) { PlayerHand k__BackingField3 = tool2.k__BackingField; int num6 = 0; if (k__BackingField3 != num6) { PlayerHand k__BackingField4 = this._tool.k__BackingField; this._tool.k__BackingField.Vibrate(20, 0.5f); this.parentWeapon._tool.k__BackingField.Vibrate(20, 0.5f); } } } } } } } // Token: 0x060111E6 RID: 70118 RVA: 0x0040A734 File Offset: 0x00408934 [Token(Token = "0x60111E6")] [Address(RVA = "0x19501A0", Offset = "0x194EBA0", VA = "0x1819501A0")] public WeaponReloader() { float z = Vector3.zero.z; this.JNJIAPLPIGB.z = z; Quaternion identity = Quaternion.identity; float z2 = Vector3.zero.z; this.HABNDFDLPCM.z = z2; base..ctor(); } // Token: 0x060111E8 RID: 70120 RVA: 0x0040A7D4 File Offset: 0x004089D4 [Token(Token = "0x60111E8")] [Address(RVA = "0x194F560", Offset = "0x194DF60", VA = "0x18194F560")] [CompilerGenerated] private void LNHANACJAIF() { Quaternion gicdoidpckn = this.GICDOIDPCKN; float z = this.JNJIAPLPIGB.z; } // Token: 0x0400B60D RID: 46605 [Token(Token = "0x400B60D")] private const float BMILAAPFFNO = 0.99f; // Token: 0x0400B60E RID: 46606 [global::Cpp2IlInjected.FieldOffset(Offset = "0x68")] [Token(Token = "0x400B60E")] [SerializeField] [Header("Reloader")] private WeaponReloader.OFIHDMNINPD reloaderType = (WeaponReloader.OFIHDMNINPD)((ulong)1L); // Token: 0x0400B60F RID: 46607 [global::Cpp2IlInjected.FieldOffset(Offset = "0x70")] [Token(Token = "0x400B60F")] [SerializeField] private Transform emptyClipTransform; // Token: 0x0400B610 RID: 46608 [global::Cpp2IlInjected.FieldOffset(Offset = "0x78")] [Token(Token = "0x400B610")] [SerializeField] private Transform fullClipTransform; // Token: 0x0400B611 RID: 46609 [global::Cpp2IlInjected.FieldOffset(Offset = "0x80")] [Token(Token = "0x400B611")] [SerializeField] private float extraPullDistance = 0.05f; // Token: 0x0400B612 RID: 46610 [global::Cpp2IlInjected.FieldOffset(Offset = "0x88")] [Token(Token = "0x400B612")] [SerializeField] [Header("Feedback")] private RecRoomAudioClip pullTickAudio; // Token: 0x0400B613 RID: 46611 [global::Cpp2IlInjected.FieldOffset(Offset = "0x90")] [Token(Token = "0x400B613")] [SerializeField] private int pullTickCount = (int)((ulong)10L); // Token: 0x0400B614 RID: 46612 [global::Cpp2IlInjected.FieldOffset(Offset = "0x94")] [Token(Token = "0x400B614")] [SerializeField] private float returnToConstraintSpeed = 20f; // Token: 0x0400B615 RID: 46613 [global::Cpp2IlInjected.FieldOffset(Offset = "0x98")] [Token(Token = "0x400B615")] [SerializeField] [Header("Weapon Animation")] private bool animateParentWeaponReloader; // Token: 0x0400B616 RID: 46614 [global::Cpp2IlInjected.FieldOffset(Offset = "0x9C")] [Token(Token = "0x400B616")] [SerializeField] private float reloaderAnimationBlendWhileFiring = -1f; // Token: 0x0400B617 RID: 46615 [Token(Token = "0x400B617")] private static readonly int JOHDLNMALMA = Animator.StringToHash("ReloaderBlend"); // Token: 0x0400B618 RID: 46616 [Token(Token = "0x400B618")] private const float ADLODEJNHEB = 0.45f; // Token: 0x0400B619 RID: 46617 [global::Cpp2IlInjected.FieldOffset(Offset = "0xA0")] [Token(Token = "0x400B619")] [NonSerialized] public bool ReloadsAutomatically = true; // Token: 0x0400B61A RID: 46618 [global::Cpp2IlInjected.FieldOffset(Offset = "0xA8")] [Token(Token = "0x400B61A")] [SerializeField] [OCIDFHDICIP(JIBDPHMGEGO.SelfAndParent, false, false)] private DelayedRangedWeaponTrigger delayedWeaponTrigger; // Token: 0x0400B61B RID: 46619 [global::Cpp2IlInjected.FieldOffset(Offset = "0xB0")] [Token(Token = "0x400B61B")] private PlungerRigidbodyPickup GNFGOLPHEAI; // Token: 0x0400B61C RID: 46620 [global::Cpp2IlInjected.FieldOffset(Offset = "0xB8")] [Token(Token = "0x400B61C")] private Vector3 JNJIAPLPIGB; // Token: 0x0400B61D RID: 46621 [global::Cpp2IlInjected.FieldOffset(Offset = "0xC4")] [Token(Token = "0x400B61D")] private Quaternion GICDOIDPCKN; // Token: 0x0400B61E RID: 46622 [global::Cpp2IlInjected.FieldOffset(Offset = "0xD4")] [Token(Token = "0x400B61E")] private Vector3 HABNDFDLPCM; // Token: 0x0400B61F RID: 46623 [global::Cpp2IlInjected.FieldOffset(Offset = "0xE0")] [Token(Token = "0x400B61F")] private float MKFDOOGDODK; // Token: 0x0400B620 RID: 46624 [global::Cpp2IlInjected.FieldOffset(Offset = "0xE4")] [Token(Token = "0x400B620")] private float GPAHAFBLMIG; // Token: 0x0400B621 RID: 46625 [global::Cpp2IlInjected.FieldOffset(Offset = "0xE8")] [Token(Token = "0x400B621")] private bool AFHFMMDPEFB; // Token: 0x0400B622 RID: 46626 [global::Cpp2IlInjected.FieldOffset(Offset = "0xEC")] [Token(Token = "0x400B622")] private float NLFNFGNNBNF; // Token: 0x0400B623 RID: 46627 [global::Cpp2IlInjected.FieldOffset(Offset = "0xF0")] [Token(Token = "0x400B623")] private float? HMHIMJBPKJF; // Token: 0x0400B624 RID: 46628 [global::Cpp2IlInjected.FieldOffset(Offset = "0xF8")] [Token(Token = "0x400B624")] private IDisposable AENELEOCFPJ; // Token: 0x0400B626 RID: 46630 [global::Cpp2IlInjected.FieldOffset(Offset = "0x108")] [Token(Token = "0x400B626")] private Coroutine MJEPLMPJLIL; // Token: 0x02002686 RID: 9862 [Token(Token = "0x2002686")] private enum OFIHDMNINPD { // Token: 0x0400B628 RID: 46632 [Token(Token = "0x400B628")] PUMP, // Token: 0x0400B629 RID: 46633 [Token(Token = "0x400B629")] PULL } } }