Files
niko c12fbe3fc6 m
2026-04-12 16:51:38 +02:00

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
}
}
}