using System; using Cpp2IlInjected; using RecRoom.Core.AI; using RecRoom.Core.Combat; using RecRoom.Core.Pools; using UnityEngine; namespace RecRoom.Tools { // Token: 0x020029F7 RID: 10743 [Token(Token = "0x20029F7")] public class Snowball : Weapon { // Token: 0x17003254 RID: 12884 // (get) Token: 0x06011FAA RID: 73642 RVA: 0x0041A200 File Offset: 0x00418400 // (set) Token: 0x06011FAB RID: 73643 RVA: 0x0041A220 File Offset: 0x00418420 [Token(Token = "0x17003254")] public int HKEOKJDBLEE { [Token(Token = "0x6011FAA")] [Address(RVA = "0x937B90", Offset = "0x936990", VA = "0x180937B90")] get { return this.CKAPMNNHDCO.IAHDANBDAAM(); } [Token(Token = "0x6011FAB")] [Address(RVA = "0x937CA0", Offset = "0x936AA0", VA = "0x180937CA0")] set { KLLMCPFPIIE ckapmnnhdco = this.CKAPMNNHDCO; } } // Token: 0x17003255 RID: 12885 // (get) Token: 0x06011FAC RID: 73644 RVA: 0x0041A23C File Offset: 0x0041843C // (set) Token: 0x06011FAD RID: 73645 RVA: 0x0041A25C File Offset: 0x0041845C [Token(Token = "0x17003255")] public bool GDKLHMGJPMP { [Token(Token = "0x6011FAC")] [Address(RVA = "0x937AF0", Offset = "0x9368F0", VA = "0x180937AF0")] get { return this.IJNMFMDFLGI.IAHDANBDAAM() != null; } [Token(Token = "0x6011FAD")] [Address(RVA = "0x937BE0", Offset = "0x9369E0", VA = "0x180937BE0")] set { KLLMCPFPIIE ijnmfmdflgi = this.IJNMFMDFLGI; } } // Token: 0x17003256 RID: 12886 // (get) Token: 0x06011FAE RID: 73646 RVA: 0x0041A278 File Offset: 0x00418478 // (set) Token: 0x06011FAF RID: 73647 RVA: 0x0041A298 File Offset: 0x00418498 [Token(Token = "0x17003256")] public int MCIHGCOEJND { [Token(Token = "0x6011FAE")] [Address(RVA = "0x937B40", Offset = "0x936940", VA = "0x180937B40")] get { return this.HFFLDDFOGEJ.IAHDANBDAAM(); } [Token(Token = "0x6011FAF")] [Address(RVA = "0x937C40", Offset = "0x936A40", VA = "0x180937C40")] set { KLLMCPFPIIE hfflddfogej = this.HFFLDDFOGEJ; } } // Token: 0x17003257 RID: 12887 // (get) Token: 0x06011FB0 RID: 73648 RVA: 0x0041A2B4 File Offset: 0x004184B4 [Token(Token = "0x17003257")] private ToolCleanup GAKKKKFMOHH { [Token(Token = "0x6011FB0")] [Address(RVA = "0x936580", Offset = "0x935380", VA = "0x180936580")] get { ToolCleanup kgfpakondfl = this.KGFPAKONDFL; int num = 0; if (kgfpakondfl == num) { ToolCleanup component = base.GetComponent(); this.KGFPAKONDFL = component; } return this.KGFPAKONDFL; } } // Token: 0x17003258 RID: 12888 // (get) Token: 0x06011FB1 RID: 73649 RVA: 0x0041A2E8 File Offset: 0x004184E8 [Token(Token = "0x17003258")] protected override Color EPDNPLLEPOH { [Token(Token = "0x6011FB1")] [Address(RVA = "0x92D930", Offset = "0x92C730", VA = "0x18092D930", Slot = "15")] get { /* An exception occurred when decompiling this method (06011FB1) 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: 0x06011FB2 RID: 73650 RVA: 0x0041A2FC File Offset: 0x004184FC [Token(Token = "0x6011FB2")] [Address(RVA = "0x936200", Offset = "0x935000", VA = "0x180936200", 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: 0x06011FB3 RID: 73651 RVA: 0x0041A3FC File Offset: 0x004185FC [Token(Token = "0x6011FB3")] [Address(RVA = "0x9378F0", Offset = "0x9366F0", VA = "0x1809378F0", 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: 0x06011FB4 RID: 73652 RVA: 0x0041A494 File Offset: 0x00418694 [Token(Token = "0x6011FB4")] [Address(RVA = "0x937760", Offset = "0x936560", VA = "0x180937760", 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 preReleaseEvent = tool3.PreReleaseEvent; Action action2 = new Action(this.ELFGKAIEJPN); MFBGLIHGCGO mfbglihgcgo2 = MFBGLIHGCGO.GMNMHGMFGOL(preReleaseEvent, action2); tool3.PreReleaseEvent = 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: 0x06011FB5 RID: 73653 RVA: 0x0041A558 File Offset: 0x00418758 [Token(Token = "0x6011FB5")] [Address(RVA = "0x937A60", Offset = "0x936860", VA = "0x180937A60")] protected void Update() { this.KONADJNFBLA(); } // Token: 0x06011FB6 RID: 73654 RVA: 0x0041A56C File Offset: 0x0041876C [Token(Token = "0x6011FB6")] [Address(RVA = "0x936D10", Offset = "0x935B10", VA = "0x180936D10")] 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: 0x06011FB7 RID: 73655 RVA: 0x0041A658 File Offset: 0x00418858 [Token(Token = "0x6011FB7")] [Address(RVA = "0x9364B0", Offset = "0x9352B0", VA = "0x1809364B0")] private void BDDEMBIOJHO(Tool NBHJPDBHDHB) { if (base.OGIBLNIIHDK) { KLLMCPFPIIE ijnmfmdflgi = this.IJNMFMDFLGI; int num = 0; ijnmfmdflgi.BDJFGEJFPPO(num); return; } } // Token: 0x06011FB8 RID: 73656 RVA: 0x0041A688 File Offset: 0x00418888 [Token(Token = "0x6011FB8")] [Address(RVA = "0x936610", Offset = "0x935410", VA = "0x180936610")] 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: 0x06011FB9 RID: 73657 RVA: 0x0041A6DC File Offset: 0x004188DC [Token(Token = "0x6011FB9")] [Address(RVA = "0x936760", Offset = "0x935560", VA = "0x180936760")] 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: 0x06011FBA RID: 73658 RVA: 0x0041A744 File Offset: 0x00418944 [Token(Token = "0x6011FBA")] [Address(RVA = "0x937030", Offset = "0x935E30", VA = "0x180937030")] 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: 0x06011FBB RID: 73659 RVA: 0x0041A790 File Offset: 0x00418990 [Token(Token = "0x6011FBB")] [Address(RVA = "0x936510", Offset = "0x935310", VA = "0x180936510")] private void CLFOJNFEANH() { bool flag = this.IJNMFMDFLGI.IAHDANBDAAM() != null; ParticleSystem particleSystem = this.trailParticles; if (!flag) { particleSystem.Stop(); return; } particleSystem.Play(); } // Token: 0x06011FBC RID: 73660 RVA: 0x0041A7C8 File Offset: 0x004189C8 [Token(Token = "0x6011FBC")] [Address(RVA = "0x936C60", Offset = "0x935A60", VA = "0x180936C60")] private void JMKPDMIFJPJ() { if (base.OGIBLNIIHDK) { RigidbodyEx rigidbodyEx = this._tool.rigidbodyEx; Vector3 vector; float z = vector.z; KLLMCPFPIIE ijnmfmdflgi = this.IJNMFMDFLGI; } } // Token: 0x06011FBD RID: 73661 RVA: 0x0041A804 File Offset: 0x00418A04 [Token(Token = "0x6011FBD")] [Address(RVA = "0x936A30", Offset = "0x935830", VA = "0x180936A30")] 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: 0x06011FBE RID: 73662 RVA: 0x0041A888 File Offset: 0x00418A88 [Token(Token = "0x6011FBE")] [Address(RVA = "0x936890", Offset = "0x935690", VA = "0x180936890")] 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: 0x06011FBF RID: 73663 RVA: 0x0041A920 File Offset: 0x00418B20 [Token(Token = "0x6011FBF")] [Address(RVA = "0x937100", Offset = "0x935F00", VA = "0x180937100")] 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: 0x06011FC0 RID: 73664 RVA: 0x0041AAA4 File Offset: 0x00418CA4 [Token(Token = "0x6011FC0")] [Address(RVA = "0x937A70", Offset = "0x936870", VA = "0x180937A70")] public Snowball() { } // Token: 0x0400B9B6 RID: 47542 [FieldOffset(Offset = "0x210")] [Token(Token = "0x400B9B6")] [SerializeField] [Header("Snowball")] private Transform visualRoot; // Token: 0x0400B9B7 RID: 47543 [FieldOffset(Offset = "0x218")] [Token(Token = "0x400B9B7")] [SerializeField] private PooledParticle explodeParticles; // Token: 0x0400B9B8 RID: 47544 [FieldOffset(Offset = "0x220")] [Token(Token = "0x400B9B8")] [SerializeField] private float postExplosionCleanupTimeout = 5f; // Token: 0x0400B9B9 RID: 47545 [FieldOffset(Offset = "0x224")] [Token(Token = "0x400B9B9")] [SerializeField] private float postAuthorityCollisionDisable = 0.5f; // Token: 0x0400B9BA RID: 47546 [FieldOffset(Offset = "0x228")] [Token(Token = "0x400B9BA")] [SerializeField] private float speedNeededToArm = 5f; // Token: 0x0400B9BB RID: 47547 [FieldOffset(Offset = "0x230")] [Token(Token = "0x400B9BB")] [SerializeField] private ParticleSystem trailParticles; // Token: 0x0400B9BC RID: 47548 [FieldOffset(Offset = "0x238")] [Token(Token = "0x400B9BC")] [SerializeField] private RecRoomAudioClip explodeAudio; // Token: 0x0400B9BD RID: 47549 [FieldOffset(Offset = "0x240")] [Token(Token = "0x400B9BD")] [SerializeField] private IIBIOPCKHGK destroyOnLayers = (IIBIOPCKHGK)((ulong)362036736L); // Token: 0x0400B9BE RID: 47550 [FieldOffset(Offset = "0x248")] [Token(Token = "0x400B9BE")] private ToolCleanup KGFPAKONDFL; // Token: 0x0400B9BF RID: 47551 [FieldOffset(Offset = "0x250")] [Token(Token = "0x400B9BF")] private KLLMCPFPIIE IJNMFMDFLGI; // Token: 0x0400B9C0 RID: 47552 [FieldOffset(Offset = "0x258")] [Token(Token = "0x400B9C0")] private KLLMCPFPIIE HFFLDDFOGEJ; // Token: 0x0400B9C1 RID: 47553 [FieldOffset(Offset = "0x260")] [Token(Token = "0x400B9C1")] private KLLMCPFPIIE CKAPMNNHDCO; // Token: 0x0400B9C2 RID: 47554 [FieldOffset(Offset = "0x268")] [Token(Token = "0x400B9C2")] private Player JPIMHOLIGNH; } }