using System; using System.Collections; using System.Runtime.InteropServices; using Cpp2IlInjected; using RecRoom.Core.Combat; using UnityEngine; namespace RecRoom.Tools.Weapons { // Token: 0x02002656 RID: 9814 [Token(Token = "0x2002656")] [StructLayout(3)] public class BurstFireGun : RangedWeapon { // Token: 0x06010FEF RID: 69615 RVA: 0x003FF17C File Offset: 0x003FD37C [Token(Token = "0x6010FEF")] [Address(RVA = "0x15A96B0", Offset = "0x15A80B0", VA = "0x1815A96B0", 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; ActionEvent inputDownEvent = tool2.InputDownEvent; Action action = new Action(this.GDPCAAHGLJN); ActionEvent actionEvent = inputDownEvent + action; tool2.InputDownEvent = actionEvent; Tool tool3 = this._tool; ActionEvent inputUpEvent = tool3.InputUpEvent; Action action2 = new Action(this.KBPEKMLDNHC); ActionEvent actionEvent2 = inputUpEvent + action2; tool3.InputUpEvent = actionEvent2; Tool tool4 = this._tool; ActionEvent inputCancelledEvent = tool4.InputCancelledEvent; Action action3 = new Action(this.FIECILCCNFD); ActionEvent actionEvent3 = inputCancelledEvent + action3; tool4.InputCancelledEvent = actionEvent3; } } // Token: 0x06010FF0 RID: 69616 RVA: 0x003FF2EC File Offset: 0x003FD4EC [Token(Token = "0x6010FF0")] [Address(RVA = "0x15AA2C0", Offset = "0x15A8CC0", VA = "0x1815AA2C0", Slot = "14")] protected override void OnDestroy() { base.OnDestroy(); Tool tool = this._tool; int num = 0; if (tool != num) { Tool tool2 = this._tool; ActionEvent inputDownEvent = tool2.InputDownEvent; Action action = new Action(this.GDPCAAHGLJN); ActionEvent actionEvent = inputDownEvent - action; tool2.InputDownEvent = actionEvent; Tool tool3 = this._tool; ActionEvent inputUpEvent = tool3.InputUpEvent; Action action2 = new Action(this.KBPEKMLDNHC); ActionEvent actionEvent2 = inputUpEvent - action2; tool3.InputUpEvent = actionEvent2; Tool tool4 = this._tool; ActionEvent inputCancelledEvent = tool4.InputCancelledEvent; Action action3 = new Action(this.FIECILCCNFD); ActionEvent actionEvent3 = inputCancelledEvent - action3; tool4.InputCancelledEvent = actionEvent3; } } // Token: 0x06010FF1 RID: 69617 RVA: 0x003FF3B0 File Offset: 0x003FD5B0 [Token(Token = "0x6010FF1")] [Address(RVA = "0x15A9AF0", Offset = "0x15A84F0", VA = "0x1815A9AF0")] private void GDPCAAHGLJN(Tool NBHJPDBHDHB) { if (base.hasAuthority) { if (!base.NOOCGFJOMEM) { WeaponAudio weaponAudio; bool isCompleted = ((IAsyncResult)weaponAudio).IsCompleted; 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: 0x06010FF2 RID: 69618 RVA: 0x003FF43C File Offset: 0x003FD63C [Token(Token = "0x6010FF2")] [Address(RVA = "0x15A9CF0", Offset = "0x15A86F0", VA = "0x1815A9CF0")] private void KBPEKMLDNHC(Tool NBHJPDBHDHB) { Coroutine ehfgnpndain = this.EHFGNPNDAIN; if (ehfgnpndain != 0) { base.StopCoroutine(ehfgnpndain); this.EHFGNPNDAIN = (ulong)0L; } } // Token: 0x06010FF3 RID: 69619 RVA: 0x003FF464 File Offset: 0x003FD664 [Token(Token = "0x6010FF3")] [Address(RVA = "0x15A9AB0", Offset = "0x15A84B0", VA = "0x1815A9AB0")] private void FIECILCCNFD(Tool NBHJPDBHDHB) { if (base.hasAuthority) { Coroutine ehfgnpndain = this.EHFGNPNDAIN; if (ehfgnpndain != 0) { base.StopCoroutine(ehfgnpndain); this.EHFGNPNDAIN = (ulong)0L; } } } // Token: 0x06010FF4 RID: 69620 RVA: 0x003FF498 File Offset: 0x003FD698 [Token(Token = "0x6010FF4")] [Address(RVA = "0x15AA070", Offset = "0x15A8A70", VA = "0x1815AA070", 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.hasAuthority) { 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: 0x06010FF5 RID: 69621 RVA: 0x003FF520 File Offset: 0x003FD720 [Token(Token = "0x6010FF5")] [Address(RVA = "0x15A9570", Offset = "0x15A7F70", VA = "0x1815A9570")] 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: 0x06010FF6 RID: 69622 RVA: 0x003FF570 File Offset: 0x003FD770 [Token(Token = "0x6010FF6")] [Address(RVA = "0x15A9CF0", Offset = "0x15A86F0", VA = "0x1815A9CF0")] private void IGIDNLPODPD() { Coroutine ehfgnpndain = this.EHFGNPNDAIN; if (ehfgnpndain != 0) { base.StopCoroutine(ehfgnpndain); this.EHFGNPNDAIN = (ulong)0L; } } // Token: 0x06010FF7 RID: 69623 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6010FF7")] [Address(RVA = "0x15A9F40", Offset = "0x15A8940", VA = "0x1815A9F40")] private bool LFHJJNKDMJA() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06010FF8 RID: 69624 RVA: 0x003FF598 File Offset: 0x003FD798 [Token(Token = "0x6010FF8")] [Address(RVA = "0x15A9D20", Offset = "0x15A8720", VA = "0x1815A9D20")] private IEnumerator JNOBFPLKDMB() { int num; BurstFireGun.DILDONIOPLG dildonioplg = new BurstFireGun.DILDONIOPLG(num); num = 0; dildonioplg.<>4__this = this; throw new NullReferenceException(); } // Token: 0x06010FF9 RID: 69625 RVA: 0x003FF5BC File Offset: 0x003FD7BC [Token(Token = "0x6010FF9")] [Address(RVA = "0x15A9F50", Offset = "0x15A8950", VA = "0x1815A9F50")] private IEnumerator MBDNELNADAJ(float MOPKOPOKKEE) { int num; BurstFireGun.MPCMFFHNNJG mpcmffhnnjg = new BurstFireGun.MPCMFFHNNJG(num); num = 0; mpcmffhnnjg.time = MOPKOPOKKEE; throw new NullReferenceException(); } // Token: 0x06010FFA RID: 69626 RVA: 0x003FF5E0 File Offset: 0x003FD7E0 [Token(Token = "0x6010FFA")] [Address(RVA = "0x15A9E90", Offset = "0x15A8890", VA = "0x1815A9E90")] 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: 0x06010FFB RID: 69627 RVA: 0x003FF634 File Offset: 0x003FD834 [Token(Token = "0x6010FFB")] [Address(RVA = "0x15A9610", Offset = "0x15A8010", VA = "0x1815A9610")] private void ACDNBPLCMDC() { Coroutine bkmbbgmfgem = this.BKMBBGMFGEM; if (bkmbbgmfgem != 0) { base.StopCoroutine(bkmbbgmfgem); this.BKMBBGMFGEM = (ulong)0L; } } // Token: 0x17002E37 RID: 11831 // (get) Token: 0x06010FFC RID: 69628 RVA: 0x003FF65C File Offset: 0x003FD85C // (set) Token: 0x06010FFD RID: 69629 RVA: 0x003FF68C File Offset: 0x003FD88C [Token(Token = "0x17002E37")] private float GNNKANFOEDF { [Token(Token = "0x6010FFC")] [Address(RVA = "0x15A99D0", Offset = "0x15A83D0", VA = "0x1815A99D0")] get { Transform transform = this.kickbackTransform; int num = 0; if (transform != num) { Transform transform2 = this.kickbackTransform; } throw new NullReferenceException(); } [Token(Token = "0x6010FFD")] [Address(RVA = "0x15A9D90", Offset = "0x15A8790", VA = "0x1815A9D90")] 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: 0x06010FFE RID: 69630 RVA: 0x003FF6CC File Offset: 0x003FD8CC [Token(Token = "0x6010FFE")] [Address(RVA = "0x15A9640", Offset = "0x15A8040", VA = "0x1815A9640")] 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: 0x06010FFF RID: 69631 RVA: 0x003FF6F8 File Offset: 0x003FD8F8 [Token(Token = "0x6010FFF")] [Address(RVA = "0x15A9C00", Offset = "0x15A8600", VA = "0x1815A9C00")] 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: 0x06011000 RID: 69632 RVA: 0x003FF714 File Offset: 0x003FD914 [Token(Token = "0x6011000")] [Address(RVA = "0x15A9FC0", Offset = "0x15A89C0", VA = "0x1815A9FC0")] private float NGKOCAPENMB(float KMHEHJCNMJC, float POMGIDPAKLH, float PHMMKNJHDJO) { int num = 0; return MathExt.SolveQuadraticEquationMaxValue(PHMMKNJHDJO * 0.5f, KMHEHJCNMJC, (float)num); } // Token: 0x06011001 RID: 69633 RVA: 0x003FF734 File Offset: 0x003FD934 [Token(Token = "0x6011001")] [Address(RVA = "0x15AA450", Offset = "0x15A8E50", VA = "0x1815AA450")] public BurstFireGun() { } // Token: 0x0400B490 RID: 46224 [Token(Token = "0x400B490")] private const float IBNBNGLIKBJ = -1f; // Token: 0x0400B491 RID: 46225 [Token(Token = "0x400B491")] private const float MPJMEKMGFCJ = 50f; // Token: 0x0400B492 RID: 46226 [global::Cpp2IlInjected.FieldOffset(Offset = "0x2E8")] [Token(Token = "0x400B492")] [SerializeField] [Header("Burst")] private BurstFireGun.CDKPGNAAAGK burstMode; // Token: 0x0400B493 RID: 46227 [global::Cpp2IlInjected.FieldOffset(Offset = "0x2F0")] [Token(Token = "0x400B493")] [SerializeField] [Header("Kickback")] private Transform kickbackTransform; // Token: 0x0400B494 RID: 46228 [global::Cpp2IlInjected.FieldOffset(Offset = "0x2F8")] [Token(Token = "0x400B494")] [SerializeField] private float totalBurstAngle = 5f; // Token: 0x0400B495 RID: 46229 [global::Cpp2IlInjected.FieldOffset(Offset = "0x2FC")] [Token(Token = "0x400B495")] private float PFOJFHAAFJJ = 0.25f; // Token: 0x0400B496 RID: 46230 [global::Cpp2IlInjected.FieldOffset(Offset = "0x300")] [Token(Token = "0x400B496")] [SerializeField] private float curveNextShotTimeNormalized = 0.75f; // Token: 0x0400B497 RID: 46231 [global::Cpp2IlInjected.FieldOffset(Offset = "0x304")] [Token(Token = "0x400B497")] [SerializeField] [Header("Simple Burst")] private float simpleBurstModeBurstSize = 16f; // Token: 0x0400B498 RID: 46232 [global::Cpp2IlInjected.FieldOffset(Offset = "0x308")] [Token(Token = "0x400B498")] [SerializeField] [Header("Spray")] private bool hasMaxDistance; // Token: 0x0400B499 RID: 46233 [global::Cpp2IlInjected.FieldOffset(Offset = "0x30C")] [Token(Token = "0x400B499")] [SerializeField] private float maxDistance = 50f; // Token: 0x0400B49A RID: 46234 [global::Cpp2IlInjected.FieldOffset(Offset = "0x310")] [Token(Token = "0x400B49A")] [SerializeField] private Transform sprayTargetRoot; // Token: 0x0400B49B RID: 46235 [global::Cpp2IlInjected.FieldOffset(Offset = "0x318")] [Token(Token = "0x400B49B")] private Transform[] NGFEFMLCMJA; // Token: 0x0400B49C RID: 46236 [global::Cpp2IlInjected.FieldOffset(Offset = "0x320")] [Token(Token = "0x400B49C")] private Coroutine EHFGNPNDAIN; // Token: 0x0400B49D RID: 46237 [global::Cpp2IlInjected.FieldOffset(Offset = "0x328")] [Token(Token = "0x400B49D")] private Coroutine BKMBBGMFGEM; // Token: 0x02002657 RID: 9815 [Token(Token = "0x2002657")] private enum CDKPGNAAAGK { // Token: 0x0400B49F RID: 46239 [Token(Token = "0x400B49F")] SPRAY, // Token: 0x0400B4A0 RID: 46240 [Token(Token = "0x400B4A0")] SIMPLE } } }