using System; using System.Collections; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using Cpp2IlInjected; using Photon.Pun; using RecRoom.Core.Combat; using RecRoom.Core.Pools; using RecRoom.Networking.RPC; using UnityEngine; namespace RecRoom.Tools.Weapons { // Token: 0x0200267D RID: 9853 [Token(Token = "0x200267D")] [StructLayout(3)] public class DelayedRangedWeaponTrigger : MonoBehaviourPun { // Token: 0x14000173 RID: 371 // (add) Token: 0x0601117F RID: 70015 RVA: 0x00408044 File Offset: 0x00406244 // (remove) Token: 0x06011180 RID: 70016 RVA: 0x0040806C File Offset: 0x0040626C [Token(Token = "0x14000173")] public event DelayedRangedWeaponTrigger.IOGLIBAPLLG ABHIBNPKAIN { [Token(Token = "0x601117F")] [Address(RVA = "0x1940B00", Offset = "0x193F500", VA = "0x181940B00")] [CompilerGenerated] add { DelayedRangedWeaponTrigger.IOGLIBAPLLG abhibnpkain; Delegate @delegate; do { abhibnpkain = this.ABHIBNPKAIN; @delegate = Delegate.Combine(abhibnpkain, value); } while (@delegate != 0 && @delegate == 0); while (@delegate != abhibnpkain) { } } [Token(Token = "0x6011180")] [Address(RVA = "0x1940C40", Offset = "0x193F640", VA = "0x181940C40")] [CompilerGenerated] remove { DelayedRangedWeaponTrigger.IOGLIBAPLLG abhibnpkain; Delegate @delegate; do { abhibnpkain = this.ABHIBNPKAIN; @delegate = Delegate.Remove(abhibnpkain, value); } while (@delegate != 0 && @delegate == 0); while (@delegate != abhibnpkain) { } } } // Token: 0x14000174 RID: 372 // (add) Token: 0x06011181 RID: 70017 RVA: 0x00408094 File Offset: 0x00406294 // (remove) Token: 0x06011182 RID: 70018 RVA: 0x004080BC File Offset: 0x004062BC [Token(Token = "0x14000174")] public event DelayedRangedWeaponTrigger.IOGLIBAPLLG JFPBBAHBCPN { [Token(Token = "0x6011181")] [Address(RVA = "0x1940BA0", Offset = "0x193F5A0", VA = "0x181940BA0")] [CompilerGenerated] add { DelayedRangedWeaponTrigger.IOGLIBAPLLG jfpbbahbcpn; Delegate @delegate; do { jfpbbahbcpn = this.JFPBBAHBCPN; @delegate = Delegate.Combine(jfpbbahbcpn, value); } while (@delegate != 0 && @delegate == 0); while (@delegate != jfpbbahbcpn) { } } [Token(Token = "0x6011182")] [Address(RVA = "0x1940CE0", Offset = "0x193F6E0", VA = "0x181940CE0")] [CompilerGenerated] remove { DelayedRangedWeaponTrigger.IOGLIBAPLLG jfpbbahbcpn; Delegate @delegate; do { jfpbbahbcpn = this.JFPBBAHBCPN; @delegate = Delegate.Remove(jfpbbahbcpn, value); } while (@delegate != 0 && @delegate == 0); while (@delegate != jfpbbahbcpn) { } } } // Token: 0x17002E69 RID: 11881 // (get) Token: 0x06011183 RID: 70019 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x17002E69")] public bool EMCAFGBAIPM { [Token(Token = "0x6011183")] [Address(RVA = "0x1684CC0", Offset = "0x16836C0", VA = "0x181684CC0")] get { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } } // Token: 0x06011184 RID: 70020 RVA: 0x004080E4 File Offset: 0x004062E4 [Token(Token = "0x6011184")] [Address(RVA = "0x1940180", Offset = "0x193EB80", VA = "0x181940180", Slot = "13")] protected override void Awake() { base..ctor(); Transform transform = new GameObject("ParticleRoot").transform; this.BPJHONOFGBG = transform; Transform transform2 = this.fuseStartTransform; int num = 0; transform.SetParent(transform2, num != 0); Tool tool = this.tool; int num2 = 0; if (tool != num2) { Tool tool2 = this.tool; ActionEvent postResetEvent = tool2.PostResetEvent; Action action = new Action(this.APBEFBBOMDJ); ActionEvent actionEvent = postResetEvent + action; tool2.PostResetEvent = actionEvent; Tool tool3 = this.tool; ActionEvent inputDownEvent = tool3.InputDownEvent; Action action2 = new Action(this.GDPCAAHGLJN); ActionEvent actionEvent2 = inputDownEvent + action2; tool3.InputDownEvent = actionEvent2; } } // Token: 0x06011185 RID: 70021 RVA: 0x004081A0 File Offset: 0x004063A0 [Token(Token = "0x6011185")] [Address(RVA = "0x1940910", Offset = "0x193F310", VA = "0x181940910", Slot = "14")] protected override void OnDestroy() { base.OnDestroy(); Tool tool = this.tool; int num = 0; if (tool != num) { Tool tool2 = this.tool; ActionEvent postResetEvent = tool2.PostResetEvent; Action action = new Action(this.APBEFBBOMDJ); ActionEvent actionEvent = postResetEvent - action; tool2.PostResetEvent = actionEvent; Tool tool3 = this.tool; ActionEvent inputDownEvent = tool3.InputDownEvent; Action action2 = new Action(this.GDPCAAHGLJN); ActionEvent actionEvent2 = inputDownEvent - action2; tool3.InputDownEvent = actionEvent2; } } // Token: 0x06011186 RID: 70022 RVA: 0x00408230 File Offset: 0x00406430 [Token(Token = "0x6011186")] [Address(RVA = "0x1940060", Offset = "0x193EA60", VA = "0x181940060")] public void AuthorityTryFire() { if (base.hasAuthority && this.MCHGLDOHBIP <= (ulong)0L) { bool hasEnoughMagazineAmmunition = this.weapon.NOOCGFJOMEM; RangedWeapon rangedWeapon = this.weapon; if (!hasEnoughMagazineAmmunition) { bool isCompleted = ((IAsyncResult)this).IsCompleted; return; } if (!rangedWeapon.MJDHKAHMGMO && !this.weapon.LAJLNCJKALH) { PhotonView photonView = base.photonView; RPCActions.RPCAction rpcaction = new RPCActions.RPCAction(this.RpcPrepareDelayedFiring); photonView.RpcAll(rpcaction); } } } // Token: 0x06011187 RID: 70023 RVA: 0x004082AC File Offset: 0x004064AC [Token(Token = "0x6011187")] [Address(RVA = "0x1940050", Offset = "0x193EA50", VA = "0x181940050")] private void APBEFBBOMDJ(Tool NBHJPDBHDHB, Vector3 BNMOCBJEEPN, Quaternion LPHCCEOHNIN, Vector3 GMMJHABHDHE, bool ACPOOMGHPKJ) { this.BAPJIACINIA(); } // Token: 0x06011188 RID: 70024 RVA: 0x004082C0 File Offset: 0x004064C0 [Token(Token = "0x6011188")] [Address(RVA = "0x1940060", Offset = "0x193EA60", VA = "0x181940060")] private void GDPCAAHGLJN(Tool NBHJPDBHDHB) { if (base.hasAuthority && this.MCHGLDOHBIP <= (ulong)0L) { bool hasEnoughMagazineAmmunition = this.weapon.NOOCGFJOMEM; RangedWeapon rangedWeapon = this.weapon; if (!hasEnoughMagazineAmmunition) { bool isCompleted = ((IAsyncResult)this).IsCompleted; return; } if (!rangedWeapon.MJDHKAHMGMO && !this.weapon.LAJLNCJKALH) { PhotonView photonView = base.photonView; RPCActions.RPCAction rpcaction = new RPCActions.RPCAction(this.RpcPrepareDelayedFiring); photonView.RpcAll(rpcaction); } } } // Token: 0x06011189 RID: 70025 RVA: 0x0040833C File Offset: 0x0040653C [Token(Token = "0x6011189")] [Address(RVA = "0x1940020", Offset = "0x193EA20", VA = "0x181940020")] private void AJNIOPHLFIB() { this.BAPJIACINIA(); DelayedRangedWeaponTrigger.IOGLIBAPLLG jfpbbahbcpn = this.JFPBBAHBCPN; if (jfpbbahbcpn != 0) { jfpbbahbcpn(this); return; } } // Token: 0x0601118A RID: 70026 RVA: 0x00408364 File Offset: 0x00406564 [Token(Token = "0x601118A")] [Address(RVA = "0x1940750", Offset = "0x193F150", VA = "0x181940750")] private void GGFKAPKGDMH() { PhotonView photonView = base.photonView; RPCActions.RPCAction rpcaction = new RPCActions.RPCAction(this.RpcPrepareDelayedFiring); photonView.RpcAll(rpcaction); } // Token: 0x0601118B RID: 70027 RVA: 0x00408394 File Offset: 0x00406594 [Token(Token = "0x601118B")] [Address(RVA = "0x1940A50", Offset = "0x193F450", VA = "0x181940A50")] private void PCFBENOBOFL() { this.BAPJIACINIA(); DelayedRangedWeaponTrigger.ILDLNHDJAIP ildlnhdjaip; ildlnhdjaip.System.IDisposable.Dispose(); ildlnhdjaip.<>1__state = (int)((ulong)0L); ildlnhdjaip.<>4__this = this; Coroutine coroutine = base.StartCoroutine(ildlnhdjaip); DelayedRangedWeaponTrigger.IOGLIBAPLLG abhibnpkain = this.ABHIBNPKAIN; this.MCHGLDOHBIP = coroutine; if (abhibnpkain != 0) { abhibnpkain(this); } } // Token: 0x0601118C RID: 70028 RVA: 0x004083E0 File Offset: 0x004065E0 [Token(Token = "0x601118C")] [Address(RVA = "0x1940310", Offset = "0x193ED10", VA = "0x181940310")] private void BAPJIACINIA() { Coroutine mchgldohbip = this.MCHGLDOHBIP; this.SafeStopCoroutine(mchgldohbip); this.CJBPLAEJBIC(); PooledParticle cdlijfcpcfg = this.CDLIJFCPCFG; int num = 0; if (cdlijfcpcfg != num) { this.CDLIJFCPCFG.Stop(); this.CDLIJFCPCFG = (ulong)0L; } } // Token: 0x0601118D RID: 70029 RVA: 0x00408430 File Offset: 0x00406630 [Token(Token = "0x601118D")] [Address(RVA = "0x19403C0", Offset = "0x193EDC0", VA = "0x1819403C0")] private IEnumerator CEPANOPPMEF() { /* An exception occurred when decompiling this method (0601118D) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.IEnumerator RecRoom.Tools.Weapons.DelayedRangedWeaponTrigger::CEPANOPPMEF() ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: call:void(ILDLNHDJAIP::System.IDisposable.Dispose, ldloc:ILDLNHDJAIP(var_0)) stfld:int32(ILDLNHDJAIP::<>1__state, ldloc:ILDLNHDJAIP(var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](0))) stfld:DelayedRangedWeaponTrigger(ILDLNHDJAIP::<>4__this, ldloc:ILDLNHDJAIP(var_0), ldloc:DelayedRangedWeaponTrigger(this)) } 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: 0x0601118E RID: 70030 RVA: 0x00408454 File Offset: 0x00406654 [Token(Token = "0x601118E")] [Address(RVA = "0x19404D0", Offset = "0x193EED0", VA = "0x1819404D0")] private void FMMOFGMCECO() { PooledParticle pooledParticle = this.triggerPullParticlesPrefab; int num = 0; if (pooledParticle != num) { Transform transform = this.triggerPullParticleTransform; int num2 = 0; if (transform != num2) { GlobalPool instance = GlobalPool.ONCPNMDGGKG; PooledParticle pooledParticle2 = this.triggerPullParticlesPrefab; PooledParticle pooledParticle3 = instance.Acquire(pooledParticle2); Transform transform2 = this.triggerPullParticleTransform; Transform transform3 = this.triggerPullParticleTransform; Vector3 vector; float z = vector.z; } } PooledParticle cdlijfcpcfg = this.CDLIJFCPCFG; int num3 = 0; if (cdlijfcpcfg == num3) { PooledParticle pooledParticle4 = this.countdownParticlesPrefab; int num4 = 0; if (pooledParticle4 != num4) { GlobalPool instance2 = GlobalPool.ONCPNMDGGKG; PooledParticle pooledParticle5 = this.countdownParticlesPrefab; PooledParticle pooledParticle6 = instance2.Acquire(pooledParticle5); this.CDLIJFCPCFG = pooledParticle6; Transform bpjhonofgbg = this.BPJHONOFGBG; pooledParticle6.Play(bpjhonofgbg, true, -1f); } } } // Token: 0x0601118F RID: 70031 RVA: 0x00408530 File Offset: 0x00406730 [Token(Token = "0x601118F")] [Address(RVA = "0x19407E0", Offset = "0x193F1E0", VA = "0x1819407E0")] private void GJEGPJCKBLP() { PooledParticle cdlijfcpcfg = this.CDLIJFCPCFG; int num = 0; if (cdlijfcpcfg != num) { this.CDLIJFCPCFG.Stop(); this.CDLIJFCPCFG = (ulong)0L; } } // Token: 0x06011190 RID: 70032 RVA: 0x0040856C File Offset: 0x0040676C [Token(Token = "0x6011190")] [Address(RVA = "0x1940870", Offset = "0x193F270", VA = "0x181940870")] private void NGEKPMPPFOO() { this.CJBPLAEJBIC(); RecRoomAudioClip recRoomAudioClip = this.fireDelayLoopingAudio; Transform transform = this.fuseStartTransform; int num = 0; int num2 = 0; SFXAudioSource sfxaudioSource = AudioManager.StartLooping3DSFX(recRoomAudioClip, transform, num2, num); this.GMFHAIIBGDB = sfxaudioSource; } // Token: 0x06011191 RID: 70033 RVA: 0x004085A8 File Offset: 0x004067A8 [Token(Token = "0x6011191")] [Address(RVA = "0x1940420", Offset = "0x193EE20", VA = "0x181940420")] private void CJBPLAEJBIC() { SFXAudioSource gmfhaiibgdb = this.GMFHAIIBGDB; int num = 0; if (gmfhaiibgdb != num) { AudioManager.StopLoopingSFX(this.GMFHAIIBGDB); this.GMFHAIIBGDB = (ulong)0L; } } // Token: 0x06011192 RID: 70034 RVA: 0x004085DC File Offset: 0x004067DC [Token(Token = "0x6011192")] [Address(RVA = "0x1940A50", Offset = "0x193F450", VA = "0x181940A50")] [PunRPC] private void RpcPrepareDelayedFiring() { this.BAPJIACINIA(); DelayedRangedWeaponTrigger.ILDLNHDJAIP ildlnhdjaip; ildlnhdjaip.System.IDisposable.Dispose(); ildlnhdjaip.<>1__state = (int)((ulong)0L); ildlnhdjaip.<>4__this = this; Coroutine coroutine = base.StartCoroutine(ildlnhdjaip); DelayedRangedWeaponTrigger.IOGLIBAPLLG abhibnpkain = this.ABHIBNPKAIN; this.MCHGLDOHBIP = coroutine; if (abhibnpkain != 0) { abhibnpkain(this); } } // Token: 0x06011193 RID: 70035 RVA: 0x00408628 File Offset: 0x00406828 [Token(Token = "0x6011193")] [Address(RVA = "0x1940AE0", Offset = "0x193F4E0", VA = "0x181940AE0")] public DelayedRangedWeaponTrigger() { } // Token: 0x0400B5CD RID: 46541 [global::Cpp2IlInjected.FieldOffset(Offset = "0x50")] [Token(Token = "0x400B5CD")] [SerializeField] [DDPIINEJFMD(JIBDPHMGEGO.Self, false, false)] private Tool tool; // Token: 0x0400B5CE RID: 46542 [global::Cpp2IlInjected.FieldOffset(Offset = "0x58")] [Token(Token = "0x400B5CE")] [SerializeField] [DDPIINEJFMD(JIBDPHMGEGO.SelfAndParent, false, false)] private RangedWeapon weapon; // Token: 0x0400B5CF RID: 46543 [global::Cpp2IlInjected.FieldOffset(Offset = "0x60")] [Token(Token = "0x400B5CF")] [SerializeField] [DDPIINEJFMD(JIBDPHMGEGO.SelfAndParent, false, false)] private WeaponAudio weaponAudio; // Token: 0x0400B5D0 RID: 46544 [global::Cpp2IlInjected.FieldOffset(Offset = "0x68")] [Token(Token = "0x400B5D0")] [SerializeField] private float delay = 1f; // Token: 0x0400B5D1 RID: 46545 [global::Cpp2IlInjected.FieldOffset(Offset = "0x6C")] [Token(Token = "0x400B5D1")] [SerializeField] private float inputResponseDelay; // Token: 0x0400B5D2 RID: 46546 [global::Cpp2IlInjected.FieldOffset(Offset = "0x70")] [Token(Token = "0x400B5D2")] [SerializeField] private Transform fuseStartTransform; // Token: 0x0400B5D3 RID: 46547 [global::Cpp2IlInjected.FieldOffset(Offset = "0x78")] [Token(Token = "0x400B5D3")] [SerializeField] private Transform fuseEndTransform; // Token: 0x0400B5D4 RID: 46548 [global::Cpp2IlInjected.FieldOffset(Offset = "0x80")] [Token(Token = "0x400B5D4")] [SerializeField] [Header("Particles")] private PooledParticle triggerPullParticlesPrefab; // Token: 0x0400B5D5 RID: 46549 [global::Cpp2IlInjected.FieldOffset(Offset = "0x88")] [Token(Token = "0x400B5D5")] [SerializeField] private Transform triggerPullParticleTransform; // Token: 0x0400B5D6 RID: 46550 [global::Cpp2IlInjected.FieldOffset(Offset = "0x90")] [Token(Token = "0x400B5D6")] [SerializeField] private PooledParticle countdownParticlesPrefab; // Token: 0x0400B5D7 RID: 46551 [global::Cpp2IlInjected.FieldOffset(Offset = "0x98")] [Token(Token = "0x400B5D7")] [SerializeField] [Header("Haptics")] private float vibrationIntensity = 0.7f; // Token: 0x0400B5D8 RID: 46552 [global::Cpp2IlInjected.FieldOffset(Offset = "0xA0")] [Token(Token = "0x400B5D8")] [SerializeField] [Header("Audio")] private RecRoomAudioClip prepareFiringAudio; // Token: 0x0400B5D9 RID: 46553 [global::Cpp2IlInjected.FieldOffset(Offset = "0xA8")] [Token(Token = "0x400B5D9")] [SerializeField] private RecRoomAudioClip fireDelayLoopingAudio; // Token: 0x0400B5DA RID: 46554 [global::Cpp2IlInjected.FieldOffset(Offset = "0xB0")] [Token(Token = "0x400B5DA")] private Transform BPJHONOFGBG; // Token: 0x0400B5DB RID: 46555 [global::Cpp2IlInjected.FieldOffset(Offset = "0xB8")] [Token(Token = "0x400B5DB")] private PooledParticle CDLIJFCPCFG; // Token: 0x0400B5DC RID: 46556 [global::Cpp2IlInjected.FieldOffset(Offset = "0xC0")] [Token(Token = "0x400B5DC")] private Coroutine MCHGLDOHBIP; // Token: 0x0400B5DD RID: 46557 [global::Cpp2IlInjected.FieldOffset(Offset = "0xC8")] [Token(Token = "0x400B5DD")] private SFXAudioSource GMFHAIIBGDB; // Token: 0x0200267E RID: 9854 [Token(Token = "0x200267E")] public sealed class IOGLIBAPLLG : MulticastDelegate { // Token: 0x06011194 RID: 70036 RVA: 0x00408654 File Offset: 0x00406854 [Token(Token = "0x6011194")] [Address(RVA = "0x3E5170", Offset = "0x3E3B70", VA = "0x1803E5170")] public IOGLIBAPLLG(object @object, IntPtr method) { this.method = method; this.m_target = @object; } // Token: 0x06011195 RID: 70037 RVA: 0x00408670 File Offset: 0x00406870 [Token(Token = "0x6011195")] [Address(RVA = "0x6931D0", Offset = "0x691BD0", VA = "0x1806931D0", Slot = "13")] public void Invoke(DelayedRangedWeaponTrigger OOONNFPBMKC) { if (this.delegates != 0) { } uint num; if (num != (uint)0) { throw new ExecutionEngineException(); } } // Token: 0x06011196 RID: 70038 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6011196")] [Address(RVA = "0x42BD30", Offset = "0x42A730", VA = "0x18042BD30", Slot = "14")] public IAsyncResult BeginInvoke(DelayedRangedWeaponTrigger OOONNFPBMKC, AsyncCallback AFLPGGJMPOE, object FEDFKKMABOG) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06011197 RID: 70039 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6011197")] [Address(RVA = "0x40BFF0", Offset = "0x40A9F0", VA = "0x18040BFF0", Slot = "15")] public void EndInvoke(IAsyncResult GIAOBLMEMMI) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } } } }