448 lines
14 KiB
C#
448 lines
14 KiB
C#
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<Tool> inputDownEvent = tool2.InputDownEvent;
|
|
Action<Tool> action = new Action(this.GDPCAAHGLJN);
|
|
MFBGLIHGCGO<Tool> mfbglihgcgo = MFBGLIHGCGO.BPJDFPACLMK(inputDownEvent, action);
|
|
tool2.InputDownEvent = mfbglihgcgo;
|
|
Tool tool3 = this._tool;
|
|
MFBGLIHGCGO<Tool> inputUpEvent = tool3.InputUpEvent;
|
|
Action<Tool> action2 = new Action(this.KBPEKMLDNHC);
|
|
MFBGLIHGCGO<Tool> mfbglihgcgo2 = MFBGLIHGCGO.BPJDFPACLMK(inputUpEvent, action2);
|
|
tool3.InputUpEvent = mfbglihgcgo2;
|
|
Tool tool4 = this._tool;
|
|
MFBGLIHGCGO<Tool> inputCancelledEvent = tool4.InputCancelledEvent;
|
|
Action<Tool> action3 = new Action(this.FIECILCCNFD);
|
|
MFBGLIHGCGO<Tool> 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<Tool> inputDownEvent = tool2.InputDownEvent;
|
|
Action<Tool> action = new Action(this.GDPCAAHGLJN);
|
|
MFBGLIHGCGO<Tool> mfbglihgcgo = MFBGLIHGCGO.GMNMHGMFGOL(inputDownEvent, action);
|
|
tool2.InputDownEvent = mfbglihgcgo;
|
|
Tool tool3 = this._tool;
|
|
MFBGLIHGCGO<Tool> inputUpEvent = tool3.InputUpEvent;
|
|
Action<Tool> action2 = new Action(this.KBPEKMLDNHC);
|
|
MFBGLIHGCGO<Tool> mfbglihgcgo2 = MFBGLIHGCGO.GMNMHGMFGOL(inputUpEvent, action2);
|
|
tool3.InputUpEvent = mfbglihgcgo2;
|
|
Tool tool4 = this._tool;
|
|
MFBGLIHGCGO<Tool> inputCancelledEvent = tool4.InputCancelledEvent;
|
|
Action<Tool> action3 = new Action(this.FIECILCCNFD);
|
|
MFBGLIHGCGO<Tool> 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
|
|
}
|
|
}
|
|
}
|