using System; using Cpp2IlInjected; using RecRoom.Core.Combat; using RecRoom.Core.Pools; using UnityEngine; namespace RecRoom.Tools.Weapons { // Token: 0x02002C4D RID: 11341 [Token(Token = "0x2002C4D")] public class ChargeGun : RangedWeapon { // Token: 0x170034DE RID: 13534 // (get) Token: 0x06012F1B RID: 77595 RVA: 0x00452A74 File Offset: 0x00450C74 [Token(Token = "0x170034DE")] private float ADANMKIMIOD { [Token(Token = "0x6012F1B")] [Address(RVA = "0x1D2C150", Offset = "0x1D2B150", VA = "0x181D2C150")] get { /* An exception occurred when decompiling this method (06012F1B) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Single RecRoom.Tools.Weapons.ChargeGun::ODGLMJEGEPC() ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:float64(var_1_07, callgetter:float64(KKPBCOOONNK::MLNCKCNEANC)) } at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88 --- End of inner exception stack trace --- at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663 */; } } // Token: 0x170034DF RID: 13535 // (get) Token: 0x06012F1C RID: 77596 RVA: 0x00452A88 File Offset: 0x00450C88 // (set) Token: 0x06012F1D RID: 77597 RVA: 0x00452AA8 File Offset: 0x00450CA8 [Token(Token = "0x170034DF")] private bool DJNLHFNFIKA { [Token(Token = "0x6012F1C")] [Address(RVA = "0x1D2BC00", Offset = "0x1D2AC00", VA = "0x181D2BC00")] get { return this.NLBEOHMNEGO.IAHDANBDAAM() != null; } [Token(Token = "0x6012F1D")] [Address(RVA = "0x1D2BC50", Offset = "0x1D2AC50", VA = "0x181D2BC50")] set { if (this.NLBEOHMNEGO.IAHDANBDAAM() == 0) { KLLMCPFPIIE ghbmjkkecpm = this.GHBMJKKECPM; double num = KKPBCOOONNK.EDNCMGJJLIH; throw new NullReferenceException(); } KLLMCPFPIIE nlbeohmnego = this.NLBEOHMNEGO; } } // Token: 0x170034E0 RID: 13536 // (get) Token: 0x06012F1E RID: 77598 RVA: 0x00452AE8 File Offset: 0x00450CE8 [Token(Token = "0x170034E0")] private float OLEOICPGCFD { [Token(Token = "0x6012F1E")] [Address(RVA = "0x1D2B730", Offset = "0x1D2A730", VA = "0x181D2B730")] get { double num = KKPBCOOONNK.EDNCMGJJLIH; KLLMCPFPIIE ghbmjkkecpm = this.GHBMJKKECPM; float num2 = ghbmjkkecpm.IAHDANBDAAM(); throw new NullReferenceException(); } } // Token: 0x170034E1 RID: 13537 // (get) Token: 0x06012F1F RID: 77599 RVA: 0x00452B14 File Offset: 0x00450D14 [Token(Token = "0x170034E1")] private float BACGDPEOEMN { [Token(Token = "0x6012F1F")] [Address(RVA = "0x1D2BA20", Offset = "0x1D2AA20", VA = "0x181D2BA20")] get { float num = this.maxChargeTime; float num2 = this.OLEOICPGCFD; float num3 = Mathf.InverseLerp((float)0, num, num2); AnimationCurve animationCurve = this.chargeCurve; num = num3; return Mathf.Clamp01(animationCurve.Evaluate(num)); } } // Token: 0x06012F20 RID: 77600 RVA: 0x00452B54 File Offset: 0x00450D54 [Token(Token = "0x6012F20")] [Address(RVA = "0x1D2BDC0", Offset = "0x1D2ADC0", VA = "0x181D2BDC0")] private void GDPCAAHGLJN(Tool NBHJPDBHDHB) { if (!base.OGIBLNIIHDK) { return; } if (!base.NOOCGFJOMEM) { Color color = base.EPDNPLLEPOH; return; } if (!base.MJDHKAHMGMO && !base.LAJLNCJKALH) { this.DJNLHFNFIKA = true; return; } this._weaponAudio.OnMisfire(); } // Token: 0x06012F21 RID: 77601 RVA: 0x00452BA8 File Offset: 0x00450DA8 [Token(Token = "0x6012F21")] [Address(RVA = "0x1D2BEE0", Offset = "0x1D2AEE0", VA = "0x181D2BEE0")] private void KBPEKMLDNHC(Tool NBHJPDBHDHB) { if (base.OGIBLNIIHDK && this.NLBEOHMNEGO.IAHDANBDAAM() != 0) { int num = 0; this.DJNLHFNFIKA = num != 0; float num2 = this.BACGDPEOEMN; Color color = base.EPDNPLLEPOH; return; } } // Token: 0x06012F22 RID: 77602 RVA: 0x00452BEC File Offset: 0x00450DEC [Token(Token = "0x6012F22")] [Address(RVA = "0x1D2BD50", Offset = "0x1D2AD50", VA = "0x181D2BD50")] private void FIECILCCNFD(Tool NBHJPDBHDHB) { if (base.OGIBLNIIHDK && this.NLBEOHMNEGO.IAHDANBDAAM() != 0) { int num = 0; this.DJNLHFNFIKA = num != 0; return; } } // Token: 0x06012F23 RID: 77603 RVA: 0x00452C20 File Offset: 0x00450E20 [Token(Token = "0x6012F23")] [Address(RVA = "0x1D2C1A0", Offset = "0x1D2B1A0", VA = "0x181D2C1A0", 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; float z3 = NHAOMEMANJA.z; float z4 = DDHPAFKBMON.z; } // Token: 0x06012F24 RID: 77604 RVA: 0x00452C4C File Offset: 0x00450E4C [Token(Token = "0x6012F24")] [Address(RVA = "0x1D2B7E0", Offset = "0x1D2A7E0", VA = "0x181D2B7E0", Slot = "13")] protected override void Awake() { base.Awake(); Action action = new Action(this.LIGHPMIHPCL); int num; int num2; KLLMCPFPIIE kllmcpfpiie = new KLLMCPFPIIE(this, "IS_CHARGING", num, (OHOEENCHJJE)num2, action, num2); num2 = 0; num = 0; this.NLBEOHMNEGO = kllmcpfpiie; KLLMCPFPIIE kllmcpfpiie2 = new KLLMCPFPIIE(this, "CHARGE_START_TIME", num, (OHOEENCHJJE)num2, num2, num2); this.GHBMJKKECPM = kllmcpfpiie2; Tool tool = this._tool; int num3 = 0; if (tool != num3) { Tool tool2 = this._tool; MFBGLIHGCGO inputDownEvent = tool2.InputDownEvent; Action action2 = new Action(this.GDPCAAHGLJN); MFBGLIHGCGO mfbglihgcgo = MFBGLIHGCGO.BPJDFPACLMK(inputDownEvent, action2); tool2.InputDownEvent = mfbglihgcgo; Tool tool3 = this._tool; MFBGLIHGCGO inputUpEvent = tool3.InputUpEvent; Action action3 = new Action(this.KBPEKMLDNHC); MFBGLIHGCGO mfbglihgcgo2 = MFBGLIHGCGO.BPJDFPACLMK(inputUpEvent, action3); tool3.InputUpEvent = mfbglihgcgo2; Tool tool4 = this._tool; MFBGLIHGCGO inputCancelledEvent = tool4.InputCancelledEvent; Action action4 = new Action(this.FIECILCCNFD); MFBGLIHGCGO mfbglihgcgo3 = MFBGLIHGCGO.BPJDFPACLMK(inputCancelledEvent, action4); tool4.InputCancelledEvent = mfbglihgcgo3; } } // Token: 0x06012F25 RID: 77605 RVA: 0x00452D5C File Offset: 0x00450F5C [Token(Token = "0x6012F25")] [Address(RVA = "0x1D2C2E0", Offset = "0x1D2B2E0", VA = "0x181D2C2E0", 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: 0x06012F26 RID: 77606 RVA: 0x00452E20 File Offset: 0x00451020 [Token(Token = "0x6012F26")] [Address(RVA = "0x1D2C470", Offset = "0x1D2B470", VA = "0x181D2C470", Slot = "17")] protected override void Start() { base.Start(); this.LIGHPMIHPCL(); } // Token: 0x06012F27 RID: 77607 RVA: 0x00452E3C File Offset: 0x0045103C [Token(Token = "0x6012F27")] [Address(RVA = "0x1D2BF70", Offset = "0x1D2AF70", VA = "0x181D2BF70")] private void LIGHPMIHPCL() { if (this.NLBEOHMNEGO.IAHDANBDAAM() == 0) { this.IOJDCBKBPKC(); this._weaponAudio.OnStopCharge(); if (this._weaponAudio.LIBPLCAGHKI) { this._weaponAudio.OnFullyChargedLoopStop(); } return; } this.IOJDCBKBPKC(); PooledParticle pooledParticle = this.chargeParticlePrefab; int num = 0; if (pooledParticle != num) { GlobalPool instance = GlobalPool.ONCPNMDGGKG; PooledParticle pooledParticle2 = this.chargeParticlePrefab; PooledParticle pooledParticle3 = instance.Acquire(pooledParticle2); this.OIHJPCBJPMH = pooledParticle3; int num2 = 0; if (pooledParticle3 != num2) { PooledParticle oihjpcbjpmh = this.OIHJPCBJPMH; Transform muzzleFlashOrigin = this.muzzleFlashOrigin; oihjpcbjpmh.Play(muzzleFlashOrigin, true, -1f); } } WeaponAudio weaponAudio = this._weaponAudio; float num3 = this.OLEOICPGCFD; weaponAudio.OnCharge(num3); } // Token: 0x06012F28 RID: 77608 RVA: 0x00452F0C File Offset: 0x0045110C [Token(Token = "0x6012F28")] [Address(RVA = "0x1D2C490", Offset = "0x1D2B490", VA = "0x181D2C490")] private void Update() { if (this.NLBEOHMNEGO.IAHDANBDAAM() != 0) { float num = this.BACGDPEOEMN; if (!this._weaponAudio.LIBPLCAGHKI) { this._weaponAudio.OnStopCharge(); this._weaponAudio.OnFullyChargedLoopStart(); return; } } } // Token: 0x06012F29 RID: 77609 RVA: 0x00452F5C File Offset: 0x0045115C [Token(Token = "0x6012F29")] [Address(RVA = "0x1D2BAD0", Offset = "0x1D2AAD0", VA = "0x181D2BAD0")] private void CHMFCMEABBC() { this.IOJDCBKBPKC(); PooledParticle pooledParticle = this.chargeParticlePrefab; int num = 0; if (pooledParticle != num) { GlobalPool instance = GlobalPool.ONCPNMDGGKG; PooledParticle pooledParticle2 = this.chargeParticlePrefab; PooledParticle pooledParticle3 = instance.Acquire(pooledParticle2); this.OIHJPCBJPMH = pooledParticle3; int num2 = 0; if (pooledParticle3 != num2) { PooledParticle oihjpcbjpmh = this.OIHJPCBJPMH; Transform muzzleFlashOrigin = this.muzzleFlashOrigin; oihjpcbjpmh.Play(muzzleFlashOrigin, true, -1f); } } } // Token: 0x06012F2A RID: 77610 RVA: 0x00452FD8 File Offset: 0x004511D8 [Token(Token = "0x6012F2A")] [Address(RVA = "0x1D2BE50", Offset = "0x1D2AE50", VA = "0x181D2BE50")] private void IOJDCBKBPKC() { PooledParticle oihjpcbjpmh = this.OIHJPCBJPMH; int num = 0; if (oihjpcbjpmh != num) { this.OIHJPCBJPMH.Stop(); this.OIHJPCBJPMH = (ulong)0L; } } // Token: 0x06012F2B RID: 77611 RVA: 0x00453014 File Offset: 0x00451214 [Token(Token = "0x6012F2B")] [Address(RVA = "0x1D2C530", Offset = "0x1D2B530", VA = "0x181D2C530")] public ChargeGun() { } // Token: 0x0400C324 RID: 49956 [FieldOffset(Offset = "0x2F0")] [Token(Token = "0x400C324")] [SerializeField] [Header("Charging")] private float maxChargeTime = 2.5f; // Token: 0x0400C325 RID: 49957 [FieldOffset(Offset = "0x2F8")] [Token(Token = "0x400C325")] [SerializeField] private AnimationCurve chargeCurve; // Token: 0x0400C326 RID: 49958 [FieldOffset(Offset = "0x300")] [Token(Token = "0x400C326")] [SerializeField] private PooledParticle chargeParticlePrefab; // Token: 0x0400C327 RID: 49959 [FieldOffset(Offset = "0x308")] [Token(Token = "0x400C327")] private KLLMCPFPIIE NLBEOHMNEGO; // Token: 0x0400C328 RID: 49960 [FieldOffset(Offset = "0x310")] [Token(Token = "0x400C328")] private KLLMCPFPIIE GHBMJKKECPM; // Token: 0x0400C329 RID: 49961 [FieldOffset(Offset = "0x318")] [Token(Token = "0x400C329")] private PooledParticle OIHJPCBJPMH; } }