using System; using System.Collections.Generic; using System.Runtime.InteropServices; using Cpp2IlInjected; using RecRoom.Core.AI; using UnityEngine; namespace RecRoom.Core.Combat { // Token: 0x02002E03 RID: 11779 [Token(Token = "0x2002E03")] [Serializable] [StructLayout(3)] public class MeleeWeaponChunk { // Token: 0x17003852 RID: 14418 // (get) Token: 0x060150C7 RID: 86215 RVA: 0x0050E6F4 File Offset: 0x0050C8F4 [Token(Token = "0x17003852")] public Vector3 OriginPosition { [Token(Token = "0x60150C7")] [Address(RVA = "0x13BC050", Offset = "0x13BAA50", VA = "0x1813BC050")] get { bool flag; if (!flag) { bool flag2; if (!flag2) { Vector3 zero = Vector3.zero; } Vector3 vector; float z = vector.z; } throw new NullReferenceException(); } } // Token: 0x17003853 RID: 14419 // (get) Token: 0x060150C8 RID: 86216 RVA: 0x0050E720 File Offset: 0x0050C920 [Token(Token = "0x17003853")] public int Durability { [Token(Token = "0x60150C8")] [Address(RVA = "0x3C1C50", Offset = "0x3C0650", VA = "0x1803C1C50")] get { return this.durability; } } // Token: 0x17003854 RID: 14420 // (get) Token: 0x060150C9 RID: 86217 RVA: 0x0050E734 File Offset: 0x0050C934 [Token(Token = "0x17003854")] public IEnumerable DurabilityGameObjects { [Token(Token = "0x60150C9")] [Address(RVA = "0x3C1220", Offset = "0x3BFC20", VA = "0x1803C1220")] get { /* An exception occurred when decompiling this method (060150C9) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.Generic.IEnumerable`1 RecRoom.Core.Combat.MeleeWeaponChunk::get_DurabilityGameObjects() ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:valuetype RecRoom.Core.Combat.MeleeWeaponChunk/DurabilityGameObject[](var_0_06, ldfld:valuetype RecRoom.Core.Combat.MeleeWeaponChunk/DurabilityGameObject[](MeleeWeaponChunk::durabilityGameObjects, ldloc:MeleeWeaponChunk(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: 0x17003855 RID: 14421 // (get) Token: 0x060150CA RID: 86218 RVA: 0x0050E748 File Offset: 0x0050C948 [Token(Token = "0x17003855")] public float WeaponAttackContribution { [Token(Token = "0x60150CA")] [Address(RVA = "0x57B8E0", Offset = "0x57A2E0", VA = "0x18057B8E0")] get { return this.weaponAttackContribution; } } // Token: 0x17003856 RID: 14422 // (set) Token: 0x060150CB RID: 86219 RVA: 0x0050E75C File Offset: 0x0050C95C [Token(Token = "0x17003856")] public int DurabilityDamageTaken { [Token(Token = "0x60150CB")] [Address(RVA = "0x13BB980", Offset = "0x13BA380", VA = "0x1813BB980")] set { MeleeWeaponChunk.DurabilityGameObject[] array = this.durabilityGameObjects; if (array != 0) { int num = 0; int num2 = 0; if (num2 < array.Length) { num += num; bool flag = value <= "{il2cpp field on 2, offset 0x2C}"; MeleeWeaponChunk.DurabilityGameObject[] array2 = this.durabilityGameObjects; num++; } } } } // Token: 0x17003857 RID: 14423 // (get) Token: 0x060150CC RID: 86220 RVA: 0x0050E7A8 File Offset: 0x0050C9A8 // (set) Token: 0x060150CD RID: 86221 RVA: 0x0050E7BC File Offset: 0x0050C9BC [Token(Token = "0x17003857")] public bool IsEnabled { [Token(Token = "0x60150CC")] [Address(RVA = "0x8EFB20", Offset = "0x8EE520", VA = "0x1808EFB20")] get { return this._isEnabled; } [Token(Token = "0x60150CD")] [Address(RVA = "0x13BC170", Offset = "0x13BAB70", VA = "0x1813BC170")] set { this._isEnabled = value; MeleeWeaponCollider[] array = this.meleeColliders; int num = 0; if (num < array.Length) { MeleeWeaponCollider meleeWeaponCollider = array[num]; int num2 = 0; if (meleeWeaponCollider != num2) { MeleeWeaponCollider meleeWeaponCollider2 = this.meleeColliders[num]; bool enabled = meleeWeaponCollider2.enabled; meleeWeaponCollider2.enabled = enabled; } MeleeWeaponCollider[] array2 = this.meleeColliders; num++; } DynamicMeshTrail[] array3 = this.trails; if (num < array3.Length) { DynamicMeshTrail dynamicMeshTrail = array3[num]; bool enabled2 = dynamicMeshTrail.enabled; dynamicMeshTrail.enabled = enabled2; DynamicMeshTrail[] array4 = this.trails; num++; while (array4 != 0) { } } if (!value) { if ((this.isShattered ? 1 : 0) != num) { return; } RagdollPiece[] array5 = this.ragdollPieces; if (num >= array5.Length) { return; } GameObject gameObject = array5[num].gameObject; int num3 = 0; gameObject.SetActive(num3 != 0); RagdollPiece[] array6 = this.ragdollPieces; num++; while (array6 != 0) { } } RagdollPiece[] array7 = this.ragdollPieces; this.isShattered = num != 0; if (num < array7.Length) { array7[num].gameObject.SetActive(true); this.ragdollPieces[num].StopRagdoll(); RagdollPiece[] array8 = this.ragdollPieces; num++; while (array8 != 0) { } } } } // Token: 0x060150CE RID: 86222 RVA: 0x0050E908 File Offset: 0x0050CB08 [Token(Token = "0x60150CE")] [Address(RVA = "0x13BBFA0", Offset = "0x13BA9A0", VA = "0x1813BBFA0")] public void OFFLOPLJBBG(MeleeWeapon GDIGKHINJCG) { MeleeWeaponChunk.DurabilityGameObject[] array = this.durabilityGameObjects; this.weapon = GDIGKHINJCG; this.isShattered = false; if (array != 0) { int num = 0; int num2 = 0; if (num2 < array.Length) { num += num; int num3 = 0; bool flag = "{il2cpp array field local2->}" >= num3; MeleeWeaponChunk.DurabilityGameObject[] array2 = this.durabilityGameObjects; num++; } } } // Token: 0x060150CF RID: 86223 RVA: 0x0050E964 File Offset: 0x0050CB64 [Token(Token = "0x60150CF")] [Address(RVA = "0x13BBA30", Offset = "0x13BA430", VA = "0x1813BBA30")] public void EMLOHBHENFF(Vector3 POMGIDPAKLH, float OCHEHCGCCIJ) { int num = 0; this.isShattered = true; RagdollPiece[] array = this.ragdollPieces; if (num < array.Length) { array[num].gameObject.SetActive(true); RagdollPiece ragdollPiece = this.ragdollPieces[num]; Transform transform = this.origin; int num2 = 0; if (!(transform != num2)) { Weapon weapon = this.weapon; int num3 = 0; if (!(weapon != num3)) { Vector3 zero = Vector3.zero; } Transform transform2 = this.weapon.transform; } Transform transform3 = this.origin; Vector3 vector; float z = vector.z; float z2 = POMGIDPAKLH.z; RagdollPiece[] array2 = this.ragdollPieces; num++; } } // Token: 0x060150D0 RID: 86224 RVA: 0x0050EA18 File Offset: 0x0050CC18 [Token(Token = "0x60150D0")] [Address(RVA = "0x13BBC80", Offset = "0x13BA680", VA = "0x1813BBC80")] public void KEFJFGLPCGI() { MeleeWeaponCollider[] array = this.meleeColliders; int num = 0; if (num < array.Length) { MeleeWeaponCollider meleeWeaponCollider = array[num]; int num2 = 0; if (meleeWeaponCollider != num2) { MeleeWeaponCollider meleeWeaponCollider2 = this.meleeColliders[num]; bool enabled = meleeWeaponCollider2.enabled; bool isEnabled = this._isEnabled; meleeWeaponCollider2.enabled = isEnabled; } MeleeWeaponCollider[] array2 = this.meleeColliders; num++; } } // Token: 0x060150D1 RID: 86225 RVA: 0x0050EA88 File Offset: 0x0050CC88 [Token(Token = "0x60150D1")] [Address(RVA = "0x13BBF00", Offset = "0x13BA900", VA = "0x1813BBF00")] public void OEJHLOAANFG() { DynamicMeshTrail[] array = this.trails; int num = 0; if (num < array.Length) { DynamicMeshTrail dynamicMeshTrail = array[num]; bool enabled = dynamicMeshTrail.enabled; bool isEnabled = this._isEnabled; dynamicMeshTrail.enabled = isEnabled; DynamicMeshTrail[] array2 = this.trails; num++; } } // Token: 0x060150D2 RID: 86226 RVA: 0x0050EAD8 File Offset: 0x0050CCD8 [Token(Token = "0x60150D2")] [Address(RVA = "0x13BBE70", Offset = "0x13BA870", VA = "0x1813BBE70")] private void MMPLKGAPCAO() { if (!this.isShattered) { RagdollPiece[] array = this.ragdollPieces; int num = 0; if (num < array.Length) { GameObject gameObject = array[num].gameObject; int num2 = 0; gameObject.SetActive(num2 != 0); RagdollPiece[] array2 = this.ragdollPieces; num++; } } } // Token: 0x060150D3 RID: 86227 RVA: 0x0050EB28 File Offset: 0x0050CD28 [Token(Token = "0x60150D3")] [Address(RVA = "0x13BBDA0", Offset = "0x13BA7A0", VA = "0x1813BBDA0")] private void MEAOOANLNHB() { RagdollPiece[] array = this.ragdollPieces; int num = 0; this.isShattered = false; if (num < array.Length) { array[num].gameObject.SetActive(true); this.ragdollPieces[num].StopRagdoll(); RagdollPiece[] array2 = this.ragdollPieces; num++; } } // Token: 0x060150D4 RID: 86228 RVA: 0x0050EB84 File Offset: 0x0050CD84 [Token(Token = "0x60150D4")] [Address(RVA = "0x13BB980", Offset = "0x13BA380", VA = "0x1813BB980")] private void DNIDIIKMKLM(int IOPIDGNPMLF) { MeleeWeaponChunk.DurabilityGameObject[] array = this.durabilityGameObjects; if (array != 0) { int num = 0; int num2 = 0; if (num2 < array.Length) { num += num; bool flag = IOPIDGNPMLF <= "{il2cpp field on 2, offset 0x2C}"; MeleeWeaponChunk.DurabilityGameObject[] array2 = this.durabilityGameObjects; num++; } } } // Token: 0x060150D5 RID: 86229 RVA: 0x0050EBD0 File Offset: 0x0050CDD0 [Token(Token = "0x60150D5")] [Address(RVA = "0x13BC040", Offset = "0x13BAA40", VA = "0x1813BC040")] public MeleeWeaponChunk() { } // Token: 0x0400E062 RID: 57442 [global::Cpp2IlInjected.FieldOffset(Offset = "0x10")] [Token(Token = "0x400E062")] [SerializeField] [Header("Config")] private int durability; // Token: 0x0400E063 RID: 57443 [global::Cpp2IlInjected.FieldOffset(Offset = "0x14")] [Token(Token = "0x400E063")] [SerializeField] private float weaponAttackContribution; // Token: 0x0400E064 RID: 57444 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x400E064")] [SerializeField] [Header("References")] private Transform origin; // Token: 0x0400E065 RID: 57445 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x400E065")] [SerializeField] private MeleeWeaponChunk.DurabilityGameObject[] durabilityGameObjects; // Token: 0x0400E066 RID: 57446 [global::Cpp2IlInjected.FieldOffset(Offset = "0x28")] [Token(Token = "0x400E066")] [SerializeField] private RagdollPiece[] ragdollPieces; // Token: 0x0400E067 RID: 57447 [global::Cpp2IlInjected.FieldOffset(Offset = "0x30")] [Token(Token = "0x400E067")] [SerializeField] private MeleeWeaponCollider[] meleeColliders; // Token: 0x0400E068 RID: 57448 [global::Cpp2IlInjected.FieldOffset(Offset = "0x38")] [Token(Token = "0x400E068")] [SerializeField] private DynamicMeshTrail[] trails; // Token: 0x0400E069 RID: 57449 [global::Cpp2IlInjected.FieldOffset(Offset = "0x40")] [Token(Token = "0x400E069")] private Weapon weapon; // Token: 0x0400E06A RID: 57450 [global::Cpp2IlInjected.FieldOffset(Offset = "0x48")] [Token(Token = "0x400E06A")] private bool isShattered; // Token: 0x0400E06B RID: 57451 [global::Cpp2IlInjected.FieldOffset(Offset = "0x49")] [Token(Token = "0x400E06B")] private bool _isEnabled = true; // Token: 0x02002E04 RID: 11780 [Token(Token = "0x2002E04")] [Serializable] public struct DurabilityGameObject { // Token: 0x0400E06C RID: 57452 [global::Cpp2IlInjected.FieldOffset(Offset = "0x0")] [Token(Token = "0x400E06C")] public GameObject GameObject; // Token: 0x0400E06D RID: 57453 [global::Cpp2IlInjected.FieldOffset(Offset = "0x8")] [Token(Token = "0x400E06D")] public int MinimumVisibilityDamage; // Token: 0x0400E06E RID: 57454 [global::Cpp2IlInjected.FieldOffset(Offset = "0xC")] [Token(Token = "0x400E06E")] public int MaximumVisibilityDamage; } } }