using System; using System.Collections; using System.Runtime.InteropServices; using Cpp2IlInjected; using RecRoom.Core.AI; using RecRoom.Core.Combat; using RecRoom.Core.Pools; using UnityEngine; namespace RecRoom.Tools.Weapons { // Token: 0x0200266D RID: 9837 [Token(Token = "0x200266D")] [StructLayout(3)] public class BowArrow : Bullet { // Token: 0x17002E53 RID: 11859 // (get) Token: 0x060110F0 RID: 69872 RVA: 0x00405114 File Offset: 0x00403314 [Token(Token = "0x17002E53")] protected override Vector3 CHBLIFPICIE { [Token(Token = "0x60110F0")] [Address(RVA = "0x15A6290", Offset = "0x15A4C90", VA = "0x1815A6290", Slot = "4")] get { bool flag; if (flag) { Vector3 vector; float z = vector.z; } throw new NullReferenceException(); } } // Token: 0x17002E54 RID: 11860 // (get) Token: 0x060110F1 RID: 69873 RVA: 0x00405134 File Offset: 0x00403334 // (set) Token: 0x060110F2 RID: 69874 RVA: 0x00405148 File Offset: 0x00403348 [Token(Token = "0x17002E54")] protected bool BCKCEELIDLH { [Token(Token = "0x60110F1")] [Address(RVA = "0xBCCEF0", Offset = "0xBCB8F0", VA = "0x180BCCEF0")] get; [Token(Token = "0x60110F2")] [Address(RVA = "0xFC75F0", Offset = "0xFC5FF0", VA = "0x180FC75F0")] set; } // Token: 0x060110F3 RID: 69875 RVA: 0x0040515C File Offset: 0x0040335C [Token(Token = "0x60110F3")] [Address(RVA = "0x15A5970", Offset = "0x15A4370", VA = "0x1815A5970", Slot = "6")] protected override void Awake() { base.Awake(); this.k__BackingField = true; } // Token: 0x060110F4 RID: 69876 RVA: 0x00405178 File Offset: 0x00403378 [Token(Token = "0x60110F4")] [Address(RVA = "0x15A5A20", Offset = "0x15A4420", VA = "0x1815A5A20", Slot = "8")] protected override void FixedUpdate() { if (!this.k__BackingField) { Transform kmeldgnjgfl = this.KMELDGNJGFL; int num = 0; if (kmeldgnjgfl != num) { Transform transform = base.transform; Transform kmeldgnjgfl2 = this.KMELDGNJGFL; float z = this.EIJNMCNMMOC.z; Vector3 vector; float z2 = vector.z; Transform transform2 = base.transform; Quaternion pankplbabfb = this.PANKPLBABFB; if (this.KMELDGNJGFL.gameObject.activeSelf) { if (!this.HFPMICGDIPD) { return; } Enemy k__BackingField = this.k__BackingField; int num2 = 0; if (!(k__BackingField == num2) && !this.k__BackingField.rigidbodyEx.JEGGMAKBGEK) { return; } } } this.ImmediateReleaseBullet(); return; } base.FixedUpdate(); } // Token: 0x060110F5 RID: 69877 RVA: 0x00405234 File Offset: 0x00403434 [Token(Token = "0x60110F5")] [Address(RVA = "0x15A5CE0", Offset = "0x15A46E0", VA = "0x1815A5CE0", Slot = "10")] protected override void LFDOBCFHFNP(CBLLJNPBJOI LLJEGLKBKME) { base.LFDOBCFHFNP(LLJEGLKBKME); GameObject gibdaoejgha = this.GIBDAOEJGHA; int num = 0; if (gibdaoejgha != num) { Transform transform = this.GIBDAOEJGHA.transform; Enemy k__BackingField = this.k__BackingField; this.KMELDGNJGFL = transform; int num2 = 0; bool flag = k__BackingField != num2; Player k__BackingField = this.k__BackingField; int num3 = 0; this.HFPMICGDIPD = flag; bool flag2 = k__BackingField != num3; this.OMKOLJOPAHJ = flag2; if (flag2) { ActionEvent playerSpawnEvent = Player.PlayerSpawnEvent; Action action = new Action(this.BOJDHFMMBKI); Player.PlayerSpawnEvent = playerSpawnEvent + action; } Transform transform2 = base.transform; Vector3 up = Vector3.up; Transform kmeldgnjgfl = this.KMELDGNJGFL; Transform transform3 = base.transform; string text = this.ToString(); Vector3 vector; float z = vector.z; this.EIJNMCNMMOC.z = z; Vector3 one = Vector3.one; Transform transform4 = base.transform; Vector3 vector2; float z2 = vector2.z; bool flag3; if (flag3) { Transform transform5 = base.transform; Transform transform6 = base.transform; Transform transform7 = base.transform; int num4 = 0; base.transform.localScale = num4; } BulletTrail ajihbhiieeg = this.AJIHBHIIEEG; int num5 = 0; if (ajihbhiieeg != num5) { this.AJIHBHIIEEG.Stop(); } } } // Token: 0x060110F6 RID: 69878 RVA: 0x00405380 File Offset: 0x00403580 [Token(Token = "0x60110F6")] [Address(RVA = "0x15A63B0", Offset = "0x15A4DB0", VA = "0x1815A63B0", Slot = "9")] public override void Release(Vector3 IPPBFGDBMAD) { base.enabled = true; BulletTrail ajihbhiieeg = this.AJIHBHIIEEG; int num = 0; if (ajihbhiieeg != num) { this.AJIHBHIIEEG.enabled = true; } this.k__BackingField = false; base.MIKOLILDAJA(); if (base.enabled) { BowArrow.GBKNDKINJJE gbkndkinjje; gbkndkinjje.System.IDisposable.Dispose(); gbkndkinjje.<>1__state = (int)((ulong)0L); gbkndkinjje.<>4__this = this; Coroutine coroutine = base.StartCoroutine(gbkndkinjje); this.KPJEPHMDLCF = coroutine; } } // Token: 0x060110F7 RID: 69879 RVA: 0x004053F4 File Offset: 0x004035F4 [Token(Token = "0x60110F7")] [Address(RVA = "0x15A5C50", Offset = "0x15A4650", VA = "0x1815A5C50")] public void ImmediateReleaseBullet() { Coroutine kpjephmdlcf = this.KPJEPHMDLCF; if (kpjephmdlcf != 0) { base.StopCoroutine(kpjephmdlcf); } this.ResetArrowParams(); bool flag = GlobalPool.ONCPNMDGGKG.Release(this); } // Token: 0x060110F8 RID: 69880 RVA: 0x00405430 File Offset: 0x00403630 [Token(Token = "0x60110F8")] [Address(RVA = "0x15A6350", Offset = "0x15A4D50", VA = "0x1815A6350")] private IEnumerator PPNHBBFJAFL() { /* An exception occurred when decompiling this method (060110F8) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.IEnumerator RecRoom.Tools.Weapons.BowArrow::PPNHBBFJAFL() ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: call:void(GBKNDKINJJE::System.IDisposable.Dispose, ldloc:GBKNDKINJJE(var_0)) stfld:int32(GBKNDKINJJE::<>1__state, ldloc:GBKNDKINJJE(var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](0))) stfld:BowArrow(GBKNDKINJJE::<>4__this, ldloc:GBKNDKINJJE(var_0), ldloc:BowArrow(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: 0x060110F9 RID: 69881 RVA: 0x00405454 File Offset: 0x00403654 [Token(Token = "0x60110F9")] [Address(RVA = "0x15A64C0", Offset = "0x15A4EC0", VA = "0x1815A64C0")] public void ResetArrowParams() { if (this.OMKOLJOPAHJ) { ActionEvent playerSpawnEvent = Player.PlayerSpawnEvent; Action action = new Action(this.BOJDHFMMBKI); Player.PlayerSpawnEvent = playerSpawnEvent - action; } int num = 0; base.enabled = num != 0; BulletTrail ajihbhiieeg = this.AJIHBHIIEEG; int num2 = 0; if (ajihbhiieeg != num2) { BulletTrail ajihbhiieeg2 = this.AJIHBHIIEEG; int num3 = 0; ajihbhiieeg2.enabled = num3 != 0; } this.k__BackingField = true; this.KMELDGNJGFL = (ulong)0L; Quaternion identity = Quaternion.identity; float z = Vector3.zero.z; this.EIJNMCNMMOC.z = z; this.HFPMICGDIPD = false; } // Token: 0x060110FA RID: 69882 RVA: 0x004054F8 File Offset: 0x004036F8 [Token(Token = "0x60110FA")] [Address(RVA = "0x15A5990", Offset = "0x15A4390", VA = "0x1815A5990")] private void BOJDHFMMBKI(Player IEKDDPPNFPF, bool GBDEEHJOOEB) { if (this.OMKOLJOPAHJ) { Player k__BackingField = this.k__BackingField; if (IEKDDPPNFPF == k__BackingField) { this.ImmediateReleaseBullet(); } } } // Token: 0x060110FB RID: 69883 RVA: 0x00405528 File Offset: 0x00403728 [Token(Token = "0x60110FB")] [Address(RVA = "0x15A6680", Offset = "0x15A5080", VA = "0x1815A6680")] public BowArrow() { Quaternion identity = Quaternion.identity; float z = Vector3.zero.z; this.EIJNMCNMMOC.z = z; base..ctor(); } // Token: 0x0400B562 RID: 46434 [global::Cpp2IlInjected.FieldOffset(Offset = "0x1F8")] [Token(Token = "0x400B562")] [SerializeField] private Transform colliderOriginTransform; // Token: 0x0400B563 RID: 46435 [global::Cpp2IlInjected.FieldOffset(Offset = "0x200")] [Token(Token = "0x400B563")] private Transform KMELDGNJGFL; // Token: 0x0400B564 RID: 46436 [global::Cpp2IlInjected.FieldOffset(Offset = "0x208")] [Token(Token = "0x400B564")] private Quaternion PANKPLBABFB; // Token: 0x0400B565 RID: 46437 [global::Cpp2IlInjected.FieldOffset(Offset = "0x218")] [Token(Token = "0x400B565")] private Vector3 EIJNMCNMMOC; // Token: 0x0400B566 RID: 46438 [global::Cpp2IlInjected.FieldOffset(Offset = "0x224")] [Token(Token = "0x400B566")] private bool HFPMICGDIPD; // Token: 0x0400B567 RID: 46439 [global::Cpp2IlInjected.FieldOffset(Offset = "0x225")] [Token(Token = "0x400B567")] private bool OMKOLJOPAHJ; // Token: 0x0400B568 RID: 46440 [global::Cpp2IlInjected.FieldOffset(Offset = "0x228")] [Token(Token = "0x400B568")] private Coroutine KPJEPHMDLCF; } }