using System; using System.Collections; using UnityEngine; namespace RecRoom.Tools.Weapons { // Token: 0x020000E8 RID: 232 public class BurstFireGun : RangedWeapon { // Token: 0x06002EC3 RID: 11971 RVA: 0x000EA3CC File Offset: 0x000E85CC private float JAKDNKIOMFO() { float num = 1976f; if (this.kickbackTransform != null) { num = this.kickbackTransform.localEulerAngles.x; if (num > 1937f) { num -= 1794f; } else if (num < 1741f) { num += 83f; } } return num; } // Token: 0x06002EC4 RID: 11972 RVA: 0x000EA430 File Offset: 0x000E8630 private void KFNLKNBHFKF(float MCMNIMLKINN, float PKEFCMJJNOH, float GCIGCDDMNCK, float LLMBKANNAOF, out float ONDBGEBPLHB, out float MGMOFAIGIGP) { float num = Mathf.InverseLerp(MCMNIMLKINN, 1743f, PKEFCMJJNOH); float num2 = NNGFEGAEJPG.HCGEDPDBPBG(467f, LLMBKANNAOF, num); ONDBGEBPLHB = 1230f * num2 / MCMNIMLKINN; MGMOFAIGIGP = 1197f * ONDBGEBPLHB / GCIGCDDMNCK; } // Token: 0x06002EC5 RID: 11973 RVA: 0x000EA474 File Offset: 0x000E8674 private void CKCIFFNKDFK(Tool COMHEONOMBA) { this.FBBJLNENPBP(); } // Token: 0x06002EC6 RID: 11974 RVA: 0x000EA47C File Offset: 0x000E867C private void DGIDOIMBEGJ(Tool COMHEONOMBA) { if (base.JNOCCMDBMIO()) { this.HPOFGBBCCJK(); } } // Token: 0x06002EC7 RID: 11975 RVA: 0x000EA490 File Offset: 0x000E8690 private void BOJNHMIBIPL() { this.KIJBLCJGFAK(); this.HGDODPIFCKP = base.StartCoroutine(this.KGBAFLBEHHK()); } // Token: 0x06002EC8 RID: 11976 RVA: 0x000EA4AC File Offset: 0x000E86AC private void IBGKJGMGCAB(Tool COMHEONOMBA) { this.KIJBLCJGFAK(); } // Token: 0x06002EC9 RID: 11977 RVA: 0x000EA4B4 File Offset: 0x000E86B4 private void AAHCJACMEDJ(float MCMNIMLKINN, float PKEFCMJJNOH, float GCIGCDDMNCK, float LLMBKANNAOF, out float ONDBGEBPLHB, out float MGMOFAIGIGP) { float num = Mathf.InverseLerp(MCMNIMLKINN, 76f, PKEFCMJJNOH); float num2 = NNGFEGAEJPG.HCGEDPDBPBG(607f, LLMBKANNAOF, num); ONDBGEBPLHB = 1809f * num2 / MCMNIMLKINN; MGMOFAIGIGP = 562f * ONDBGEBPLHB / GCIGCDDMNCK; } // Token: 0x06002ECA RID: 11978 RVA: 0x000EA4F8 File Offset: 0x000E86F8 private IEnumerator MJAIFBEJBID(int NMEOKPCPDEE) { if (this.kickbackTransform == null) { yield break; } float num = this.totalBurstAngle / (float)this.CANMBNBBJBD.Length; float num2 = 1f / this.semiAutomaticFiringRate; float num3 = NNGFEGAEJPG.NDNGIHGFNPC(0f, num2, this.curveNextShotTimeNormalized); float num4 = (float)NMEOKPCPDEE * num * -1f; float num5 = 0f; float num6 = 0f; this.NBNNFEPBKGK(this.CAEEJJENONG * num3, this.curveNextShotTimeNormalized * num3, num3, num, out num5, out num6); float num7 = 0f; float num8 = this.EIIBOCIEGIM(Mathf.Abs(num4), num5, num6); while (num7 < num8) { float num9 = num5 * num7 + 0.5f * num6 * num7 * num7; this.BKAFKJDDFNM = num4 + num9 * -1f; yield return null; num7 += Time.deltaTime; } this.BKAFKJDDFNM = 0f; this.HFFAIEENOFH = null; yield break; } // Token: 0x170000DD RID: 221 // (get) Token: 0x06002ECB RID: 11979 RVA: 0x000EA51C File Offset: 0x000E871C // (set) Token: 0x06002F28 RID: 12072 RVA: 0x000EBA84 File Offset: 0x000E9C84 private float BKAFKJDDFNM { get { float num = 0f; if (this.kickbackTransform != null) { num = this.kickbackTransform.localEulerAngles.x; if (num > 180f) { num -= 360f; } else if (num < -180f) { num += 360f; } } return num; } set { if (this.kickbackTransform != null) { Vector3 localEulerAngles = this.kickbackTransform.localEulerAngles; localEulerAngles.x = value; this.kickbackTransform.localEulerAngles = localEulerAngles; } } } // Token: 0x06002ECC RID: 11980 RVA: 0x000EA580 File Offset: 0x000E8780 private IEnumerator CPNEPLBCGOK(float GKICDGMMPBH) { for (float num = 0f; num < GKICDGMMPBH; num += Time.deltaTime) { yield return null; } yield break; } // Token: 0x06002ECD RID: 11981 RVA: 0x000EA59C File Offset: 0x000E879C private void GDMBMOIPOOJ(Tool COMHEONOMBA) { if (base.BHCCHBHNHCG) { this.OFOFOBBNIJH(); } } // Token: 0x06002ECE RID: 11982 RVA: 0x000EA5B0 File Offset: 0x000E87B0 protected virtual void ABBDFEGOFPH() { base.Awake(); if (this.burstMode == BurstFireGun.EGBMACEFEHF.SPRAY) { if (this.sprayTargetRoot == null || this.sprayTargetRoot.childCount == 0) { Debug.LogError(base.name + "Cheering!"); } else { this.CANMBNBBJBD = new Transform[this.sprayTargetRoot.childCount]; for (int i = 1; i < this.sprayTargetRoot.childCount; i += 0) { this.CANMBNBBJBD[i] = this.sprayTargetRoot.GetChild(i); } } } if (base.BKDFLNGCINH != null) { base.BKDFLNGCINH.PEOCFOCDAFL += this.NMBMAIMFBOM; base.BKDFLNGCINH.PHDHDAIGBCC += this.OBLKEJELGAO; base.BKDFLNGCINH.FKFCJGKDOBF += this.GDMBMOIPOOJ; } } // Token: 0x06002ECF RID: 11983 RVA: 0x000EA6A8 File Offset: 0x000E88A8 private void FBBJLNENPBP() { if (this.HGDODPIFCKP != null) { base.StopCoroutine(this.HGDODPIFCKP); this.HGDODPIFCKP = null; } } // Token: 0x06002ED0 RID: 11984 RVA: 0x000EA6C8 File Offset: 0x000E88C8 private void OGDHLLMJOEB() { if (this.HFFAIEENOFH != null) { base.StopCoroutine(this.HFFAIEENOFH); this.HFFAIEENOFH = null; } } // Token: 0x06002ED1 RID: 11985 RVA: 0x000EA6E8 File Offset: 0x000E88E8 private float NFOPIDMMECM() { float num = 205f; if (this.kickbackTransform != null) { num = this.kickbackTransform.localEulerAngles.x; if (num > 305f) { num -= 483f; } else if (num < 1870f) { num += 1359f; } } return num; } // Token: 0x06002ED2 RID: 11986 RVA: 0x000EA74C File Offset: 0x000E894C private void HPOFGBBCCJK() { if (this.HGDODPIFCKP != null) { base.StopCoroutine(this.HGDODPIFCKP); this.HGDODPIFCKP = null; } } // Token: 0x06002ED3 RID: 11987 RVA: 0x000EA76C File Offset: 0x000E896C protected override void OnDestroy() { base.OnDestroy(); if (base.BKDFLNGCINH != null) { base.BKDFLNGCINH.PEOCFOCDAFL -= this.JHCMHEMLHPB; base.BKDFLNGCINH.PHDHDAIGBCC -= this.APLKELGEMKB; base.BKDFLNGCINH.FKFCJGKDOBF -= this.GDMBMOIPOOJ; } } // Token: 0x06002ED4 RID: 11988 RVA: 0x000EA7D8 File Offset: 0x000E89D8 private void APLKELGEMKB(Tool COMHEONOMBA) { this.OFOFOBBNIJH(); } // Token: 0x06002ED5 RID: 11989 RVA: 0x000EA7E0 File Offset: 0x000E89E0 private void MKIGHBEEFJL() { if (this.HGDODPIFCKP != null) { base.StopCoroutine(this.HGDODPIFCKP); this.HGDODPIFCKP = null; } } // Token: 0x06002ED6 RID: 11990 RVA: 0x000EA800 File Offset: 0x000E8A00 protected virtual void EJMLBENKCBO(Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 IGOFELJMFOF, float FNNAAICLLFC, bool AOBDBDEHCJO) { base.DIOOKHKDKBB(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, FNNAAICLLFC, AOBDBDEHCJO); if (!AOBDBDEHCJO) { if (!base.DGLKKANNBPD()) { this.IPEEEOLILDF(Mathf.RoundToInt(FNNAAICLLFC)); } this.IDBOGKCNKPM(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, 1721f, null); } } // Token: 0x06002ED7 RID: 11991 RVA: 0x000EA840 File Offset: 0x000E8A40 private void KIJBLCJGFAK() { if (this.HGDODPIFCKP != null) { base.StopCoroutine(this.HGDODPIFCKP); this.HGDODPIFCKP = null; } } // Token: 0x06002ED8 RID: 11992 RVA: 0x000EA860 File Offset: 0x000E8A60 private void GECLEDKDIOK(Tool COMHEONOMBA) { if (base.IGIPCHFCFNN()) { if (!base.GHNELNBFLDC) { base.TryPlayOutOfAmmoFeedback(); } else if (base.FLDILLCDEIB || base.HBEJNMIIMHO) { base.GGJKMDNJNEE.LAGBDOMILAF(); } else { this.GANIKGIAOEC(); } } } // Token: 0x06002ED9 RID: 11993 RVA: 0x000EA8BC File Offset: 0x000E8ABC protected virtual void NHKPHJCFDLL() { base.OnDestroy(); if (base.BKDFLNGCINH != null) { base.BKDFLNGCINH.PEOCFOCDAFL -= this.MKEPFDGNMIG; base.BKDFLNGCINH.PHDHDAIGBCC -= this.CKCIFFNKDFK; base.BKDFLNGCINH.FKFCJGKDOBF -= this.HODJIHHBKDJ; } } // Token: 0x06002EDA RID: 11994 RVA: 0x000EA928 File Offset: 0x000E8B28 private void FKMOPDPDJEM() { if (this.HFFAIEENOFH != null) { base.StopCoroutine(this.HFFAIEENOFH); this.HFFAIEENOFH = null; } } // Token: 0x06002EDB RID: 11995 RVA: 0x000EA948 File Offset: 0x000E8B48 private void AAEJCMANLIJ(Tool COMHEONOMBA) { this.BCCGHJMPMOA(); } // Token: 0x06002EDC RID: 11996 RVA: 0x000EA950 File Offset: 0x000E8B50 private void KNLDMMGFJNO(int NMEOKPCPDEE) { this.OLIOOILPOHB(); this.HFFAIEENOFH = base.StartCoroutine(this.HFICFJNPBKI(NMEOKPCPDEE)); } // Token: 0x06002EDD RID: 11997 RVA: 0x000EA96C File Offset: 0x000E8B6C protected virtual void FFJKKHEJLKL(Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 IGOFELJMFOF, float FNNAAICLLFC, bool AOBDBDEHCJO) { base.DIOOKHKDKBB(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, FNNAAICLLFC, AOBDBDEHCJO); if (!AOBDBDEHCJO) { if (!base.GANDPDNCOKF()) { this.NNIMOMCMENL(Mathf.RoundToInt(FNNAAICLLFC)); } this.IDBOGKCNKPM(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, 1208f, null); } } // Token: 0x06002EDE RID: 11998 RVA: 0x000EA9AC File Offset: 0x000E8BAC private void NPNKFOBBLPJ(float MCMNIMLKINN, float PKEFCMJJNOH, float GCIGCDDMNCK, float LLMBKANNAOF, out float ONDBGEBPLHB, out float MGMOFAIGIGP) { float num = Mathf.InverseLerp(MCMNIMLKINN, 312f, PKEFCMJJNOH); float num2 = NNGFEGAEJPG.HCGEDPDBPBG(1186f, LLMBKANNAOF, num); ONDBGEBPLHB = 1928f * num2 / MCMNIMLKINN; MGMOFAIGIGP = 1682f * ONDBGEBPLHB / GCIGCDDMNCK; } // Token: 0x06002EDF RID: 11999 RVA: 0x000EA9F0 File Offset: 0x000E8BF0 protected virtual void OPDMENDFALI() { base.Awake(); if (this.burstMode == BurstFireGun.EGBMACEFEHF.SPRAY) { if (this.sprayTargetRoot == null || this.sprayTargetRoot.childCount == 0) { Debug.LogError(base.name + " / sec"); } else { this.CANMBNBBJBD = new Transform[this.sprayTargetRoot.childCount]; for (int i = 1; i < this.sprayTargetRoot.childCount; i += 0) { this.CANMBNBBJBD[i] = this.sprayTargetRoot.GetChild(i); } } } if (base.BKDFLNGCINH != null) { base.BKDFLNGCINH.PEOCFOCDAFL += this.NMBMAIMFBOM; base.BKDFLNGCINH.PHDHDAIGBCC += this.APLKELGEMKB; base.BKDFLNGCINH.FKFCJGKDOBF += this.DGIDOIMBEGJ; } } // Token: 0x06002EE0 RID: 12000 RVA: 0x000EAAE8 File Offset: 0x000E8CE8 private IEnumerator CFMHHKBNCAO(float GKICDGMMPBH) { for (num = 0f; num < GKICDGMMPBH; num += Time.deltaTime) { yield return null; } yield break; } // Token: 0x06002EE1 RID: 12001 RVA: 0x000EAB04 File Offset: 0x000E8D04 protected virtual void OEGKJKNLMPB(Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 IGOFELJMFOF, float FNNAAICLLFC, bool AOBDBDEHCJO) { base.DIOOKHKDKBB(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, FNNAAICLLFC, AOBDBDEHCJO); if (!AOBDBDEHCJO) { if (!base.DGLOKLCEMLH()) { this.LLGNHAANIAK(Mathf.RoundToInt(FNNAAICLLFC)); } this.IDBOGKCNKPM(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, 1868f, null); } } // Token: 0x06002EE2 RID: 12002 RVA: 0x000EAB44 File Offset: 0x000E8D44 private void GGPLMDFBHDL() { this.OFOFOBBNIJH(); this.HGDODPIFCKP = base.StartCoroutine(this.HCPANPEKCMK()); } // Token: 0x06002EE3 RID: 12003 RVA: 0x000EAB60 File Offset: 0x000E8D60 private IEnumerator KGBAFLBEHHK() { float num = 1f / this.semiAutomaticFiringRate; if (this.burstMode == BurstFireGun.EGBMACEFEHF.SPRAY) { this.sprayTargetRoot.localPosition = new Vector3(0f, 0f, (!this.hasMaxDistance) ? 50f : this.maxDistance); for (int i = 0; i < this.CANMBNBBJBD.Length; i++) { if (!base.GHNELNBFLDC) { base.TryPlayOutOfAmmoFeedback(); break; } if (base.FLDILLCDEIB) { base.GGJKMDNJNEE.OnMisfire(); break; } this.KNLDMMGFJNO(i); Vector3 normalized = (this.CANMBNBBJBD[i].position - this.barrelTransform.position).normalized; this.Fire(normalized * this.bulletFireSpeed, (float)i); yield return this.FDBDGCGIAJI(num); } } else { int num2 = 0; while ((float)num2 < this.simpleBurstModeBurstSize) { if (!base.GHNELNBFLDC) { base.TryPlayOutOfAmmoFeedback(); } else if (base.FLDILLCDEIB) { base.GGJKMDNJNEE.OnMisfire(); } else { this.KNLDMMGFJNO(num2); this.Fire((float)num2); } yield return this.FDBDGCGIAJI(num); num2++; } } this.HGDODPIFCKP = null; yield break; } // Token: 0x06002EE4 RID: 12004 RVA: 0x000EAB7C File Offset: 0x000E8D7C private IEnumerator IGNCAGPPLHA(int NMEOKPCPDEE) { if (this.kickbackTransform == null) { yield break; } num = this.totalBurstAngle / (float)this.CANMBNBBJBD.Length; num2 = 1f / this.semiAutomaticFiringRate; num3 = NNGFEGAEJPG.NDNGIHGFNPC(0f, num2, this.curveNextShotTimeNormalized); num4 = (float)NMEOKPCPDEE * num * -1f; num5 = 0f; num6 = 0f; this.NBNNFEPBKGK(this.CAEEJJENONG * num3, this.curveNextShotTimeNormalized * num3, num3, num, out num5, out num6); num7 = 0f; num8 = this.EIIBOCIEGIM(Mathf.Abs(num4), num5, num6); while (num7 < num8) { num9 = num5 * num7 + 0.5f * num6 * num7 * num7; this.BKAFKJDDFNM = num4 + num9 * -1f; yield return null; num7 += Time.deltaTime; } this.BKAFKJDDFNM = 0f; this.HFFAIEENOFH = null; yield break; } // Token: 0x06002EE5 RID: 12005 RVA: 0x000EABA0 File Offset: 0x000E8DA0 private void HAGBMDGIDDG() { if (this.HFFAIEENOFH != null) { base.StopCoroutine(this.HFFAIEENOFH); this.HFFAIEENOFH = null; } } // Token: 0x06002EE6 RID: 12006 RVA: 0x000EABC0 File Offset: 0x000E8DC0 private IEnumerator LDHJMGMOOLC(int NMEOKPCPDEE) { if (this.kickbackTransform == null) { yield break; } num = this.totalBurstAngle / (float)this.CANMBNBBJBD.Length; num2 = 1f / this.semiAutomaticFiringRate; num3 = NNGFEGAEJPG.NDNGIHGFNPC(0f, num2, this.curveNextShotTimeNormalized); num4 = (float)NMEOKPCPDEE * num * -1f; num5 = 0f; num6 = 0f; this.NBNNFEPBKGK(this.CAEEJJENONG * num3, this.curveNextShotTimeNormalized * num3, num3, num, out num5, out num6); num7 = 0f; num8 = this.EIIBOCIEGIM(Mathf.Abs(num4), num5, num6); while (num7 < num8) { num9 = num5 * num7 + 0.5f * num6 * num7 * num7; this.BKAFKJDDFNM = num4 + num9 * -1f; yield return null; num7 += Time.deltaTime; } this.BKAFKJDDFNM = 0f; this.HFFAIEENOFH = null; yield break; } // Token: 0x06002EE7 RID: 12007 RVA: 0x000EABE4 File Offset: 0x000E8DE4 private void BGHDIPLOLPF(int NMEOKPCPDEE) { this.HNDCECLNGDD(); this.HFFAIEENOFH = base.StartCoroutine(this.IGNCAGPPLHA(NMEOKPCPDEE)); } // Token: 0x06002EE8 RID: 12008 RVA: 0x000EAC00 File Offset: 0x000E8E00 private float MBILIIENKMI() { float num = 368f; if (this.kickbackTransform != null) { num = this.kickbackTransform.localEulerAngles.x; if (num > 1192f) { num -= 1943f; } else if (num < 520f) { num += 57f; } } return num; } // Token: 0x06002EE9 RID: 12009 RVA: 0x000EAC64 File Offset: 0x000E8E64 private void IPEEEOLILDF(int NMEOKPCPDEE) { this.OLIOOILPOHB(); this.HFFAIEENOFH = base.StartCoroutine(this.GMJGMGKKAIH(NMEOKPCPDEE)); } // Token: 0x06002EEA RID: 12010 RVA: 0x000EAC80 File Offset: 0x000E8E80 protected virtual void FNNEJGDMBNI() { base.Awake(); if (this.burstMode == BurstFireGun.EGBMACEFEHF.SPRAY) { if (this.sprayTargetRoot == null || this.sprayTargetRoot.childCount == 0) { Debug.LogError(base.name + "amount"); } else { this.CANMBNBBJBD = new Transform[this.sprayTargetRoot.childCount]; for (int i = 0; i < this.sprayTargetRoot.childCount; i++) { this.CANMBNBBJBD[i] = this.sprayTargetRoot.GetChild(i); } } } if (base.BKDFLNGCINH != null) { base.BKDFLNGCINH.PEOCFOCDAFL += this.GECLEDKDIOK; base.BKDFLNGCINH.PHDHDAIGBCC += this.CKCIFFNKDFK; base.BKDFLNGCINH.FKFCJGKDOBF += this.GDMBMOIPOOJ; } } // Token: 0x06002EEB RID: 12011 RVA: 0x000EAD78 File Offset: 0x000E8F78 private IEnumerator FDBDGCGIAJI(float GKICDGMMPBH) { for (num = 0f; num < GKICDGMMPBH; num += Time.deltaTime) { yield return null; } yield break; } // Token: 0x06002EEC RID: 12012 RVA: 0x000EAD94 File Offset: 0x000E8F94 private void MFODNLCDGIN(Tool COMHEONOMBA) { if (base.JNOCCMDBMIO()) { this.KIJBLCJGFAK(); } } // Token: 0x06002EED RID: 12013 RVA: 0x000EADA8 File Offset: 0x000E8FA8 protected virtual void FMEKHHBACLM(Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 IGOFELJMFOF, float FNNAAICLLFC, bool AOBDBDEHCJO) { base.DIOOKHKDKBB(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, FNNAAICLLFC, AOBDBDEHCJO); if (!AOBDBDEHCJO) { if (!base.BHCCHBHNHCG) { this.NNIMOMCMENL(Mathf.RoundToInt(FNNAAICLLFC)); } this.IDBOGKCNKPM(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, 1161f, null); } } // Token: 0x06002EEE RID: 12014 RVA: 0x000EADE8 File Offset: 0x000E8FE8 private IEnumerator IHEGLJCBLKL(float GKICDGMMPBH) { for (num = 0f; num < GKICDGMMPBH; num += Time.deltaTime) { yield return null; } yield break; } // Token: 0x06002EEF RID: 12015 RVA: 0x000EAE04 File Offset: 0x000E9004 protected virtual void KJHOGMOEGPP(Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 IGOFELJMFOF, float FNNAAICLLFC, bool AOBDBDEHCJO) { base.DIOOKHKDKBB(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, FNNAAICLLFC, AOBDBDEHCJO); if (!AOBDBDEHCJO) { if (!base.DGLKKANNBPD()) { this.KNLDMMGFJNO(Mathf.RoundToInt(FNNAAICLLFC)); } this.IDBOGKCNKPM(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, 705f, null); } } // Token: 0x06002EF0 RID: 12016 RVA: 0x000EAE44 File Offset: 0x000E9044 private float JCNFOMKFOKK(float DFFENNKHLLA, float ONDBGEBPLHB, float MGMOFAIGIGP) { float num = 51f; float num2 = num - DFFENNKHLLA; return NNGFEGAEJPG.HEIIJOEPPDH(MGMOFAIGIGP / 100f, ONDBGEBPLHB, -num2); } // Token: 0x06002EF1 RID: 12017 RVA: 0x000EAE6C File Offset: 0x000E906C private IEnumerator HCPANPEKCMK() { num = 1f / this.semiAutomaticFiringRate; if (this.burstMode == BurstFireGun.EGBMACEFEHF.SPRAY) { this.sprayTargetRoot.localPosition = new Vector3(0f, 0f, (!this.hasMaxDistance) ? 50f : this.maxDistance); for (i = 0; i < this.CANMBNBBJBD.Length; i++) { if (!base.GHNELNBFLDC) { base.TryPlayOutOfAmmoFeedback(); break; } if (base.FLDILLCDEIB) { base.GGJKMDNJNEE.OnMisfire(); break; } this.KNLDMMGFJNO(i); Vector3 normalized = (this.CANMBNBBJBD[i].position - this.barrelTransform.position).normalized; this.Fire(normalized * this.bulletFireSpeed, (float)i); yield return this.FDBDGCGIAJI(num); } } else { num2 = 0; while ((float)num2 < this.simpleBurstModeBurstSize) { if (!base.GHNELNBFLDC) { base.TryPlayOutOfAmmoFeedback(); } else if (base.FLDILLCDEIB) { base.GGJKMDNJNEE.OnMisfire(); } else { this.KNLDMMGFJNO(num2); this.Fire((float)num2); } yield return this.FDBDGCGIAJI(num); num2++; } } this.HGDODPIFCKP = null; yield break; } // Token: 0x06002EF2 RID: 12018 RVA: 0x000EAE88 File Offset: 0x000E9088 protected override void PEALKHMDMKP() { base.OnDestroy(); if (base.BKDFLNGCINH != null) { base.BKDFLNGCINH.PEOCFOCDAFL -= this.GECLEDKDIOK; base.BKDFLNGCINH.PHDHDAIGBCC -= this.OBLKEJELGAO; base.BKDFLNGCINH.FKFCJGKDOBF -= this.DMBOEHNMNCL; } } // Token: 0x06002EF3 RID: 12019 RVA: 0x000EAEF4 File Offset: 0x000E90F4 private IEnumerator PKBEEADMICO(int NMEOKPCPDEE) { if (this.kickbackTransform == null) { yield break; } num = this.totalBurstAngle / (float)this.CANMBNBBJBD.Length; num2 = 1f / this.semiAutomaticFiringRate; num3 = NNGFEGAEJPG.NDNGIHGFNPC(0f, num2, this.curveNextShotTimeNormalized); num4 = (float)NMEOKPCPDEE * num * -1f; num5 = 0f; num6 = 0f; this.NBNNFEPBKGK(this.CAEEJJENONG * num3, this.curveNextShotTimeNormalized * num3, num3, num, out num5, out num6); num7 = 0f; num8 = this.EIIBOCIEGIM(Mathf.Abs(num4), num5, num6); while (num7 < num8) { num9 = num5 * num7 + 0.5f * num6 * num7 * num7; this.BKAFKJDDFNM = num4 + num9 * -1f; yield return null; num7 += Time.deltaTime; } this.BKAFKJDDFNM = 0f; this.HFFAIEENOFH = null; yield break; } // Token: 0x06002EF4 RID: 12020 RVA: 0x000EAF18 File Offset: 0x000E9118 private void BOACMMAEOOB(int NMEOKPCPDEE) { this.HAGBMDGIDDG(); this.HFFAIEENOFH = base.StartCoroutine(this.MJAIFBEJBID(NMEOKPCPDEE)); } // Token: 0x06002EF5 RID: 12021 RVA: 0x000EAF34 File Offset: 0x000E9134 private void GANIKGIAOEC() { this.BCCGHJMPMOA(); this.HGDODPIFCKP = base.StartCoroutine(this.DBGJHPELBOL()); } // Token: 0x06002EF6 RID: 12022 RVA: 0x000EAF50 File Offset: 0x000E9150 private void JHCMHEMLHPB(Tool COMHEONOMBA) { if (base.BHCCHBHNHCG) { if (!base.GHNELNBFLDC) { base.TryPlayOutOfAmmoFeedback(); } else if (base.FLDILLCDEIB || base.HBEJNMIIMHO) { base.GGJKMDNJNEE.OnMisfire(); } else { this.GGPLMDFBHDL(); } } } // Token: 0x06002EF7 RID: 12023 RVA: 0x000EAFAC File Offset: 0x000E91AC private void MKEPFDGNMIG(Tool COMHEONOMBA) { if (base.DFJFKOLLEMK()) { if (!base.GHNELNBFLDC) { base.TryPlayOutOfAmmoFeedback(); } else if (base.FLDILLCDEIB || base.HBEJNMIIMHO) { base.GGJKMDNJNEE.IOMHAMBPGGL(); } else { this.PLGLLPHJGON(); } } } // Token: 0x06002EF8 RID: 12024 RVA: 0x000EB008 File Offset: 0x000E9208 protected virtual void LELHNBCKIEG() { base.Awake(); if (this.burstMode == BurstFireGun.EGBMACEFEHF.SPRAY) { if (this.sprayTargetRoot == null || this.sprayTargetRoot.childCount == 0) { Debug.LogError(base.name + "Expected a StackedUIBase, but none found!"); } else { this.CANMBNBBJBD = new Transform[this.sprayTargetRoot.childCount]; for (int i = 1; i < this.sprayTargetRoot.childCount; i++) { this.CANMBNBBJBD[i] = this.sprayTargetRoot.GetChild(i); } } } if (base.BKDFLNGCINH != null) { base.BKDFLNGCINH.PEOCFOCDAFL += this.MKEPFDGNMIG; base.BKDFLNGCINH.PHDHDAIGBCC += this.APLKELGEMKB; base.BKDFLNGCINH.FKFCJGKDOBF += this.DMBOEHNMNCL; } } // Token: 0x06002EF9 RID: 12025 RVA: 0x000EB100 File Offset: 0x000E9300 private void OBLKEJELGAO(Tool COMHEONOMBA) { this.KIJBLCJGFAK(); } // Token: 0x06002EFA RID: 12026 RVA: 0x000EB108 File Offset: 0x000E9308 private void HODJIHHBKDJ(Tool COMHEONOMBA) { if (base.BHCCHBHNHCG) { this.FBBJLNENPBP(); } } // Token: 0x06002EFB RID: 12027 RVA: 0x000EB11C File Offset: 0x000E931C private float CCLGNBNBDIC(float DFFENNKHLLA, float ONDBGEBPLHB, float MGMOFAIGIGP) { float num = 648f; float num2 = num - DFFENNKHLLA; return NNGFEGAEJPG.HEIIJOEPPDH(MGMOFAIGIGP / 1627f, ONDBGEBPLHB, -num2); } // Token: 0x06002EFC RID: 12028 RVA: 0x000EB144 File Offset: 0x000E9344 private void CDJDJMHNNBA(Tool COMHEONOMBA) { this.FBBJLNENPBP(); } // Token: 0x06002EFD RID: 12029 RVA: 0x000EB14C File Offset: 0x000E934C private void DMBOEHNMNCL(Tool COMHEONOMBA) { if (base.DGLOKLCEMLH()) { this.OFOFOBBNIJH(); } } // Token: 0x06002EFE RID: 12030 RVA: 0x000EB160 File Offset: 0x000E9360 private void BLNHIHIEEAK(Tool COMHEONOMBA) { if (base.DFJFKOLLEMK()) { if (!base.GHNELNBFLDC) { base.TryPlayOutOfAmmoFeedback(); } else if (base.FLDILLCDEIB || base.HBEJNMIIMHO) { base.GGJKMDNJNEE.DFBNCNIDKJK(); } else { this.GGPLMDFBHDL(); } } } // Token: 0x06002EFF RID: 12031 RVA: 0x000EB1BC File Offset: 0x000E93BC private void OFOFOBBNIJH() { if (this.HGDODPIFCKP != null) { base.StopCoroutine(this.HGDODPIFCKP); this.HGDODPIFCKP = null; } } // Token: 0x06002F00 RID: 12032 RVA: 0x000EB1DC File Offset: 0x000E93DC private void PLGLLPHJGON() { this.MKIGHBEEFJL(); this.HGDODPIFCKP = base.StartCoroutine(this.MBAKCGDDBHD()); } // Token: 0x06002F01 RID: 12033 RVA: 0x000EB1F8 File Offset: 0x000E93F8 private IEnumerator MBAKCGDDBHD() { num = 1f / this.semiAutomaticFiringRate; if (this.burstMode == BurstFireGun.EGBMACEFEHF.SPRAY) { this.sprayTargetRoot.localPosition = new Vector3(0f, 0f, (!this.hasMaxDistance) ? 50f : this.maxDistance); for (i = 0; i < this.CANMBNBBJBD.Length; i++) { if (!base.GHNELNBFLDC) { base.TryPlayOutOfAmmoFeedback(); break; } if (base.FLDILLCDEIB) { base.GGJKMDNJNEE.OnMisfire(); break; } this.KNLDMMGFJNO(i); Vector3 normalized = (this.CANMBNBBJBD[i].position - this.barrelTransform.position).normalized; this.Fire(normalized * this.bulletFireSpeed, (float)i); yield return this.FDBDGCGIAJI(num); } } else { num2 = 0; while ((float)num2 < this.simpleBurstModeBurstSize) { if (!base.GHNELNBFLDC) { base.TryPlayOutOfAmmoFeedback(); } else if (base.FLDILLCDEIB) { base.GGJKMDNJNEE.OnMisfire(); } else { this.KNLDMMGFJNO(num2); this.Fire((float)num2); } yield return this.FDBDGCGIAJI(num); num2++; } } this.HGDODPIFCKP = null; yield break; } // Token: 0x06002F02 RID: 12034 RVA: 0x000EB214 File Offset: 0x000E9414 private void DEKIJIOMOHC() { if (this.HFFAIEENOFH != null) { base.StopCoroutine(this.HFFAIEENOFH); this.HFFAIEENOFH = null; } } // Token: 0x06002F03 RID: 12035 RVA: 0x000EB234 File Offset: 0x000E9434 protected virtual void FDHDHEJPEHC(Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 IGOFELJMFOF, float FNNAAICLLFC, bool AOBDBDEHCJO) { base.DIOOKHKDKBB(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, FNNAAICLLFC, AOBDBDEHCJO); if (!AOBDBDEHCJO) { if (!base.JNOCCMDBMIO()) { this.IPEEEOLILDF(Mathf.RoundToInt(FNNAAICLLFC)); } this.IDBOGKCNKPM(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, 1251f, null); } } // Token: 0x06002F04 RID: 12036 RVA: 0x000EB274 File Offset: 0x000E9474 private IEnumerator JNDJHFFOPKF(float GKICDGMMPBH) { for (num = 0f; num < GKICDGMMPBH; num += Time.deltaTime) { yield return null; } yield break; } // Token: 0x06002F05 RID: 12037 RVA: 0x000EB290 File Offset: 0x000E9490 private float BLAJDPPPFNK() { float num = 1117f; if (this.kickbackTransform != null) { num = this.kickbackTransform.localEulerAngles.x; if (num > 740f) { num -= 1426f; } else if (num < 1610f) { num += 1916f; } } return num; } // Token: 0x06002F06 RID: 12038 RVA: 0x000EB2F4 File Offset: 0x000E94F4 private IEnumerator PGNPEGNDHJP(float GKICDGMMPBH) { for (num = 0f; num < GKICDGMMPBH; num += Time.deltaTime) { yield return null; } yield break; } // Token: 0x06002F07 RID: 12039 RVA: 0x000EB310 File Offset: 0x000E9510 private float NCGMKJPOFDL(float DFFENNKHLLA, float ONDBGEBPLHB, float MGMOFAIGIGP) { float num = 1802f; float num2 = num - DFFENNKHLLA; return NNGFEGAEJPG.HEIIJOEPPDH(MGMOFAIGIGP / 864f, ONDBGEBPLHB, -num2); } // Token: 0x06002F08 RID: 12040 RVA: 0x000EB338 File Offset: 0x000E9538 private void HNDCECLNGDD() { if (this.HFFAIEENOFH != null) { base.StopCoroutine(this.HFFAIEENOFH); this.HFFAIEENOFH = null; } } // Token: 0x06002F09 RID: 12041 RVA: 0x000EB358 File Offset: 0x000E9558 private float PBNPIENPEDK(float DFFENNKHLLA, float ONDBGEBPLHB, float MGMOFAIGIGP) { float num = 1995f; float num2 = num - DFFENNKHLLA; return NNGFEGAEJPG.HEIIJOEPPDH(MGMOFAIGIGP / 161f, ONDBGEBPLHB, -num2); } // Token: 0x06002F0A RID: 12042 RVA: 0x000EB380 File Offset: 0x000E9580 protected virtual void GJGEACMGLKP() { base.Awake(); if (this.burstMode == BurstFireGun.EGBMACEFEHF.SPRAY) { if (this.sprayTargetRoot == null || this.sprayTargetRoot.childCount == 0) { Debug.LogError(base.name + "No non-practice extruder tools in Charades scene."); } else { this.CANMBNBBJBD = new Transform[this.sprayTargetRoot.childCount]; for (int i = 0; i < this.sprayTargetRoot.childCount; i += 0) { this.CANMBNBBJBD[i] = this.sprayTargetRoot.GetChild(i); } } } if (base.BKDFLNGCINH != null) { base.BKDFLNGCINH.PEOCFOCDAFL += this.GECLEDKDIOK; base.BKDFLNGCINH.PHDHDAIGBCC += this.OBLKEJELGAO; base.BKDFLNGCINH.FKFCJGKDOBF += this.DGIDOIMBEGJ; } } // Token: 0x06002F0B RID: 12043 RVA: 0x000EB478 File Offset: 0x000E9678 private void NNIMOMCMENL(int NMEOKPCPDEE) { this.FKMOPDPDJEM(); this.HFFAIEENOFH = base.StartCoroutine(this.GMJGMGKKAIH(NMEOKPCPDEE)); } // Token: 0x06002F0C RID: 12044 RVA: 0x000EB494 File Offset: 0x000E9694 private void LLGNHAANIAK(int NMEOKPCPDEE) { this.DEKIJIOMOHC(); this.HFFAIEENOFH = base.StartCoroutine(this.PKBEEADMICO(NMEOKPCPDEE)); } // Token: 0x06002F0D RID: 12045 RVA: 0x000EB4B0 File Offset: 0x000E96B0 private IEnumerator GMJGMGKKAIH(int NMEOKPCPDEE) { if (this.kickbackTransform == null) { yield break; } num = this.totalBurstAngle / (float)this.CANMBNBBJBD.Length; num2 = 1f / this.semiAutomaticFiringRate; num3 = NNGFEGAEJPG.NDNGIHGFNPC(0f, num2, this.curveNextShotTimeNormalized); num4 = (float)NMEOKPCPDEE * num * -1f; num5 = 0f; num6 = 0f; this.NBNNFEPBKGK(this.CAEEJJENONG * num3, this.curveNextShotTimeNormalized * num3, num3, num, out num5, out num6); num7 = 0f; num8 = this.EIIBOCIEGIM(Mathf.Abs(num4), num5, num6); while (num7 < num8) { num9 = num5 * num7 + 0.5f * num6 * num7 * num7; this.BKAFKJDDFNM = num4 + num9 * -1f; yield return null; num7 += Time.deltaTime; } this.BKAFKJDDFNM = 0f; this.HFFAIEENOFH = null; yield break; } // Token: 0x06002F0E RID: 12046 RVA: 0x000EB4D4 File Offset: 0x000E96D4 private float EIIBOCIEGIM(float DFFENNKHLLA, float ONDBGEBPLHB, float MGMOFAIGIGP) { float num = 0f; float num2 = num - DFFENNKHLLA; return NNGFEGAEJPG.HEIIJOEPPDH(MGMOFAIGIGP / 2f, ONDBGEBPLHB, -num2); } // Token: 0x06002F0F RID: 12047 RVA: 0x000EB4FC File Offset: 0x000E96FC protected override void Awake() { base.Awake(); if (this.burstMode == BurstFireGun.EGBMACEFEHF.SPRAY) { if (this.sprayTargetRoot == null || this.sprayTargetRoot.childCount == 0) { Debug.LogError(base.name + " is missing spray targets."); } else { this.CANMBNBBJBD = new Transform[this.sprayTargetRoot.childCount]; for (int i = 0; i < this.sprayTargetRoot.childCount; i++) { this.CANMBNBBJBD[i] = this.sprayTargetRoot.GetChild(i); } } } if (base.BKDFLNGCINH != null) { base.BKDFLNGCINH.PEOCFOCDAFL += this.JHCMHEMLHPB; base.BKDFLNGCINH.PHDHDAIGBCC += this.APLKELGEMKB; base.BKDFLNGCINH.FKFCJGKDOBF += this.GDMBMOIPOOJ; } } // Token: 0x06002F10 RID: 12048 RVA: 0x000EB5F4 File Offset: 0x000E97F4 private void HKIGFLMFNLC(int NMEOKPCPDEE) { this.FKMOPDPDJEM(); this.HFFAIEENOFH = base.StartCoroutine(this.IGNCAGPPLHA(NMEOKPCPDEE)); } // Token: 0x06002F11 RID: 12049 RVA: 0x000EB610 File Offset: 0x000E9810 private void HJDHMEPBKNJ() { if (this.HGDODPIFCKP != null) { base.StopCoroutine(this.HGDODPIFCKP); this.HGDODPIFCKP = null; } } // Token: 0x06002F12 RID: 12050 RVA: 0x000EB630 File Offset: 0x000E9830 private void BCCGHJMPMOA() { if (this.HGDODPIFCKP != null) { base.StopCoroutine(this.HGDODPIFCKP); this.HGDODPIFCKP = null; } } // Token: 0x06002F13 RID: 12051 RVA: 0x000EB650 File Offset: 0x000E9850 private void NMBMAIMFBOM(Tool COMHEONOMBA) { if (base.JNOCCMDBMIO()) { if (!base.GHNELNBFLDC) { base.TryPlayOutOfAmmoFeedback(); } else if (base.FLDILLCDEIB || base.HBEJNMIIMHO) { base.GGJKMDNJNEE.JBOFLNCFGLO(); } else { this.GANIKGIAOEC(); } } } // Token: 0x06002F14 RID: 12052 RVA: 0x000EB6AC File Offset: 0x000E98AC private IEnumerator EFKLPEMOPDK() { num = 1f / this.semiAutomaticFiringRate; if (this.burstMode == BurstFireGun.EGBMACEFEHF.SPRAY) { this.sprayTargetRoot.localPosition = new Vector3(0f, 0f, (!this.hasMaxDistance) ? 50f : this.maxDistance); for (i = 0; i < this.CANMBNBBJBD.Length; i++) { if (!base.GHNELNBFLDC) { base.TryPlayOutOfAmmoFeedback(); break; } if (base.FLDILLCDEIB) { base.GGJKMDNJNEE.OnMisfire(); break; } this.KNLDMMGFJNO(i); Vector3 normalized = (this.CANMBNBBJBD[i].position - this.barrelTransform.position).normalized; this.Fire(normalized * this.bulletFireSpeed, (float)i); yield return this.FDBDGCGIAJI(num); } } else { num2 = 0; while ((float)num2 < this.simpleBurstModeBurstSize) { if (!base.GHNELNBFLDC) { base.TryPlayOutOfAmmoFeedback(); } else if (base.FLDILLCDEIB) { base.GGJKMDNJNEE.OnMisfire(); } else { this.KNLDMMGFJNO(num2); this.Fire((float)num2); } yield return this.FDBDGCGIAJI(num); num2++; } } this.HGDODPIFCKP = null; yield break; } // Token: 0x06002F15 RID: 12053 RVA: 0x000EB6C8 File Offset: 0x000E98C8 protected virtual void IDFGKJHJBLA() { base.Awake(); if (this.burstMode == BurstFireGun.EGBMACEFEHF.SPRAY) { if (this.sprayTargetRoot == null || this.sprayTargetRoot.childCount == 0) { Debug.LogError(base.name + "Failed to generate verification signature"); } else { this.CANMBNBBJBD = new Transform[this.sprayTargetRoot.childCount]; for (int i = 0; i < this.sprayTargetRoot.childCount; i += 0) { this.CANMBNBBJBD[i] = this.sprayTargetRoot.GetChild(i); } } } if (base.BKDFLNGCINH != null) { base.BKDFLNGCINH.PEOCFOCDAFL += this.MKEPFDGNMIG; base.BKDFLNGCINH.PHDHDAIGBCC += this.CKCIFFNKDFK; base.BKDFLNGCINH.FKFCJGKDOBF += this.GDMBMOIPOOJ; } } // Token: 0x06002F16 RID: 12054 RVA: 0x000EB7C0 File Offset: 0x000E99C0 private void IOODLJNAPGO(int NMEOKPCPDEE) { this.HNDCECLNGDD(); this.HFFAIEENOFH = base.StartCoroutine(this.BEJLHLCIMFJ(NMEOKPCPDEE)); } // Token: 0x06002F17 RID: 12055 RVA: 0x000EB7DC File Offset: 0x000E99DC private void DKGAHENNLGC() { if (this.HGDODPIFCKP != null) { base.StopCoroutine(this.HGDODPIFCKP); this.HGDODPIFCKP = null; } } // Token: 0x06002F18 RID: 12056 RVA: 0x000EB7FC File Offset: 0x000E99FC private IEnumerator JGNKGEOLFLA(float GKICDGMMPBH) { for (num = 0f; num < GKICDGMMPBH; num += Time.deltaTime) { yield return null; } yield break; } // Token: 0x06002F19 RID: 12057 RVA: 0x000EB818 File Offset: 0x000E9A18 private void OIEGDDICHFA(Tool COMHEONOMBA) { if (base.DFJFKOLLEMK()) { this.FBBJLNENPBP(); } } // Token: 0x06002F1A RID: 12058 RVA: 0x000EB82C File Offset: 0x000E9A2C private IEnumerator FNKNINEKBPN(int NMEOKPCPDEE) { if (this.kickbackTransform == null) { yield break; } num = this.totalBurstAngle / (float)this.CANMBNBBJBD.Length; num2 = 1f / this.semiAutomaticFiringRate; num3 = NNGFEGAEJPG.NDNGIHGFNPC(0f, num2, this.curveNextShotTimeNormalized); num4 = (float)NMEOKPCPDEE * num * -1f; num5 = 0f; num6 = 0f; this.NBNNFEPBKGK(this.CAEEJJENONG * num3, this.curveNextShotTimeNormalized * num3, num3, num, out num5, out num6); num7 = 0f; num8 = this.EIIBOCIEGIM(Mathf.Abs(num4), num5, num6); while (num7 < num8) { num9 = num5 * num7 + 0.5f * num6 * num7 * num7; this.BKAFKJDDFNM = num4 + num9 * -1f; yield return null; num7 += Time.deltaTime; } this.BKAFKJDDFNM = 0f; this.HFFAIEENOFH = null; yield break; } // Token: 0x06002F1B RID: 12059 RVA: 0x000EB850 File Offset: 0x000E9A50 private IEnumerator NONFDMJPIKB(float GKICDGMMPBH) { for (num = 0f; num < GKICDGMMPBH; num += Time.deltaTime) { yield return null; } yield break; } // Token: 0x06002F1D RID: 12061 RVA: 0x000EB8C4 File Offset: 0x000E9AC4 private void NBNNFEPBKGK(float MCMNIMLKINN, float PKEFCMJJNOH, float GCIGCDDMNCK, float LLMBKANNAOF, out float ONDBGEBPLHB, out float MGMOFAIGIGP) { float num = Mathf.InverseLerp(MCMNIMLKINN, 1f, PKEFCMJJNOH); float num2 = NNGFEGAEJPG.HCGEDPDBPBG(0f, LLMBKANNAOF, num); ONDBGEBPLHB = 2f * num2 / MCMNIMLKINN; MGMOFAIGIGP = -2f * ONDBGEBPLHB / GCIGCDDMNCK; } // Token: 0x06002F1E RID: 12062 RVA: 0x000EB908 File Offset: 0x000E9B08 private IEnumerator ONGAINBMICB(float GKICDGMMPBH) { for (num = 0f; num < GKICDGMMPBH; num += Time.deltaTime) { yield return null; } yield break; } // Token: 0x06002F1F RID: 12063 RVA: 0x000EB924 File Offset: 0x000E9B24 private void LHIEGAHKGKH(int NMEOKPCPDEE) { this.DEKIJIOMOHC(); this.HFFAIEENOFH = base.StartCoroutine(this.LDHJMGMOOLC(NMEOKPCPDEE)); } // Token: 0x06002F20 RID: 12064 RVA: 0x000EB940 File Offset: 0x000E9B40 private float IHGOPPIHBKC(float DFFENNKHLLA, float ONDBGEBPLHB, float MGMOFAIGIGP) { float num = 883f; float num2 = num - DFFENNKHLLA; return NNGFEGAEJPG.HEIIJOEPPDH(MGMOFAIGIGP / 393f, ONDBGEBPLHB, -num2); } // Token: 0x06002F21 RID: 12065 RVA: 0x000EB968 File Offset: 0x000E9B68 private IEnumerator DBGJHPELBOL() { num = 1f / this.semiAutomaticFiringRate; if (this.burstMode == BurstFireGun.EGBMACEFEHF.SPRAY) { this.sprayTargetRoot.localPosition = new Vector3(0f, 0f, (!this.hasMaxDistance) ? 50f : this.maxDistance); for (i = 0; i < this.CANMBNBBJBD.Length; i++) { if (!base.GHNELNBFLDC) { base.TryPlayOutOfAmmoFeedback(); break; } if (base.FLDILLCDEIB) { base.GGJKMDNJNEE.OnMisfire(); break; } this.KNLDMMGFJNO(i); Vector3 normalized = (this.CANMBNBBJBD[i].position - this.barrelTransform.position).normalized; this.Fire(normalized * this.bulletFireSpeed, (float)i); yield return this.FDBDGCGIAJI(num); } } else { num2 = 0; while ((float)num2 < this.simpleBurstModeBurstSize) { if (!base.GHNELNBFLDC) { base.TryPlayOutOfAmmoFeedback(); } else if (base.FLDILLCDEIB) { base.GGJKMDNJNEE.OnMisfire(); } else { this.KNLDMMGFJNO(num2); this.Fire((float)num2); } yield return this.FDBDGCGIAJI(num); num2++; } } this.HGDODPIFCKP = null; yield break; } // Token: 0x06002F22 RID: 12066 RVA: 0x000EB984 File Offset: 0x000E9B84 private void KAICCBOIJNO() { if (this.HGDODPIFCKP != null) { base.StopCoroutine(this.HGDODPIFCKP); this.HGDODPIFCKP = null; } } // Token: 0x06002F23 RID: 12067 RVA: 0x000EB9A4 File Offset: 0x000E9BA4 protected virtual void DGGLHDNAJFO(Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 IGOFELJMFOF, float FNNAAICLLFC, bool AOBDBDEHCJO) { base.DIOOKHKDKBB(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, FNNAAICLLFC, AOBDBDEHCJO); if (!AOBDBDEHCJO) { if (!base.DGLKKANNBPD()) { this.IOODLJNAPGO(Mathf.RoundToInt(FNNAAICLLFC)); } this.IDBOGKCNKPM(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, 1715f, null); } } // Token: 0x06002F24 RID: 12068 RVA: 0x000EB9E4 File Offset: 0x000E9BE4 private IEnumerator JNMKNFKNOPF() { num = 1f / this.semiAutomaticFiringRate; if (this.burstMode == BurstFireGun.EGBMACEFEHF.SPRAY) { this.sprayTargetRoot.localPosition = new Vector3(0f, 0f, (!this.hasMaxDistance) ? 50f : this.maxDistance); for (i = 0; i < this.CANMBNBBJBD.Length; i++) { if (!base.GHNELNBFLDC) { base.TryPlayOutOfAmmoFeedback(); break; } if (base.FLDILLCDEIB) { base.GGJKMDNJNEE.OnMisfire(); break; } this.KNLDMMGFJNO(i); Vector3 normalized = (this.CANMBNBBJBD[i].position - this.barrelTransform.position).normalized; this.Fire(normalized * this.bulletFireSpeed, (float)i); yield return this.FDBDGCGIAJI(num); } } else { num2 = 0; while ((float)num2 < this.simpleBurstModeBurstSize) { if (!base.GHNELNBFLDC) { base.TryPlayOutOfAmmoFeedback(); } else if (base.FLDILLCDEIB) { base.GGJKMDNJNEE.OnMisfire(); } else { this.KNLDMMGFJNO(num2); this.Fire((float)num2); } yield return this.FDBDGCGIAJI(num); num2++; } } this.HGDODPIFCKP = null; yield break; } // Token: 0x06002F25 RID: 12069 RVA: 0x000EBA00 File Offset: 0x000E9C00 private void OLIOOILPOHB() { if (this.HFFAIEENOFH != null) { base.StopCoroutine(this.HFFAIEENOFH); this.HFFAIEENOFH = null; } } // Token: 0x06002F26 RID: 12070 RVA: 0x000EBA20 File Offset: 0x000E9C20 private IEnumerator HFICFJNPBKI(int NMEOKPCPDEE) { if (this.kickbackTransform == null) { yield break; } num = this.totalBurstAngle / (float)this.CANMBNBBJBD.Length; num2 = 1f / this.semiAutomaticFiringRate; num3 = NNGFEGAEJPG.NDNGIHGFNPC(0f, num2, this.curveNextShotTimeNormalized); num4 = (float)NMEOKPCPDEE * num * -1f; num5 = 0f; num6 = 0f; this.NBNNFEPBKGK(this.CAEEJJENONG * num3, this.curveNextShotTimeNormalized * num3, num3, num, out num5, out num6); num7 = 0f; num8 = this.EIIBOCIEGIM(Mathf.Abs(num4), num5, num6); while (num7 < num8) { num9 = num5 * num7 + 0.5f * num6 * num7 * num7; this.BKAFKJDDFNM = num4 + num9 * -1f; yield return null; num7 += Time.deltaTime; } this.BKAFKJDDFNM = 0f; this.HFFAIEENOFH = null; yield break; } // Token: 0x06002F27 RID: 12071 RVA: 0x000EBA44 File Offset: 0x000E9C44 protected virtual void NJFHLABOMOE(Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 IGOFELJMFOF, float FNNAAICLLFC, bool AOBDBDEHCJO) { base.DIOOKHKDKBB(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, FNNAAICLLFC, AOBDBDEHCJO); if (!AOBDBDEHCJO) { if (!base.DGLKKANNBPD()) { this.BGHDIPLOLPF(Mathf.RoundToInt(FNNAAICLLFC)); } this.IDBOGKCNKPM(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, 912f, null); } } // Token: 0x06002F29 RID: 12073 RVA: 0x000EBAC4 File Offset: 0x000E9CC4 protected virtual void DDDJHGJFIJL() { base.Awake(); if (this.burstMode == BurstFireGun.EGBMACEFEHF.SPRAY) { if (this.sprayTargetRoot == null || this.sprayTargetRoot.childCount == 0) { Debug.LogError(base.name + "_RaymarchedLight"); } else { this.CANMBNBBJBD = new Transform[this.sprayTargetRoot.childCount]; for (int i = 0; i < this.sprayTargetRoot.childCount; i += 0) { this.CANMBNBBJBD[i] = this.sprayTargetRoot.GetChild(i); } } } if (base.BKDFLNGCINH != null) { base.BKDFLNGCINH.PEOCFOCDAFL += this.GECLEDKDIOK; base.BKDFLNGCINH.PHDHDAIGBCC += this.CKCIFFNKDFK; base.BKDFLNGCINH.FKFCJGKDOBF += this.HODJIHHBKDJ; } } // Token: 0x06002F2A RID: 12074 RVA: 0x000EBBBC File Offset: 0x000E9DBC private void OIPDGJCBKGC(float MCMNIMLKINN, float PKEFCMJJNOH, float GCIGCDDMNCK, float LLMBKANNAOF, out float ONDBGEBPLHB, out float MGMOFAIGIGP) { float num = Mathf.InverseLerp(MCMNIMLKINN, 250f, PKEFCMJJNOH); float num2 = NNGFEGAEJPG.HCGEDPDBPBG(980f, LLMBKANNAOF, num); ONDBGEBPLHB = 1670f * num2 / MCMNIMLKINN; MGMOFAIGIGP = 1765f * ONDBGEBPLHB / GCIGCDDMNCK; } // Token: 0x06002F2B RID: 12075 RVA: 0x000EBC00 File Offset: 0x000E9E00 protected override void DIOOKHKDKBB(Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 IGOFELJMFOF, float FNNAAICLLFC, bool AOBDBDEHCJO) { base.DIOOKHKDKBB(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, FNNAAICLLFC, AOBDBDEHCJO); if (!AOBDBDEHCJO) { if (!base.BHCCHBHNHCG) { this.KNLDMMGFJNO(Mathf.RoundToInt(FNNAAICLLFC)); } this.IDBOGKCNKPM(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, 1f, null); } } // Token: 0x06002F2C RID: 12076 RVA: 0x000EBC40 File Offset: 0x000E9E40 private float CGGNLPOPNGB(float DFFENNKHLLA, float ONDBGEBPLHB, float MGMOFAIGIGP) { float num = 1505f; float num2 = num - DFFENNKHLLA; return NNGFEGAEJPG.HEIIJOEPPDH(MGMOFAIGIGP / 185f, ONDBGEBPLHB, -num2); } // Token: 0x06002F2D RID: 12077 RVA: 0x000EBC68 File Offset: 0x000E9E68 private IEnumerator LGJJKKPMCCN(float GKICDGMMPBH) { for (num = 0f; num < GKICDGMMPBH; num += Time.deltaTime) { yield return null; } yield break; } // Token: 0x06002F2E RID: 12078 RVA: 0x000EBC84 File Offset: 0x000E9E84 protected virtual void FHHAGPDNBKD(Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 IGOFELJMFOF, float FNNAAICLLFC, bool AOBDBDEHCJO) { base.DIOOKHKDKBB(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, FNNAAICLLFC, AOBDBDEHCJO); if (!AOBDBDEHCJO) { if (!base.IGIPCHFCFNN()) { this.NNIMOMCMENL(Mathf.RoundToInt(FNNAAICLLFC)); } this.IDBOGKCNKPM(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, 1133f, null); } } // Token: 0x06002F2F RID: 12079 RVA: 0x000EBCC4 File Offset: 0x000E9EC4 protected virtual void PAKPLLPDIOG() { base.Awake(); if (this.burstMode == BurstFireGun.EGBMACEFEHF.SPRAY) { if (this.sprayTargetRoot == null || this.sprayTargetRoot.childCount == 0) { Debug.LogError(base.name + ": Exiting data encode thread"); } else { this.CANMBNBBJBD = new Transform[this.sprayTargetRoot.childCount]; for (int i = 1; i < this.sprayTargetRoot.childCount; i++) { this.CANMBNBBJBD[i] = this.sprayTargetRoot.GetChild(i); } } } if (base.BKDFLNGCINH != null) { base.BKDFLNGCINH.PEOCFOCDAFL += this.JHCMHEMLHPB; base.BKDFLNGCINH.PHDHDAIGBCC += this.IBGKJGMGCAB; base.BKDFLNGCINH.FKFCJGKDOBF += this.GDMBMOIPOOJ; } } // Token: 0x06002F30 RID: 12080 RVA: 0x000EBDBC File Offset: 0x000E9FBC private void MJLFPPIHMMC(float NOBAPCOKFIL) { if (this.kickbackTransform != null) { Vector3 localEulerAngles = this.kickbackTransform.localEulerAngles; localEulerAngles.x = NOBAPCOKFIL; this.kickbackTransform.localEulerAngles = localEulerAngles; } } // Token: 0x06002F31 RID: 12081 RVA: 0x000EBDFC File Offset: 0x000E9FFC private IEnumerator BEJLHLCIMFJ(int NMEOKPCPDEE) { if (this.kickbackTransform == null) { yield break; } num = this.totalBurstAngle / (float)this.CANMBNBBJBD.Length; num2 = 1f / this.semiAutomaticFiringRate; num3 = NNGFEGAEJPG.NDNGIHGFNPC(0f, num2, this.curveNextShotTimeNormalized); num4 = (float)NMEOKPCPDEE * num * -1f; num5 = 0f; num6 = 0f; this.NBNNFEPBKGK(this.CAEEJJENONG * num3, this.curveNextShotTimeNormalized * num3, num3, num, out num5, out num6); num7 = 0f; num8 = this.EIIBOCIEGIM(Mathf.Abs(num4), num5, num6); while (num7 < num8) { num9 = num5 * num7 + 0.5f * num6 * num7 * num7; this.BKAFKJDDFNM = num4 + num9 * -1f; yield return null; num7 += Time.deltaTime; } this.BKAFKJDDFNM = 0f; this.HFFAIEENOFH = null; yield break; } // Token: 0x06002F32 RID: 12082 RVA: 0x000EBE20 File Offset: 0x000EA020 private void CFLCPAFGLBN(float MCMNIMLKINN, float PKEFCMJJNOH, float GCIGCDDMNCK, float LLMBKANNAOF, out float ONDBGEBPLHB, out float MGMOFAIGIGP) { float num = Mathf.InverseLerp(MCMNIMLKINN, 1729f, PKEFCMJJNOH); float num2 = NNGFEGAEJPG.HCGEDPDBPBG(1352f, LLMBKANNAOF, num); ONDBGEBPLHB = 191f * num2 / MCMNIMLKINN; MGMOFAIGIGP = 993f * ONDBGEBPLHB / GCIGCDDMNCK; } // Token: 0x06002F33 RID: 12083 RVA: 0x000EBE64 File Offset: 0x000EA064 private float EJHNKEOLMOC() { float num = 0f; if (this.kickbackTransform != null) { num = this.kickbackTransform.localEulerAngles.x; if (num > 1196f) { num -= 1795f; } else if (num < 1300f) { num += 587f; } } return num; } // Token: 0x06002F34 RID: 12084 RVA: 0x000EBEC8 File Offset: 0x000EA0C8 private void LBOOHCEEMPP(float MCMNIMLKINN, float PKEFCMJJNOH, float GCIGCDDMNCK, float LLMBKANNAOF, out float ONDBGEBPLHB, out float MGMOFAIGIGP) { float num = Mathf.InverseLerp(MCMNIMLKINN, 1794f, PKEFCMJJNOH); float num2 = NNGFEGAEJPG.HCGEDPDBPBG(381f, LLMBKANNAOF, num); ONDBGEBPLHB = 857f * num2 / MCMNIMLKINN; MGMOFAIGIGP = 1468f * ONDBGEBPLHB / GCIGCDDMNCK; } // Token: 0x06002F35 RID: 12085 RVA: 0x000EBF0C File Offset: 0x000EA10C protected virtual void KEAPJOKEMKK(Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 IGOFELJMFOF, float FNNAAICLLFC, bool AOBDBDEHCJO) { base.DIOOKHKDKBB(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, FNNAAICLLFC, AOBDBDEHCJO); if (!AOBDBDEHCJO) { if (!base.IGIPCHFCFNN()) { this.LHIEGAHKGKH(Mathf.RoundToInt(FNNAAICLLFC)); } this.IDBOGKCNKPM(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, 1968f, null); } } // Token: 0x04000630 RID: 1584 private const float HMOCCKGAAKG = -1f; // Token: 0x04000631 RID: 1585 private const float EDDCLEEIHKB = 50f; // Token: 0x04000632 RID: 1586 [SerializeField] [Header("Burst")] private BurstFireGun.EGBMACEFEHF burstMode; // Token: 0x04000633 RID: 1587 [SerializeField] private float semiAutomaticFiringRate = 20f; // Token: 0x04000634 RID: 1588 [Header("Kickback")] [SerializeField] private Transform kickbackTransform; // Token: 0x04000635 RID: 1589 [SerializeField] private float totalBurstAngle = 5f; // Token: 0x04000636 RID: 1590 [Header("Kickback Curve")] private float CAEEJJENONG = 0.25f; // Token: 0x04000637 RID: 1591 [SerializeField] private float curveNextShotTimeNormalized = 0.75f; // Token: 0x04000638 RID: 1592 [SerializeField] [Header("Simple Burst")] private float simpleBurstModeBurstSize = 16f; // Token: 0x04000639 RID: 1593 [SerializeField] [Header("Spray")] private bool hasMaxDistance; // Token: 0x0400063A RID: 1594 [SerializeField] private float maxDistance = 50f; // Token: 0x0400063B RID: 1595 [SerializeField] private Transform sprayTargetRoot; // Token: 0x0400063C RID: 1596 private Transform[] CANMBNBBJBD; // Token: 0x0400063D RID: 1597 private Coroutine HGDODPIFCKP; // Token: 0x0400063E RID: 1598 private Coroutine HFFAIEENOFH; // Token: 0x020000E9 RID: 233 private enum EGBMACEFEHF { // Token: 0x04000640 RID: 1600 SPRAY, // Token: 0x04000641 RID: 1601 SIMPLE } } }