using System; using Cpp2IlInjected; using RecRoom.Core.AI; using RecRoom.Core.Combat; using RecRoom.Core.Pools; using UnityEngine; namespace RecRoom.Tools { // Token: 0x02002AE0 RID: 10976 [Token(Token = "0x2002AE0")] public class Snowball : Weapon { // Token: 0x17003307 RID: 13063 // (get) Token: 0x060123E6 RID: 74726 RVA: 0x00423CAC File Offset: 0x00421EAC // (set) Token: 0x060123E7 RID: 74727 RVA: 0x00423CCC File Offset: 0x00421ECC [Token(Token = "0x17003307")] public int HKEOKJDBLEE { [Token(Token = "0x60123E6")] [Address(RVA = "0x187E1E0", Offset = "0x187D1E0", VA = "0x18187E1E0")] get { return this.CKAPMNNHDCO.IAHDANBDAAM(); } [Token(Token = "0x60123E7")] [Address(RVA = "0x187E2F0", Offset = "0x187D2F0", VA = "0x18187E2F0")] set { KLLMCPFPIIE ckapmnnhdco = this.CKAPMNNHDCO; } } // Token: 0x17003308 RID: 13064 // (get) Token: 0x060123E8 RID: 74728 RVA: 0x00423CE8 File Offset: 0x00421EE8 // (set) Token: 0x060123E9 RID: 74729 RVA: 0x00423D08 File Offset: 0x00421F08 [Token(Token = "0x17003308")] public bool GDKLHMGJPMP { [Token(Token = "0x60123E8")] [Address(RVA = "0x187E140", Offset = "0x187D140", VA = "0x18187E140")] get { return this.IJNMFMDFLGI.IAHDANBDAAM() != null; } [Token(Token = "0x60123E9")] [Address(RVA = "0x187E230", Offset = "0x187D230", VA = "0x18187E230")] set { KLLMCPFPIIE ijnmfmdflgi = this.IJNMFMDFLGI; } } // Token: 0x17003309 RID: 13065 // (get) Token: 0x060123EA RID: 74730 RVA: 0x00423D24 File Offset: 0x00421F24 // (set) Token: 0x060123EB RID: 74731 RVA: 0x00423D44 File Offset: 0x00421F44 [Token(Token = "0x17003309")] public int MCIHGCOEJND { [Token(Token = "0x60123EA")] [Address(RVA = "0x187E190", Offset = "0x187D190", VA = "0x18187E190")] get { return this.HFFLDDFOGEJ.IAHDANBDAAM(); } [Token(Token = "0x60123EB")] [Address(RVA = "0x187E290", Offset = "0x187D290", VA = "0x18187E290")] set { KLLMCPFPIIE hfflddfogej = this.HFFLDDFOGEJ; } } // Token: 0x1700330A RID: 13066 // (get) Token: 0x060123EC RID: 74732 RVA: 0x00423D60 File Offset: 0x00421F60 [Token(Token = "0x1700330A")] private ToolCleanup GAKKKKFMOHH { [Token(Token = "0x60123EC")] [Address(RVA = "0x187CBD0", Offset = "0x187BBD0", VA = "0x18187CBD0")] get { ToolCleanup kgfpakondfl = this.KGFPAKONDFL; int num = 0; if (kgfpakondfl == num) { ToolCleanup component = base.GetComponent(); this.KGFPAKONDFL = component; } return this.KGFPAKONDFL; } } // Token: 0x1700330B RID: 13067 // (get) Token: 0x060123ED RID: 74733 RVA: 0x00423D94 File Offset: 0x00421F94 [Token(Token = "0x1700330B")] protected override Color EPDNPLLEPOH { [Token(Token = "0x60123ED")] [Address(RVA = "0x14C27D0", Offset = "0x14C17D0", VA = "0x1814C27D0", Slot = "15")] get { /* An exception occurred when decompiling this method (060123ED) ICSharpCode.Decompiler.DecompilerException: Error decompiling UnityEngine.Color RecRoom.Tools.Snowball::OHPGAOGBINO() ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:Color(var_0_05, callgetter:Color(Color::get_white)) } 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: 0x060123EE RID: 74734 RVA: 0x00423DA8 File Offset: 0x00421FA8 [Token(Token = "0x60123EE")] [Address(RVA = "0x187C850", Offset = "0x187B850", VA = "0x18187C850", Slot = "13")] protected override void Awake() { base.Awake(); Action action = new Action(this.CLFOJNFEANH); KLLMCPFPIIE kllmcpfpiie; this.IJNMFMDFLGI = kllmcpfpiie; KLLMCPFPIIE kllmcpfpiie2; this.HFFLDDFOGEJ = kllmcpfpiie2; Action action2 = new Action(this.MILKHMGBJID); KLLMCPFPIIE kllmcpfpiie3; this.CKAPMNNHDCO = kllmcpfpiie3; Tool tool = this._tool; int num = 0; if (tool != num) { Tool tool2 = this._tool; MFBGLIHGCGO postPickupEvent = tool2.PostPickupEvent; Action action3 = new Action(this.BDDEMBIOJHO); MFBGLIHGCGO mfbglihgcgo = MFBGLIHGCGO.BPJDFPACLMK(postPickupEvent, action3); tool2.PostPickupEvent = mfbglihgcgo; Tool tool3 = this._tool; MFBGLIHGCGO postReleaseEvent = tool3.PostReleaseEvent; Action action4 = new Action(this.ELFGKAIEJPN); MFBGLIHGCGO mfbglihgcgo2 = MFBGLIHGCGO.BPJDFPACLMK(postReleaseEvent, action4); tool3.PostReleaseEvent = mfbglihgcgo2; Tool tool4 = this._tool; EAHPNACBLDD postResetEvent = tool4.PostResetEvent; Action action5 = new Action(this.FICCBKGGJOE); EAHPNACBLDD eahpnacbldd = EAHPNACBLDD.BPJDFPACLMK(postResetEvent, action5); tool4.PostResetEvent = eahpnacbldd; } } // Token: 0x060123EF RID: 74735 RVA: 0x00423EA8 File Offset: 0x004220A8 [Token(Token = "0x60123EF")] [Address(RVA = "0x187DF40", Offset = "0x187CF40", VA = "0x18187DF40", Slot = "17")] protected override void Start() { base.Start(); Tool tool = this._tool; int num = 0; if (tool != num) { Tool tool2 = this._tool; int num2 = 0; tool2.NFNOHGFMPEA = num2 != 0; } if (base.OGIBLNIIHDK) { KLLMCPFPIIE ijnmfmdflgi = this.IJNMFMDFLGI; int num3 = 0; ijnmfmdflgi.BDJFGEJFPPO(num3); KLLMCPFPIIE hfflddfogej = this.HFFLDDFOGEJ; int num4 = 0; hfflddfogej.BDJFGEJFPPO(num4); } bool flag = this.IJNMFMDFLGI.IAHDANBDAAM() != null; ParticleSystem particleSystem = this.trailParticles; if (!flag) { particleSystem.Stop(); return; } particleSystem.Play(); } // Token: 0x060123F0 RID: 74736 RVA: 0x00423F40 File Offset: 0x00422140 [Token(Token = "0x60123F0")] [Address(RVA = "0x187DDB0", Offset = "0x187CDB0", VA = "0x18187DDB0", Slot = "14")] protected override void OnDestroy() { base.OnDestroy(); Tool tool = this._tool; int num = 0; if (tool != num) { Tool tool2 = this._tool; MFBGLIHGCGO postPickupEvent = tool2.PostPickupEvent; Action action = new Action(this.BDDEMBIOJHO); MFBGLIHGCGO mfbglihgcgo = MFBGLIHGCGO.GMNMHGMFGOL(postPickupEvent, action); tool2.PostPickupEvent = mfbglihgcgo; Tool tool3 = this._tool; MFBGLIHGCGO postReleaseEvent = tool3.PostReleaseEvent; Action action2 = new Action(this.ELFGKAIEJPN); MFBGLIHGCGO mfbglihgcgo2 = MFBGLIHGCGO.GMNMHGMFGOL(postReleaseEvent, action2); tool3.PostReleaseEvent = mfbglihgcgo2; Tool tool4 = this._tool; EAHPNACBLDD postResetEvent = tool4.PostResetEvent; Action action3 = new Action(this.FICCBKGGJOE); EAHPNACBLDD eahpnacbldd = EAHPNACBLDD.GMNMHGMFGOL(postResetEvent, action3); tool4.PostResetEvent = eahpnacbldd; } } // Token: 0x060123F1 RID: 74737 RVA: 0x00424004 File Offset: 0x00422204 [Token(Token = "0x60123F1")] [Address(RVA = "0x187E0B0", Offset = "0x187D0B0", VA = "0x18187E0B0")] protected void Update() { this.KONADJNFBLA(); } // Token: 0x060123F2 RID: 74738 RVA: 0x00424018 File Offset: 0x00422218 [Token(Token = "0x60123F2")] [Address(RVA = "0x187D360", Offset = "0x187C360", VA = "0x18187D360")] private void KONADJNFBLA() { if (!this.visualRoot.gameObject.activeSelf) { if (this.HFFLDDFOGEJ.IAHDANBDAAM() == 0 || !KKPBCOOONNK.BNNCCCFFALC) { goto IL_5E; } int num = KKPBCOOONNK.NLIADADJGIF; int num2 = this.HFFLDDFOGEJ.IAHDANBDAAM(); num -= num2; this._tool.LocalTakeOwnershipAndResetToLastSpawnPosition(); } bool flag = this.IJNMFMDFLGI.IAHDANBDAAM() == 0; IL_5E: if (this.HFFLDDFOGEJ.IAHDANBDAAM() != 0 && this.visualRoot.gameObject.activeSelf) { int num3 = KKPBCOOONNK.NLIADADJGIF; int num4 = this.HFFLDDFOGEJ.IAHDANBDAAM(); num3 -= num4; this.HLMFKMFBEBD(); } ToolCleanup toolCleanup = this.GAKKKKFMOHH; int num5 = 0; if (toolCleanup != num5 && this.GAKKKKFMOHH.enabled != flag) { this.GAKKKKFMOHH.enabled = flag; } } // Token: 0x060123F3 RID: 74739 RVA: 0x00424104 File Offset: 0x00422304 [Token(Token = "0x60123F3")] [Address(RVA = "0x187CB00", Offset = "0x187BB00", VA = "0x18187CB00")] private void BDDEMBIOJHO(Tool NBHJPDBHDHB) { if (base.OGIBLNIIHDK) { KLLMCPFPIIE ijnmfmdflgi = this.IJNMFMDFLGI; int num = 0; ijnmfmdflgi.BDJFGEJFPPO(num); return; } } // Token: 0x060123F4 RID: 74740 RVA: 0x00424134 File Offset: 0x00422334 [Token(Token = "0x60123F4")] [Address(RVA = "0x187CC60", Offset = "0x187BC60", VA = "0x18187CC60")] private void ELFGKAIEJPN(Tool EGFEJGHDNAI) { if (base.OGIBLNIIHDK) { AGAJMBPABDL agajmbpabdl = KKPBCOOONNK.MDMMDPEKICF; KLLMCPFPIIE ckapmnnhdco = this.CKAPMNNHDCO; } if (base.OGIBLNIIHDK) { RigidbodyEx rigidbodyEx = this._tool.rigidbodyEx; Vector3 vector; float z = vector.z; KLLMCPFPIIE ijnmfmdflgi = this.IJNMFMDFLGI; } } // Token: 0x060123F5 RID: 74741 RVA: 0x00424188 File Offset: 0x00422388 [Token(Token = "0x60123F5")] [Address(RVA = "0x187CDB0", Offset = "0x187BDB0", VA = "0x18187CDB0")] private void FICCBKGGJOE(Tool NBHJPDBHDHB, Vector3 BNMOCBJEEPN, Quaternion LPHCCEOHNIN, Vector3 GMMJHABHDHE, bool ACPOOMGHPKJ) { this.visualRoot.gameObject.SetActive(true); this._tool.rigidbodyEx.IEIKHAKBHFL = true; if (base.OGIBLNIIHDK) { KLLMCPFPIIE ckapmnnhdco = this.CKAPMNNHDCO; KLLMCPFPIIE ijnmfmdflgi = this.IJNMFMDFLGI; int num = 0; ijnmfmdflgi.BDJFGEJFPPO(num); KLLMCPFPIIE hfflddfogej = this.HFFLDDFOGEJ; int num2 = 0; hfflddfogej.BDJFGEJFPPO(num2); return; } } // Token: 0x060123F6 RID: 74742 RVA: 0x004241F0 File Offset: 0x004223F0 [Token(Token = "0x60123F6")] [Address(RVA = "0x187D680", Offset = "0x187C680", VA = "0x18187D680")] private void MILKHMGBJID() { AGAJMBPABDL agajmbpabdl = KKPBCOOONNK.MDMMDPEKICF; int num = this.CKAPMNNHDCO.IAHDANBDAAM(); AGAJMBPABDL agajmbpabdl2 = agajmbpabdl.IAHDANBDAAM(num); if (agajmbpabdl2 != 0) { Player player = agajmbpabdl2.GPOMCJICJIH(); this.JPIMHOLIGNH = player; return; } this.JPIMHOLIGNH = agajmbpabdl2; } // Token: 0x060123F7 RID: 74743 RVA: 0x0042423C File Offset: 0x0042243C [Token(Token = "0x60123F7")] [Address(RVA = "0x187CB60", Offset = "0x187BB60", VA = "0x18187CB60")] private void CLFOJNFEANH() { bool flag = this.IJNMFMDFLGI.IAHDANBDAAM() != null; ParticleSystem particleSystem = this.trailParticles; if (!flag) { particleSystem.Stop(); return; } particleSystem.Play(); } // Token: 0x060123F8 RID: 74744 RVA: 0x00424274 File Offset: 0x00422474 [Token(Token = "0x60123F8")] [Address(RVA = "0x187D2B0", Offset = "0x187C2B0", VA = "0x18187D2B0")] private void JMKPDMIFJPJ() { if (base.OGIBLNIIHDK) { RigidbodyEx rigidbodyEx = this._tool.rigidbodyEx; Vector3 vector; float z = vector.z; KLLMCPFPIIE ijnmfmdflgi = this.IJNMFMDFLGI; } } // Token: 0x060123F9 RID: 74745 RVA: 0x004242B0 File Offset: 0x004224B0 [Token(Token = "0x60123F9")] [Address(RVA = "0x187D080", Offset = "0x187C080", VA = "0x18187D080")] private void IMNCAGFEELB(Vector3 DDHPAFKBMON) { this.HLMFKMFBEBD(); GlobalPool instance = GlobalPool.ONCPNMDGGKG; PooledParticle pooledParticle = this.explodeParticles; PooledParticle pooledParticle2 = instance.Acquire(pooledParticle); int num = 0; if (pooledParticle2 != num) { Quaternion identity = Quaternion.identity; float z = DDHPAFKBMON.z; } RecRoomAudioClip recRoomAudioClip = this.explodeAudio; Transform transform = base.transform; Vector3 vector; float z2 = vector.z; if (base.OGIBLNIIHDK) { int num2 = KKPBCOOONNK.NLIADADJGIF; KLLMCPFPIIE hfflddfogej = this.HFFLDDFOGEJ; } } // Token: 0x060123FA RID: 74746 RVA: 0x00424334 File Offset: 0x00422534 [Token(Token = "0x60123FA")] [Address(RVA = "0x187CEE0", Offset = "0x187BEE0", VA = "0x18187CEE0")] private void HLMFKMFBEBD() { GameObject gameObject = this.visualRoot.gameObject; int num = 0; gameObject.SetActive(num != 0); RigidbodyEx rigidbodyEx = this._tool.rigidbodyEx; int num2 = 0; rigidbodyEx.IEIKHAKBHFL = num2 != 0; RigidbodyEx rigidbodyEx2 = this._tool.rigidbodyEx; float z = Vector3.zero.z; this.trailParticles.Stop(); if (this._tool.FNFNLDBILFE && this._tool.BHNPNHMILIF != 0) { Tool tool = this._tool; OKIMOMGKKDH ekjclgjfign = OKIMOMGKKDH.EKJCLGJFIGN; tool.IKEGONLJBPP = ekjclgjfign; } } // Token: 0x060123FB RID: 74747 RVA: 0x004243CC File Offset: 0x004225CC [Token(Token = "0x60123FB")] [Address(RVA = "0x187D750", Offset = "0x187C750", VA = "0x18187D750")] private void OnCollisionEnter(Collision GBJHLKOJGPB) { int num = 0; if (this.IJNMFMDFLGI.IAHDANBDAAM() != 0) { Player jpimholignh = this.JPIMHOLIGNH; int num2 = 0; if (jpimholignh != num2 && this.visualRoot.gameObject.activeSelf) { GameObject gameObject = GBJHLKOJGPB.collider.gameObject; GameObject gameObject2 = base.gameObject; if (!(gameObject == gameObject2) && GBJHLKOJGPB.contacts.Length != num) { RigidbodyEx rigidbodyEx = this._tool.rigidbodyEx; Vector3 vector; float z = vector.z; Tool tool = this._tool; Vector3 vector2; float z2 = vector2.z; RigidbodyEx rigidbodyEx2 = tool.rigidbodyEx; Vector3 vector3; float z3 = vector3.z; ContactPoint[] contacts = GBJHLKOJGPB.contacts; ContactPoint[] contacts2 = GBJHLKOJGPB.contacts; int num3 = 0; Player player = GBJHLKOJGPB.collider.PKPLHJFDDKE(num3); int num4 = 0; if (!(player != num4)) { int num5 = 0; Enemy enemy = GBJHLKOJGPB.collider.PABDAFCMNCK(num5); int num6 = 0; if (!(enemy != num6)) { Tool tool2 = GBJHLKOJGPB.collider.AMKJBLIFHPB(); int num7 = 0; if (!(tool2 != num7)) { IIBIOPCKHGK iibiopckhgk = this.destroyOnLayers; if (!gameObject.KHHDLOKCNHC(iibiopckhgk)) { return; } } ProjectileTool component = tool2.GetComponent(); int num8 = 0; if (component != num8) { return; } } } Player jpimholignh2 = this.JPIMHOLIGNH; if (player != jpimholignh2) { Transform transform = base.transform; Vector3 vector4; float z4 = vector4.z; } } } } } // Token: 0x060123FC RID: 74748 RVA: 0x00424550 File Offset: 0x00422750 [Token(Token = "0x60123FC")] [Address(RVA = "0x187E0C0", Offset = "0x187D0C0", VA = "0x18187E0C0")] public Snowball() { } // Token: 0x0400BBC6 RID: 48070 [FieldOffset(Offset = "0x210")] [Token(Token = "0x400BBC6")] [SerializeField] [Header("Snowball")] private Transform visualRoot; // Token: 0x0400BBC7 RID: 48071 [FieldOffset(Offset = "0x218")] [Token(Token = "0x400BBC7")] [SerializeField] private PooledParticle explodeParticles; // Token: 0x0400BBC8 RID: 48072 [FieldOffset(Offset = "0x220")] [Token(Token = "0x400BBC8")] [SerializeField] private float postExplosionCleanupTimeout = 5f; // Token: 0x0400BBC9 RID: 48073 [FieldOffset(Offset = "0x224")] [Token(Token = "0x400BBC9")] [SerializeField] private float postAuthorityCollisionDisable = 0.5f; // Token: 0x0400BBCA RID: 48074 [FieldOffset(Offset = "0x228")] [Token(Token = "0x400BBCA")] [SerializeField] private float speedNeededToArm = 5f; // Token: 0x0400BBCB RID: 48075 [FieldOffset(Offset = "0x230")] [Token(Token = "0x400BBCB")] [SerializeField] private ParticleSystem trailParticles; // Token: 0x0400BBCC RID: 48076 [FieldOffset(Offset = "0x238")] [Token(Token = "0x400BBCC")] [SerializeField] private RecRoomAudioClip explodeAudio; // Token: 0x0400BBCD RID: 48077 [FieldOffset(Offset = "0x240")] [Token(Token = "0x400BBCD")] [SerializeField] private IIBIOPCKHGK destroyOnLayers = (IIBIOPCKHGK)((ulong)362036736L); // Token: 0x0400BBCE RID: 48078 [FieldOffset(Offset = "0x248")] [Token(Token = "0x400BBCE")] private ToolCleanup KGFPAKONDFL; // Token: 0x0400BBCF RID: 48079 [FieldOffset(Offset = "0x250")] [Token(Token = "0x400BBCF")] private KLLMCPFPIIE IJNMFMDFLGI; // Token: 0x0400BBD0 RID: 48080 [FieldOffset(Offset = "0x258")] [Token(Token = "0x400BBD0")] private KLLMCPFPIIE HFFLDDFOGEJ; // Token: 0x0400BBD1 RID: 48081 [FieldOffset(Offset = "0x260")] [Token(Token = "0x400BBD1")] private KLLMCPFPIIE CKAPMNNHDCO; // Token: 0x0400BBD2 RID: 48082 [FieldOffset(Offset = "0x268")] [Token(Token = "0x400BBD2")] private Player JPIMHOLIGNH; } }