using System; using System.Collections; using Cpp2IlInjected; using RecRoom.Core.Combat; using UnityEngine; namespace RecRoom.Tools.Weapons { // Token: 0x02002C2A RID: 11306 [Token(Token = "0x2002C2A")] public class BurstFireGun : RangedWeapon { // Token: 0x06012DAB RID: 77227 RVA: 0x0044A564 File Offset: 0x00448764 [Token(Token = "0x6012DAB")] [Address(RVA = "0x1877220", Offset = "0x1876220", VA = "0x181877220", Slot = "13")] protected override void Awake() { base.Awake(); if (this.burstMode == BurstFireGun.CDKPGNAAAGK.SPRAY) { Transform transform = this.sprayTargetRoot; int num = 0; if (!(transform == num) && this.sprayTargetRoot.childCount != 0) { Transform[] array = new Transform[this.sprayTargetRoot.childCount]; int num2 = 0; this.NGFEFMLCMJA = array; int childCount = this.sprayTargetRoot.childCount; if (num2 >= childCount) { goto IL_A9; } Transform transform2 = this.sprayTargetRoot; Transform[] ngfefmlcmja = this.NGFEFMLCMJA; Transform child = transform2.GetChild(num2); if (child != 0) { } num2++; ngfefmlcmja[0] = child; Transform transform3 = this.sprayTargetRoot; } Debug.LogError(base.name + " is missing spray targets."); } IL_A9: Tool tool = this._tool; int num3 = 0; if (tool != num3) { Tool tool2 = this._tool; MFBGLIHGCGO inputDownEvent = tool2.InputDownEvent; Action action = new Action(this.GDPCAAHGLJN); MFBGLIHGCGO mfbglihgcgo = MFBGLIHGCGO.BPJDFPACLMK(inputDownEvent, action); tool2.InputDownEvent = mfbglihgcgo; Tool tool3 = this._tool; MFBGLIHGCGO inputUpEvent = tool3.InputUpEvent; Action action2 = new Action(this.KBPEKMLDNHC); MFBGLIHGCGO mfbglihgcgo2 = MFBGLIHGCGO.BPJDFPACLMK(inputUpEvent, action2); tool3.InputUpEvent = mfbglihgcgo2; Tool tool4 = this._tool; MFBGLIHGCGO inputCancelledEvent = tool4.InputCancelledEvent; Action action3 = new Action(this.FIECILCCNFD); MFBGLIHGCGO mfbglihgcgo3 = MFBGLIHGCGO.BPJDFPACLMK(inputCancelledEvent, action3); tool4.InputCancelledEvent = mfbglihgcgo3; } } // Token: 0x06012DAC RID: 77228 RVA: 0x0044A6D4 File Offset: 0x004488D4 [Token(Token = "0x6012DAC")] [Address(RVA = "0x1877E30", Offset = "0x1876E30", VA = "0x181877E30", Slot = "14")] protected override void OnDestroy() { base.OnDestroy(); Tool tool = this._tool; int num = 0; if (tool != num) { Tool tool2 = this._tool; MFBGLIHGCGO inputDownEvent = tool2.InputDownEvent; Action action = new Action(this.GDPCAAHGLJN); MFBGLIHGCGO mfbglihgcgo = MFBGLIHGCGO.GMNMHGMFGOL(inputDownEvent, action); tool2.InputDownEvent = mfbglihgcgo; Tool tool3 = this._tool; MFBGLIHGCGO inputUpEvent = tool3.InputUpEvent; Action action2 = new Action(this.KBPEKMLDNHC); MFBGLIHGCGO mfbglihgcgo2 = MFBGLIHGCGO.GMNMHGMFGOL(inputUpEvent, action2); tool3.InputUpEvent = mfbglihgcgo2; Tool tool4 = this._tool; MFBGLIHGCGO inputCancelledEvent = tool4.InputCancelledEvent; Action action3 = new Action(this.FIECILCCNFD); MFBGLIHGCGO mfbglihgcgo3 = MFBGLIHGCGO.GMNMHGMFGOL(inputCancelledEvent, action3); tool4.InputCancelledEvent = mfbglihgcgo3; } } // Token: 0x06012DAD RID: 77229 RVA: 0x0044A798 File Offset: 0x00448998 [Token(Token = "0x6012DAD")] [Address(RVA = "0x1877660", Offset = "0x1876660", VA = "0x181877660")] private void GDPCAAHGLJN(Tool NBHJPDBHDHB) { if (base.OGIBLNIIHDK) { if (!base.NOOCGFJOMEM) { WeaponAudio weaponAudio; bool shouldLoopAudio = ((AIGLMCILBAF.FAEGFHMMIDB)weaponAudio).BIILOFOAKEJ; return; } if (base.MJDHKAHMGMO || base.LAJLNCJKALH) { WeaponAudio weaponAudio = this._weaponAudio; weaponAudio.OnMisfire(); return; } Coroutine ehfgnpndain = this.EHFGNPNDAIN; if (ehfgnpndain != 0) { base.StopCoroutine(ehfgnpndain); this.EHFGNPNDAIN = (ulong)0L; } int num; BurstFireGun.DILDONIOPLG dildonioplg = new BurstFireGun.DILDONIOPLG(num); num = 0; dildonioplg.<>4__this = this; Coroutine coroutine = base.StartCoroutine(dildonioplg); this.EHFGNPNDAIN = coroutine; } } // Token: 0x06012DAE RID: 77230 RVA: 0x0044A824 File Offset: 0x00448A24 [Token(Token = "0x6012DAE")] [Address(RVA = "0x1877860", Offset = "0x1876860", VA = "0x181877860")] private void KBPEKMLDNHC(Tool NBHJPDBHDHB) { Coroutine ehfgnpndain = this.EHFGNPNDAIN; if (ehfgnpndain != 0) { base.StopCoroutine(ehfgnpndain); this.EHFGNPNDAIN = (ulong)0L; } } // Token: 0x06012DAF RID: 77231 RVA: 0x0044A84C File Offset: 0x00448A4C [Token(Token = "0x6012DAF")] [Address(RVA = "0x1877620", Offset = "0x1876620", VA = "0x181877620")] private void FIECILCCNFD(Tool NBHJPDBHDHB) { if (base.OGIBLNIIHDK) { Coroutine ehfgnpndain = this.EHFGNPNDAIN; if (ehfgnpndain != 0) { base.StopCoroutine(ehfgnpndain); this.EHFGNPNDAIN = (ulong)0L; } } } // Token: 0x06012DB0 RID: 77232 RVA: 0x0044A880 File Offset: 0x00448A80 [Token(Token = "0x6012DB0")] [Address(RVA = "0x1877BE0", Offset = "0x1876BE0", VA = "0x181877BE0", Slot = "42")] protected override void OICJPFPBIIK(Vector3 DDHPAFKBMON, Quaternion IGPENJBJADK, Vector3 NHAOMEMANJA, float LFDFFDCJAAD, bool FLKHKHDBIOH, byte LNPHJIHHNPN) { float z = NHAOMEMANJA.z; float z2 = DDHPAFKBMON.z; if (!base.OGIBLNIIHDK) { Coroutine bkmbbgmfgem = this.BKMBBGMFGEM; if (bkmbbgmfgem != 0) { base.StopCoroutine(bkmbbgmfgem); this.BKMBBGMFGEM = (ulong)0L; } int num; BurstFireGun.EBDJGJFLOPF ebdjgjflopf = new BurstFireGun.EBDJGJFLOPF(num); num = 0; ebdjgjflopf.<>4__this = this; int num2; ebdjgjflopf.semiAutomaticShotCount = num2; Coroutine coroutine = base.StartCoroutine(ebdjgjflopf); this.BKMBBGMFGEM = coroutine; } float z3 = NHAOMEMANJA.z; float z4 = DDHPAFKBMON.z; } // Token: 0x06012DB1 RID: 77233 RVA: 0x0044A908 File Offset: 0x00448B08 [Token(Token = "0x6012DB1")] [Address(RVA = "0x18770E0", Offset = "0x18760E0", VA = "0x1818770E0")] private void ABNPFEDICFJ() { Coroutine ehfgnpndain = this.EHFGNPNDAIN; if (ehfgnpndain != 0) { base.StopCoroutine(ehfgnpndain); this.EHFGNPNDAIN = (ulong)0L; } int num; BurstFireGun.DILDONIOPLG dildonioplg = new BurstFireGun.DILDONIOPLG(num); num = 0; dildonioplg.<>4__this = this; Coroutine coroutine = base.StartCoroutine(dildonioplg); this.EHFGNPNDAIN = coroutine; } // Token: 0x06012DB2 RID: 77234 RVA: 0x0044A958 File Offset: 0x00448B58 [Token(Token = "0x6012DB2")] [Address(RVA = "0x1877860", Offset = "0x1876860", VA = "0x181877860")] private void IGIDNLPODPD() { Coroutine ehfgnpndain = this.EHFGNPNDAIN; if (ehfgnpndain != 0) { base.StopCoroutine(ehfgnpndain); this.EHFGNPNDAIN = (ulong)0L; } } // Token: 0x06012DB3 RID: 77235 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6012DB3")] [Address(RVA = "0x1877AB0", Offset = "0x1876AB0", VA = "0x181877AB0")] private bool LFHJJNKDMJA() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06012DB4 RID: 77236 RVA: 0x0044A980 File Offset: 0x00448B80 [Token(Token = "0x6012DB4")] [Address(RVA = "0x1877890", Offset = "0x1876890", VA = "0x181877890")] private IEnumerator JNOBFPLKDMB() { int num; BurstFireGun.DILDONIOPLG dildonioplg = new BurstFireGun.DILDONIOPLG(num); num = 0; dildonioplg.<>4__this = this; throw new NullReferenceException(); } // Token: 0x06012DB5 RID: 77237 RVA: 0x0044A9A4 File Offset: 0x00448BA4 [Token(Token = "0x6012DB5")] [Address(RVA = "0x1877AC0", Offset = "0x1876AC0", VA = "0x181877AC0")] private IEnumerator MBDNELNADAJ(float MOPKOPOKKEE) { int num; BurstFireGun.MPCMFFHNNJG mpcmffhnnjg = new BurstFireGun.MPCMFFHNNJG(num); num = 0; mpcmffhnnjg.time = MOPKOPOKKEE; throw new NullReferenceException(); } // Token: 0x06012DB6 RID: 77238 RVA: 0x0044A9C8 File Offset: 0x00448BC8 [Token(Token = "0x6012DB6")] [Address(RVA = "0x1877A00", Offset = "0x1876A00", VA = "0x181877A00")] private void KNGKMOKBCAE(int HPBJPHFFGAI) { Coroutine bkmbbgmfgem = this.BKMBBGMFGEM; if (bkmbbgmfgem != 0) { base.StopCoroutine(bkmbbgmfgem); this.BKMBBGMFGEM = (ulong)0L; } int num; BurstFireGun.EBDJGJFLOPF ebdjgjflopf = new BurstFireGun.EBDJGJFLOPF(num); num = 0; ebdjgjflopf.<>4__this = this; ebdjgjflopf.semiAutomaticShotCount = HPBJPHFFGAI; Coroutine coroutine = base.StartCoroutine(ebdjgjflopf); this.BKMBBGMFGEM = coroutine; } // Token: 0x06012DB7 RID: 77239 RVA: 0x0044AA1C File Offset: 0x00448C1C [Token(Token = "0x6012DB7")] [Address(RVA = "0x1877180", Offset = "0x1876180", VA = "0x181877180")] private void ACDNBPLCMDC() { Coroutine bkmbbgmfgem = this.BKMBBGMFGEM; if (bkmbbgmfgem != 0) { base.StopCoroutine(bkmbbgmfgem); this.BKMBBGMFGEM = (ulong)0L; } } // Token: 0x170034B1 RID: 13489 // (get) Token: 0x06012DB8 RID: 77240 RVA: 0x0044AA44 File Offset: 0x00448C44 // (set) Token: 0x06012DB9 RID: 77241 RVA: 0x0044AA74 File Offset: 0x00448C74 [Token(Token = "0x170034B1")] private float GNNKANFOEDF { [Token(Token = "0x6012DB8")] [Address(RVA = "0x1877540", Offset = "0x1876540", VA = "0x181877540")] get { Transform transform = this.kickbackTransform; int num = 0; if (transform != num) { Transform transform2 = this.kickbackTransform; } throw new NullReferenceException(); } [Token(Token = "0x6012DB9")] [Address(RVA = "0x1877900", Offset = "0x1876900", VA = "0x181877900")] set { Transform transform = this.kickbackTransform; int num = 0; if (transform != num) { Transform transform2 = this.kickbackTransform; Transform transform3 = this.kickbackTransform; Vector3 vector; float z = vector.z; } } } // Token: 0x06012DBA RID: 77242 RVA: 0x0044AAB4 File Offset: 0x00448CB4 [Token(Token = "0x6012DBA")] [Address(RVA = "0x18771B0", Offset = "0x18761B0", VA = "0x1818771B0")] private IEnumerator AKOJNEAJEJD(int HPBJPHFFGAI) { int num; BurstFireGun.EBDJGJFLOPF ebdjgjflopf = new BurstFireGun.EBDJGJFLOPF(num); num = 0; ebdjgjflopf.<>4__this = this; ebdjgjflopf.semiAutomaticShotCount = HPBJPHFFGAI; throw new NullReferenceException(); } // Token: 0x06012DBB RID: 77243 RVA: 0x0044AAE0 File Offset: 0x00448CE0 [Token(Token = "0x6012DBB")] [Address(RVA = "0x1877770", Offset = "0x1876770", VA = "0x181877770")] private void GHJLGIHFOPJ(float JLCOILDNDCP, float JFDEMJMDJPH, float FGOANKIAJAK, float AMFBDLGKMGG, out float POMGIDPAKLH, out float PHMMKNJHDJO) { float num = Mathf.InverseLerp(JLCOILDNDCP, 1f, JFDEMJMDJPH); } // Token: 0x06012DBC RID: 77244 RVA: 0x0044AAFC File Offset: 0x00448CFC [Token(Token = "0x6012DBC")] [Address(RVA = "0x1877B30", Offset = "0x1876B30", VA = "0x181877B30")] private float NGKOCAPENMB(float KMHEHJCNMJC, float POMGIDPAKLH, float PHMMKNJHDJO) { int num = 0; return FJFHDHBBFKE.OMBOKJDOGMI(PHMMKNJHDJO * 0.5f, KMHEHJCNMJC, (float)num); } // Token: 0x06012DBD RID: 77245 RVA: 0x0044AB1C File Offset: 0x00448D1C [Token(Token = "0x6012DBD")] [Address(RVA = "0x1877FC0", Offset = "0x1876FC0", VA = "0x181877FC0")] public BurstFireGun() { } // Token: 0x0400C1FD RID: 49661 [Token(Token = "0x400C1FD")] private const float IBNBNGLIKBJ = -1f; // Token: 0x0400C1FE RID: 49662 [Token(Token = "0x400C1FE")] private const float MPJMEKMGFCJ = 50f; // Token: 0x0400C1FF RID: 49663 [FieldOffset(Offset = "0x2F0")] [Token(Token = "0x400C1FF")] [SerializeField] [Header("Burst")] private BurstFireGun.CDKPGNAAAGK burstMode; // Token: 0x0400C200 RID: 49664 [FieldOffset(Offset = "0x2F8")] [Token(Token = "0x400C200")] [SerializeField] [Header("Kickback")] private Transform kickbackTransform; // Token: 0x0400C201 RID: 49665 [FieldOffset(Offset = "0x300")] [Token(Token = "0x400C201")] [SerializeField] private float totalBurstAngle = 5f; // Token: 0x0400C202 RID: 49666 [FieldOffset(Offset = "0x304")] [Token(Token = "0x400C202")] private float PFOJFHAAFJJ = 0.25f; // Token: 0x0400C203 RID: 49667 [FieldOffset(Offset = "0x308")] [Token(Token = "0x400C203")] [SerializeField] private float curveNextShotTimeNormalized = 0.75f; // Token: 0x0400C204 RID: 49668 [FieldOffset(Offset = "0x30C")] [Token(Token = "0x400C204")] [SerializeField] [Header("Simple Burst")] private float simpleBurstModeBurstSize = 16f; // Token: 0x0400C205 RID: 49669 [FieldOffset(Offset = "0x310")] [Token(Token = "0x400C205")] [SerializeField] [Header("Spray")] private bool hasMaxDistance; // Token: 0x0400C206 RID: 49670 [FieldOffset(Offset = "0x314")] [Token(Token = "0x400C206")] [SerializeField] private float maxDistance = 50f; // Token: 0x0400C207 RID: 49671 [FieldOffset(Offset = "0x318")] [Token(Token = "0x400C207")] [SerializeField] private Transform sprayTargetRoot; // Token: 0x0400C208 RID: 49672 [FieldOffset(Offset = "0x320")] [Token(Token = "0x400C208")] private Transform[] NGFEFMLCMJA; // Token: 0x0400C209 RID: 49673 [FieldOffset(Offset = "0x328")] [Token(Token = "0x400C209")] private Coroutine EHFGNPNDAIN; // Token: 0x0400C20A RID: 49674 [FieldOffset(Offset = "0x330")] [Token(Token = "0x400C20A")] private Coroutine BKMBBGMFGEM; // Token: 0x02002C2B RID: 11307 [Token(Token = "0x2002C2B")] private enum CDKPGNAAAGK { // Token: 0x0400C20C RID: 49676 [Token(Token = "0x400C20C")] SPRAY, // Token: 0x0400C20D RID: 49677 [Token(Token = "0x400C20D")] SIMPLE } } }