using System; using System.Runtime.InteropServices; using Cpp2IlInjected; using Photon.Pun; using Photon.Realtime; using RecRoom.Core.AI; using RecRoom.Core.Combat; using RecRoom.Core.Pools; using RecRoom.Networking.SynchronizedFields; using UnityEngine; namespace RecRoom.Tools { // Token: 0x02002544 RID: 9540 [Token(Token = "0x2002544")] [StructLayout(3)] public class Snowball : Weapon { // Token: 0x17002CB9 RID: 11449 // (get) Token: 0x0601073B RID: 67387 RVA: 0x003DCCE4 File Offset: 0x003DAEE4 // (set) Token: 0x0601073C RID: 67388 RVA: 0x003DCD04 File Offset: 0x003DAF04 [Token(Token = "0x17002CB9")] public int HKEOKJDBLEE { [Token(Token = "0x601073B")] [Address(RVA = "0x15B0A60", Offset = "0x15AF460", VA = "0x1815B0A60")] get { return this.CKAPMNNHDCO.Get(); } [Token(Token = "0x601073C")] [Address(RVA = "0x15B0B70", Offset = "0x15AF570", VA = "0x1815B0B70")] set { SynchronizedField ckapmnnhdco = this.CKAPMNNHDCO; } } // Token: 0x17002CBA RID: 11450 // (get) Token: 0x0601073D RID: 67389 RVA: 0x003DCD20 File Offset: 0x003DAF20 // (set) Token: 0x0601073E RID: 67390 RVA: 0x003DCD40 File Offset: 0x003DAF40 [Token(Token = "0x17002CBA")] public bool GDKLHMGJPMP { [Token(Token = "0x601073D")] [Address(RVA = "0x15B09C0", Offset = "0x15AF3C0", VA = "0x1815B09C0")] get { return this.IJNMFMDFLGI.Get() != null; } [Token(Token = "0x601073E")] [Address(RVA = "0x15B0AB0", Offset = "0x15AF4B0", VA = "0x1815B0AB0")] set { SynchronizedField ijnmfmdflgi = this.IJNMFMDFLGI; } } // Token: 0x17002CBB RID: 11451 // (get) Token: 0x0601073F RID: 67391 RVA: 0x003DCD5C File Offset: 0x003DAF5C // (set) Token: 0x06010740 RID: 67392 RVA: 0x003DCD7C File Offset: 0x003DAF7C [Token(Token = "0x17002CBB")] public int MCIHGCOEJND { [Token(Token = "0x601073F")] [Address(RVA = "0x15B0A10", Offset = "0x15AF410", VA = "0x1815B0A10")] get { return this.HFFLDDFOGEJ.Get(); } [Token(Token = "0x6010740")] [Address(RVA = "0x15B0B10", Offset = "0x15AF510", VA = "0x1815B0B10")] set { SynchronizedField hfflddfogej = this.HFFLDDFOGEJ; } } // Token: 0x17002CBC RID: 11452 // (get) Token: 0x06010741 RID: 67393 RVA: 0x003DCD98 File Offset: 0x003DAF98 [Token(Token = "0x17002CBC")] private ToolCleanup GAKKKKFMOHH { [Token(Token = "0x6010741")] [Address(RVA = "0x15AF450", Offset = "0x15ADE50", VA = "0x1815AF450")] get { ToolCleanup kgfpakondfl = this.KGFPAKONDFL; int num = 0; if (kgfpakondfl == num) { ToolCleanup component = base.GetComponent(); this.KGFPAKONDFL = component; } return this.KGFPAKONDFL; } } // Token: 0x17002CBD RID: 11453 // (get) Token: 0x06010742 RID: 67394 RVA: 0x003DCDCC File Offset: 0x003DAFCC [Token(Token = "0x17002CBD")] protected override Color EPDNPLLEPOH { [Token(Token = "0x6010742")] [Address(RVA = "0x12C5CC0", Offset = "0x12C46C0", VA = "0x1812C5CC0", Slot = "15")] get { /* An exception occurred when decompiling this method (06010742) 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: 0x06010743 RID: 67395 RVA: 0x003DCDE0 File Offset: 0x003DAFE0 [Token(Token = "0x6010743")] [Address(RVA = "0x15AF0D0", Offset = "0x15ADAD0", VA = "0x1815AF0D0", Slot = "13")] protected override void Awake() { base.Awake(); Action action = new Action(this.CLFOJNFEANH); SynchronizedField synchronizedField; this.IJNMFMDFLGI = synchronizedField; SynchronizedField synchronizedField2; this.HFFLDDFOGEJ = synchronizedField2; Action action2 = new Action(this.MILKHMGBJID); SynchronizedField synchronizedField3; this.CKAPMNNHDCO = synchronizedField3; Tool tool = this._tool; int num = 0; if (tool != num) { Tool tool2 = this._tool; ActionEvent postPickupEvent = tool2.PostPickupEvent; Action action3 = new Action(this.BDDEMBIOJHO); ActionEvent actionEvent = postPickupEvent + action3; tool2.PostPickupEvent = actionEvent; Tool tool3 = this._tool; ActionEvent postReleaseEvent = tool3.PostReleaseEvent; Action action4 = new Action(this.ELFGKAIEJPN); ActionEvent actionEvent2 = postReleaseEvent + action4; tool3.PostReleaseEvent = actionEvent2; Tool tool4 = this._tool; ActionEvent postResetEvent = tool4.PostResetEvent; Action action5 = new Action(this.FICCBKGGJOE); ActionEvent actionEvent3; tool4.PostResetEvent = actionEvent3; } } // Token: 0x06010744 RID: 67396 RVA: 0x003DCED8 File Offset: 0x003DB0D8 [Token(Token = "0x6010744")] [Address(RVA = "0x15B07C0", Offset = "0x15AF1C0", VA = "0x1815B07C0", 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.hasAuthority) { SynchronizedField ijnmfmdflgi = this.IJNMFMDFLGI; int num3 = 0; ijnmfmdflgi.Set(num3); SynchronizedField hfflddfogej = this.HFFLDDFOGEJ; int num4 = 0; hfflddfogej.Set(num4); } bool flag = this.IJNMFMDFLGI.Get() != null; ParticleSystem particleSystem = this.trailParticles; if (!flag) { particleSystem.Stop(); return; } particleSystem.Play(); } // Token: 0x06010745 RID: 67397 RVA: 0x003DCF70 File Offset: 0x003DB170 [Token(Token = "0x6010745")] [Address(RVA = "0x15B0630", Offset = "0x15AF030", VA = "0x1815B0630", Slot = "14")] protected override void OnDestroy() { base.OnDestroy(); Tool tool = this._tool; int num = 0; if (tool != num) { Tool tool2 = this._tool; ActionEvent postPickupEvent = tool2.PostPickupEvent; Action action = new Action(this.BDDEMBIOJHO); ActionEvent actionEvent = postPickupEvent - action; tool2.PostPickupEvent = actionEvent; Tool tool3 = this._tool; ActionEvent preReleaseEvent = tool3.PreReleaseEvent; Action action2 = new Action(this.ELFGKAIEJPN); ActionEvent actionEvent2 = preReleaseEvent - action2; tool3.PreReleaseEvent = actionEvent2; Tool tool4 = this._tool; ActionEvent postResetEvent = tool4.PostResetEvent; Action action3 = new Action(this.FICCBKGGJOE); ActionEvent actionEvent3; tool4.PostResetEvent = actionEvent3; } } // Token: 0x06010746 RID: 67398 RVA: 0x003DD028 File Offset: 0x003DB228 [Token(Token = "0x6010746")] [Address(RVA = "0x15B0930", Offset = "0x15AF330", VA = "0x1815B0930")] protected void Update() { this.KONADJNFBLA(); } // Token: 0x06010747 RID: 67399 RVA: 0x003DD03C File Offset: 0x003DB23C [Token(Token = "0x6010747")] [Address(RVA = "0x15AFBE0", Offset = "0x15AE5E0", VA = "0x1815AFBE0")] private void KONADJNFBLA() { if (!this.visualRoot.gameObject.activeSelf) { if (this.HFFLDDFOGEJ.Get() == 0 || !PhotonNetwork.IsMasterClient) { goto IL_5E; } int num = PhotonNetwork.ServerTimestamp; int num2 = this.HFFLDDFOGEJ.Get(); num -= num2; this._tool.LocalTakeOwnershipAndResetToLastSpawnPosition(); } bool flag = this.IJNMFMDFLGI.Get() == 0; IL_5E: if (this.HFFLDDFOGEJ.Get() != 0 && this.visualRoot.gameObject.activeSelf) { int num3 = PhotonNetwork.ServerTimestamp; int num4 = this.HFFLDDFOGEJ.Get(); num3 -= num4; this.HLMFKMFBEBD(); } ToolCleanup toolCleanup = this.GAKKKKFMOHH; int num5 = 0; if (toolCleanup != num5 && this.GAKKKKFMOHH.enabled != flag) { this.GAKKKKFMOHH.enabled = flag; } } // Token: 0x06010748 RID: 67400 RVA: 0x003DD128 File Offset: 0x003DB328 [Token(Token = "0x6010748")] [Address(RVA = "0x15AF380", Offset = "0x15ADD80", VA = "0x1815AF380")] private void BDDEMBIOJHO(Tool NBHJPDBHDHB) { if (base.hasAuthority) { SynchronizedField ijnmfmdflgi = this.IJNMFMDFLGI; int num = 0; ijnmfmdflgi.Set(num); return; } } // Token: 0x06010749 RID: 67401 RVA: 0x003DD158 File Offset: 0x003DB358 [Token(Token = "0x6010749")] [Address(RVA = "0x15AF4E0", Offset = "0x15ADEE0", VA = "0x1815AF4E0")] private void ELFGKAIEJPN(Tool EGFEJGHDNAI) { if (base.hasAuthority) { Photon.Realtime.Player localPlayer = PhotonNetwork.LocalPlayer; SynchronizedField ckapmnnhdco = this.CKAPMNNHDCO; } if (base.hasAuthority) { RigidbodyEx rigidbodyEx = this._tool.rigidbodyEx; Vector3 vector; float z = vector.z; SynchronizedField ijnmfmdflgi = this.IJNMFMDFLGI; } } // Token: 0x0601074A RID: 67402 RVA: 0x003DD1AC File Offset: 0x003DB3AC [Token(Token = "0x601074A")] [Address(RVA = "0x15AF630", Offset = "0x15AE030", VA = "0x1815AF630")] 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.hasAuthority) { SynchronizedField ckapmnnhdco = this.CKAPMNNHDCO; SynchronizedField ijnmfmdflgi = this.IJNMFMDFLGI; int num = 0; ijnmfmdflgi.Set(num); SynchronizedField hfflddfogej = this.HFFLDDFOGEJ; int num2 = 0; hfflddfogej.Set(num2); return; } } // Token: 0x0601074B RID: 67403 RVA: 0x003DD214 File Offset: 0x003DB414 [Token(Token = "0x601074B")] [Address(RVA = "0x15AFF00", Offset = "0x15AE900", VA = "0x1815AFF00")] private void MILKHMGBJID() { Photon.Realtime.Player localPlayer = PhotonNetwork.LocalPlayer; int num = this.CKAPMNNHDCO.Get(); Photon.Realtime.Player player = localPlayer.Get(num); if (player != 0) { global::Player player2 = player.GPOMCJICJIH(); this.JPIMHOLIGNH = player2; return; } this.JPIMHOLIGNH = player; } // Token: 0x0601074C RID: 67404 RVA: 0x003DD260 File Offset: 0x003DB460 [Token(Token = "0x601074C")] [Address(RVA = "0x15AF3E0", Offset = "0x15ADDE0", VA = "0x1815AF3E0")] private void CLFOJNFEANH() { bool flag = this.IJNMFMDFLGI.Get() != null; ParticleSystem particleSystem = this.trailParticles; if (!flag) { particleSystem.Stop(); return; } particleSystem.Play(); } // Token: 0x0601074D RID: 67405 RVA: 0x003DD298 File Offset: 0x003DB498 [Token(Token = "0x601074D")] [Address(RVA = "0x15AFB30", Offset = "0x15AE530", VA = "0x1815AFB30")] private void JMKPDMIFJPJ() { if (base.hasAuthority) { RigidbodyEx rigidbodyEx = this._tool.rigidbodyEx; Vector3 vector; float z = vector.z; SynchronizedField ijnmfmdflgi = this.IJNMFMDFLGI; } } // Token: 0x0601074E RID: 67406 RVA: 0x003DD2D4 File Offset: 0x003DB4D4 [Token(Token = "0x601074E")] [Address(RVA = "0x15AF900", Offset = "0x15AE300", VA = "0x1815AF900")] 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.hasAuthority) { int serverTimestamp = PhotonNetwork.ServerTimestamp; SynchronizedField hfflddfogej = this.HFFLDDFOGEJ; } } // Token: 0x0601074F RID: 67407 RVA: 0x003DD358 File Offset: 0x003DB558 [Token(Token = "0x601074F")] [Address(RVA = "0x15AF760", Offset = "0x15AE160", VA = "0x1815AF760")] 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: 0x06010750 RID: 67408 RVA: 0x003DD3F0 File Offset: 0x003DB5F0 [Token(Token = "0x6010750")] [Address(RVA = "0x15AFFD0", Offset = "0x15AE9D0", VA = "0x1815AFFD0")] private void OnCollisionEnter(Collision GBJHLKOJGPB) { int num = 0; if (this.IJNMFMDFLGI.Get() != 0) { global::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; global::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; } } } global::Player jpimholignh2 = this.JPIMHOLIGNH; if (player != jpimholignh2) { Transform transform = base.transform; Vector3 vector4; float z4 = vector4.z; } } } } } // Token: 0x06010751 RID: 67409 RVA: 0x003DD574 File Offset: 0x003DB774 [Token(Token = "0x6010751")] [Address(RVA = "0x15B0940", Offset = "0x15AF340", VA = "0x1815B0940")] public Snowball() { } // Token: 0x0400AF44 RID: 44868 [global::Cpp2IlInjected.FieldOffset(Offset = "0x208")] [Token(Token = "0x400AF44")] [SerializeField] [Header("Snowball")] private Transform visualRoot; // Token: 0x0400AF45 RID: 44869 [global::Cpp2IlInjected.FieldOffset(Offset = "0x210")] [Token(Token = "0x400AF45")] [SerializeField] private PooledParticle explodeParticles; // Token: 0x0400AF46 RID: 44870 [global::Cpp2IlInjected.FieldOffset(Offset = "0x218")] [Token(Token = "0x400AF46")] [SerializeField] private float postExplosionCleanupTimeout = 5f; // Token: 0x0400AF47 RID: 44871 [global::Cpp2IlInjected.FieldOffset(Offset = "0x21C")] [Token(Token = "0x400AF47")] [SerializeField] private float postAuthorityCollisionDisable = 0.5f; // Token: 0x0400AF48 RID: 44872 [global::Cpp2IlInjected.FieldOffset(Offset = "0x220")] [Token(Token = "0x400AF48")] [SerializeField] private float speedNeededToArm = 5f; // Token: 0x0400AF49 RID: 44873 [global::Cpp2IlInjected.FieldOffset(Offset = "0x228")] [Token(Token = "0x400AF49")] [SerializeField] private ParticleSystem trailParticles; // Token: 0x0400AF4A RID: 44874 [global::Cpp2IlInjected.FieldOffset(Offset = "0x230")] [Token(Token = "0x400AF4A")] [SerializeField] private RecRoomAudioClip explodeAudio; // Token: 0x0400AF4B RID: 44875 [global::Cpp2IlInjected.FieldOffset(Offset = "0x238")] [Token(Token = "0x400AF4B")] [SerializeField] private IIBIOPCKHGK destroyOnLayers = (IIBIOPCKHGK)((ulong)362036736L); // Token: 0x0400AF4C RID: 44876 [global::Cpp2IlInjected.FieldOffset(Offset = "0x240")] [Token(Token = "0x400AF4C")] private ToolCleanup KGFPAKONDFL; // Token: 0x0400AF4D RID: 44877 [global::Cpp2IlInjected.FieldOffset(Offset = "0x248")] [Token(Token = "0x400AF4D")] private SynchronizedField IJNMFMDFLGI; // Token: 0x0400AF4E RID: 44878 [global::Cpp2IlInjected.FieldOffset(Offset = "0x250")] [Token(Token = "0x400AF4E")] private SynchronizedField HFFLDDFOGEJ; // Token: 0x0400AF4F RID: 44879 [global::Cpp2IlInjected.FieldOffset(Offset = "0x258")] [Token(Token = "0x400AF4F")] private SynchronizedField CKAPMNNHDCO; // Token: 0x0400AF50 RID: 44880 [global::Cpp2IlInjected.FieldOffset(Offset = "0x260")] [Token(Token = "0x400AF50")] private global::Player JPIMHOLIGNH; } }