using System; using System.Collections.Generic; using Cpp2IlInjected; using RecRoom.Core.AI; using UnityEngine; namespace RecRoom.Core.Combat { // Token: 0x020034B9 RID: 13497 [Token(Token = "0x20034B9")] [Serializable] public class MeleeWeaponChunk { // Token: 0x17004087 RID: 16519 // (get) Token: 0x060176C4 RID: 95940 RVA: 0x00574B84 File Offset: 0x00572D84 [Token(Token = "0x17004087")] public Vector3 OriginPosition { [Token(Token = "0x60176C4")] [Address(RVA = "0x1F160A0", Offset = "0x1F150A0", VA = "0x181F160A0")] get { bool flag; if (!flag) { bool flag2; if (!flag2) { Vector3 zero = Vector3.zero; } Vector3 vector; float z = vector.z; } throw new NullReferenceException(); } } // Token: 0x17004088 RID: 16520 // (get) Token: 0x060176C5 RID: 95941 RVA: 0x00574BB0 File Offset: 0x00572DB0 [Token(Token = "0x17004088")] public int Durability { [Token(Token = "0x60176C5")] [Address(RVA = "0x40F000", Offset = "0x40E000", VA = "0x18040F000")] get { return this.durability; } } // Token: 0x17004089 RID: 16521 // (get) Token: 0x060176C6 RID: 95942 RVA: 0x00574BC4 File Offset: 0x00572DC4 [Token(Token = "0x17004089")] public IEnumerable DurabilityGameObjects { [Token(Token = "0x60176C6")] [Address(RVA = "0x4157C0", Offset = "0x4147C0", VA = "0x1804157C0")] get { /* An exception occurred when decompiling this method (060176C6) 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: 0x1700408A RID: 16522 // (get) Token: 0x060176C7 RID: 95943 RVA: 0x00574BD8 File Offset: 0x00572DD8 [Token(Token = "0x1700408A")] public float WeaponAttackContribution { [Token(Token = "0x60176C7")] [Address(RVA = "0x7A91E0", Offset = "0x7A81E0", VA = "0x1807A91E0")] get { return this.weaponAttackContribution; } } // Token: 0x1700408B RID: 16523 // (set) Token: 0x060176C8 RID: 95944 RVA: 0x00574BEC File Offset: 0x00572DEC [Token(Token = "0x1700408B")] public int DurabilityDamageTaken { [Token(Token = "0x60176C8")] [Address(RVA = "0x1F15B40", Offset = "0x1F14B40", VA = "0x181F15B40")] 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: 0x1700408C RID: 16524 // (get) Token: 0x060176C9 RID: 95945 RVA: 0x00574C38 File Offset: 0x00572E38 // (set) Token: 0x060176CA RID: 95946 RVA: 0x00574C4C File Offset: 0x00572E4C [Token(Token = "0x1700408C")] public bool IsEnabled { [Token(Token = "0x60176C9")] [Address(RVA = "0x4B4FF0", Offset = "0x4B3FF0", VA = "0x1804B4FF0")] get { return this._isEnabled; } [Token(Token = "0x60176CA")] [Address(RVA = "0x1F161C0", Offset = "0x1F151C0", VA = "0x181F161C0")] set { this._isEnabled = value; this.KEFJFGLPCGI(); this.OEJHLOAANFG(); if (!value) { if (this.isShattered != value) { return; } RagdollPiece[] array = this.ragdollPieces; int num = 0; if (num >= array.Length) { return; } GameObject gameObject = array[num].gameObject; int num2 = 0; gameObject.SetActive(num2 != 0); RagdollPiece[] array2 = this.ragdollPieces; num++; } RagdollPiece[] array3 = this.ragdollPieces; int num3 = 0; this.isShattered = false; if (num3 < array3.Length) { array3[num3].gameObject.SetActive(true); this.ragdollPieces[num3].StopRagdoll(); RagdollPiece[] array4 = this.ragdollPieces; num3++; while (array4 != 0) { } } } } // Token: 0x060176CB RID: 95947 RVA: 0x00574D0C File Offset: 0x00572F0C [Token(Token = "0x60176CB")] [Address(RVA = "0x1F16070", Offset = "0x1F15070", VA = "0x181F16070")] public void OFFLOPLJBBG(MeleeWeapon GDIGKHINJCG) { this.weapon = GDIGKHINJCG; int num = 0; this.isShattered = false; this.DurabilityDamageTaken = num; } // Token: 0x060176CC RID: 95948 RVA: 0x00574D30 File Offset: 0x00572F30 [Token(Token = "0x60176CC")] [Address(RVA = "0x1F15BF0", Offset = "0x1F14BF0", VA = "0x181F15BF0")] 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]; Vector3 vector; float z = vector.z; float z2 = POMGIDPAKLH.z; RagdollPiece[] array2 = this.ragdollPieces; num++; } } // Token: 0x060176CD RID: 95949 RVA: 0x00574D98 File Offset: 0x00572F98 [Token(Token = "0x60176CD")] [Address(RVA = "0x1F15D50", Offset = "0x1F14D50", VA = "0x181F15D50")] 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: 0x060176CE RID: 95950 RVA: 0x00574E08 File Offset: 0x00573008 [Token(Token = "0x60176CE")] [Address(RVA = "0x1F15FD0", Offset = "0x1F14FD0", VA = "0x181F15FD0")] 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: 0x060176CF RID: 95951 RVA: 0x00574E58 File Offset: 0x00573058 [Token(Token = "0x60176CF")] [Address(RVA = "0x1F15F40", Offset = "0x1F14F40", VA = "0x181F15F40")] 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: 0x060176D0 RID: 95952 RVA: 0x00574EA8 File Offset: 0x005730A8 [Token(Token = "0x60176D0")] [Address(RVA = "0x1F15E70", Offset = "0x1F14E70", VA = "0x181F15E70")] 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: 0x060176D1 RID: 95953 RVA: 0x00574F04 File Offset: 0x00573104 [Token(Token = "0x60176D1")] [Address(RVA = "0x1F15B40", Offset = "0x1F14B40", VA = "0x181F15B40")] 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: 0x060176D2 RID: 95954 RVA: 0x00574F50 File Offset: 0x00573150 [Token(Token = "0x60176D2")] [Address(RVA = "0x1F16090", Offset = "0x1F15090", VA = "0x181F16090")] public MeleeWeaponChunk() { } // Token: 0x0400F33F RID: 62271 [FieldOffset(Offset = "0x10")] [Token(Token = "0x400F33F")] [SerializeField] [Header("Config")] private int durability; // Token: 0x0400F340 RID: 62272 [FieldOffset(Offset = "0x14")] [Token(Token = "0x400F340")] [SerializeField] private float weaponAttackContribution; // Token: 0x0400F341 RID: 62273 [FieldOffset(Offset = "0x18")] [Token(Token = "0x400F341")] [SerializeField] [Header("References")] private Transform origin; // Token: 0x0400F342 RID: 62274 [FieldOffset(Offset = "0x20")] [Token(Token = "0x400F342")] [SerializeField] private MeleeWeaponChunk.DurabilityGameObject[] durabilityGameObjects; // Token: 0x0400F343 RID: 62275 [FieldOffset(Offset = "0x28")] [Token(Token = "0x400F343")] [SerializeField] private RagdollPiece[] ragdollPieces; // Token: 0x0400F344 RID: 62276 [FieldOffset(Offset = "0x30")] [Token(Token = "0x400F344")] [SerializeField] private MeleeWeaponCollider[] meleeColliders; // Token: 0x0400F345 RID: 62277 [FieldOffset(Offset = "0x38")] [Token(Token = "0x400F345")] [SerializeField] private DynamicMeshTrail[] trails; // Token: 0x0400F346 RID: 62278 [FieldOffset(Offset = "0x40")] [Token(Token = "0x400F346")] private Weapon weapon; // Token: 0x0400F347 RID: 62279 [FieldOffset(Offset = "0x48")] [Token(Token = "0x400F347")] private bool isShattered; // Token: 0x0400F348 RID: 62280 [FieldOffset(Offset = "0x49")] [Token(Token = "0x400F348")] private bool _isEnabled = true; // Token: 0x020034BA RID: 13498 [Token(Token = "0x20034BA")] [Serializable] public struct DurabilityGameObject { // Token: 0x0400F349 RID: 62281 [FieldOffset(Offset = "0x0")] [Token(Token = "0x400F349")] public GameObject GameObject; // Token: 0x0400F34A RID: 62282 [FieldOffset(Offset = "0x8")] [Token(Token = "0x400F34A")] public int MinimumVisibilityDamage; // Token: 0x0400F34B RID: 62283 [FieldOffset(Offset = "0xC")] [Token(Token = "0x400F34B")] public int MaximumVisibilityDamage; } } }