using System; using System.Collections.Generic; using System.Runtime.InteropServices; using Cpp2IlInjected; using RecRoom.Core; using RecRoom.Core.Combat; using RecRoom.Networking.SynchronizedFields; using UnityEngine; namespace RecRoom.Tools.Weapons { // Token: 0x0200265E RID: 9822 [Token(Token = "0x200265E")] [StructLayout(3)] public class PaintThrower : AutomaticGun { // Token: 0x17002E41 RID: 11841 // (get) Token: 0x0601103F RID: 69695 RVA: 0x00400B60 File Offset: 0x003FED60 // (set) Token: 0x06011040 RID: 69696 RVA: 0x00400B80 File Offset: 0x003FED80 [Token(Token = "0x17002E41")] private int PEOCOICLHEJ { [Token(Token = "0x601103F")] [Address(RVA = "0x19480C0", Offset = "0x1946AC0", VA = "0x1819480C0")] get { return this.HPOKNDIAIOC.Get(); } [Token(Token = "0x6011040")] [Address(RVA = "0x1948910", Offset = "0x1947310", VA = "0x181948910")] set { SynchronizedField hpokndiaioc = this.HPOKNDIAIOC; } } // Token: 0x17002E42 RID: 11842 // (get) Token: 0x06011041 RID: 69697 RVA: 0x00400B9C File Offset: 0x003FED9C // (set) Token: 0x06011042 RID: 69698 RVA: 0x00400BBC File Offset: 0x003FEDBC [Token(Token = "0x17002E42")] private bool CCHADJNBBEG { [Token(Token = "0x6011041")] [Address(RVA = "0x1948A90", Offset = "0x1947490", VA = "0x181948A90")] get { return this.LBIEHIBDCBG.Get() != null; } [Token(Token = "0x6011042")] [Address(RVA = "0x1948A30", Offset = "0x1947430", VA = "0x181948A30")] set { SynchronizedField lbiehibdcbg = this.LBIEHIBDCBG; } } // Token: 0x06011043 RID: 69699 RVA: 0x00400BD8 File Offset: 0x003FEDD8 [Token(Token = "0x6011043")] [Address(RVA = "0x1947F20", Offset = "0x1946920", VA = "0x181947F20", Slot = "13")] protected override void Awake() { base.Awake(); ulong num; this.EIFNMFGEKOA = num; Action action = new Action(this.ICLKMKJFCGH); int num2; int num3; SynchronizedField synchronizedField = new SynchronizedField(this, "MSRS", num2, (SetterPermissionMode)num3, action, num3); num3 = 0; num2 = 0; this.HPOKNDIAIOC = synchronizedField; Action action2 = new Action(this.GPFLHFEDHLM); int num4; SynchronizedField synchronizedField2 = new SynchronizedField(this, "PSA", num4, (SetterPermissionMode)num3, action2, num3); num4 = 0; Tool tool = this._tool; this.LBIEHIBDCBG = synchronizedField2; ActionEvent postPickupEvent = tool.PostPickupEvent; Action action3 = new Action(this.AEHDEJPEAKM); ActionEvent actionEvent = postPickupEvent + action3; tool.PostPickupEvent = actionEvent; } // Token: 0x06011044 RID: 69700 RVA: 0x00400C84 File Offset: 0x003FEE84 [Token(Token = "0x6011044")] [Address(RVA = "0x1948B90", Offset = "0x1947590", VA = "0x181948B90", Slot = "17")] protected override void Start() { base.Start(); global::UnityEngine.Random.InitState(this.HPOKNDIAIOC.Get()); this.GPFLHFEDHLM(); } // Token: 0x06011045 RID: 69701 RVA: 0x00400CB4 File Offset: 0x003FEEB4 [Token(Token = "0x6011045")] [Address(RVA = "0x1948AE0", Offset = "0x19474E0", VA = "0x181948AE0", Slot = "14")] protected override void OnDestroy() { Tool tool = this._tool; ActionEvent postPickupEvent = tool.PostPickupEvent; Action action = new Action(this.AEHDEJPEAKM); ActionEvent actionEvent = postPickupEvent - action; tool.PostPickupEvent = actionEvent; base.OnDestroy(); } // Token: 0x06011046 RID: 69702 RVA: 0x00400CF8 File Offset: 0x003FEEF8 [Token(Token = "0x6011046")] [Address(RVA = "0x1947DF0", Offset = "0x19467F0", VA = "0x181947DF0")] private void AEHDEJPEAKM(Tool NBHJPDBHDHB) { if (base.hasAuthority) { int num = global::UnityEngine.Random.Range(-100, 100); SynchronizedField hpokndiaioc = this.HPOKNDIAIOC; } INGEKFNNGDK qualitySetting = SingletonMonoBehaviour.Instance.KONLNCONKKJ; PaintThrower.QualitySettingReducedFeedback[] array = this.reducedFeedbackSettings; int num2 = 0; this.JMKICAPHBPJ = qualitySetting; int num3 = (int)qualitySetting; int length = array.Length; if (num2 < length) { PaintThrower.QualitySettingReducedFeedback qualitySettingReducedFeedback = array[num2]; if (qualitySettingReducedFeedback != num3) { num2++; } this.EIFNMFGEKOA = qualitySettingReducedFeedback; } } // Token: 0x06011047 RID: 69703 RVA: 0x00400D70 File Offset: 0x003FEF70 [Token(Token = "0x6011047")] [Address(RVA = "0x1948110", Offset = "0x1946B10", VA = "0x181948110", Slot = "37")] protected override void BJKIKMAOAFH(GHMDIDJLFMC KNLMJBAKCGF) { byte emhobonpcga = this.EMHOBONPCGA; byte pebdgmmlffc = this.PEBDGMMLFFC; base.BJKIKMAOAFH(KNLMJBAKCGF); } // Token: 0x06011048 RID: 69704 RVA: 0x00400D94 File Offset: 0x003FEF94 [Token(Token = "0x6011048")] [Address(RVA = "0x1948280", Offset = "0x1946C80", VA = "0x181948280", Slot = "40")] public override void Fire(float LFDFFDCJAAD = 1f) { Vector3 vector; float z = vector.z; Vector3 vector2; float z2 = vector2.z; } // Token: 0x06011049 RID: 69705 RVA: 0x00400DB0 File Offset: 0x003FEFB0 [Token(Token = "0x6011049")] [Address(RVA = "0x1948370", Offset = "0x1946D70", VA = "0x181948370", Slot = "41")] public override void Fire(Vector3 NHAOMEMANJA, float LFDFFDCJAAD = 1f) { if (base.HOEGEPPBJAE) { int magazineAmmunition = base.DFPKOJKFNIF; base.ReloadAmmunition(); base.JOHDHGHPGBN(); } Tool tool = this._tool; if (tool.k__BackingField) { PlayerHand k__BackingField = tool.k__BackingField; this._tool.k__BackingField.Vibrate(20, 0.5f); } Player owner = this._tool.BHNPNHMILIF; int num = 0; if (owner != num && this._tool.BHNPNHMILIF != 0) { base.KIBLIKMBDHA(); RangedWeapon.LocalPlayerFireStaticEvent.Invoke(this); return; } } // Token: 0x0601104A RID: 69706 RVA: 0x00400E48 File Offset: 0x003FF048 [Token(Token = "0x601104A")] [Address(RVA = "0x1948220", Offset = "0x1946C20", VA = "0x181948220")] private IEnumerator CCGPBHIGAJI() { /* An exception occurred when decompiling this method (0601104A) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.Generic.IEnumerator`1 RecRoom.Tools.Weapons.PaintThrower::CCGPBHIGAJI() ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: call:void(MBNABGDLNAE::System.IDisposable.Dispose, ldloc:MBNABGDLNAE(var_0)) stfld:int32(MBNABGDLNAE::<>1__state, ldloc:MBNABGDLNAE(var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](0))) stfld:PaintThrower(MBNABGDLNAE::<>4__this, ldloc:MBNABGDLNAE(var_0), ldloc:PaintThrower(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: 0x0601104B RID: 69707 RVA: 0x00400E6C File Offset: 0x003FF06C [Token(Token = "0x601104B")] [Address(RVA = "0x1947D80", Offset = "0x1946780", VA = "0x181947D80", Slot = "54")] protected override void ABNPFEDICFJ() { base.ABNPFEDICFJ(); if (base.hasAuthority) { SynchronizedField lbiehibdcbg = this.LBIEHIBDCBG; return; } } // Token: 0x0601104C RID: 69708 RVA: 0x00400E98 File Offset: 0x003FF098 [Token(Token = "0x601104C")] [Address(RVA = "0x19489C0", Offset = "0x19473C0", VA = "0x1819489C0", Slot = "53")] protected override void IGIDNLPODPD() { base.IGIDNLPODPD(); if (base.hasAuthority) { SynchronizedField lbiehibdcbg = this.LBIEHIBDCBG; int num = 0; lbiehibdcbg.Set(num); return; } } // Token: 0x0601104D RID: 69709 RVA: 0x00400ECC File Offset: 0x003FF0CC [Token(Token = "0x601104D")] [Address(RVA = "0x1948970", Offset = "0x1947370", VA = "0x181948970")] private void ICLKMKJFCGH() { global::UnityEngine.Random.InitState(this.HPOKNDIAIOC.Get()); } // Token: 0x0601104E RID: 69710 RVA: 0x00400EF0 File Offset: 0x003FF0F0 [Token(Token = "0x601104E")] [Address(RVA = "0x1948540", Offset = "0x1946F40", VA = "0x181948540")] private void GPFLHFEDHLM() { ISchedulerPromise lapdeijchep = this.LAPDEIJCHEP; int num = 0; if (lapdeijchep != 0) { byte bgbogagnpfa = this.BGBOGAGNPFA; this.PEBDGMMLFFC = bgbogagnpfa; this.LAPDEIJCHEP = num; } if (this.LBIEHIBDCBG.Get() != 0) { } if (this.LBIEHIBDCBG.Get() == 0) { AudioManager.StopLoopingSFX(this.DFEGINICGBK); RecRoomAudioClip recRoomAudioClip = this.streamStopSfx; Transform transform = base.transform; int num2 = 0; int num3 = 0; SFXAudioSource sfxaudioSource = AudioManager.Play3DSFX(recRoomAudioClip, transform, num3, num2); } Scheduler instance = SingletonMonoBehaviour.Instance; PaintThrower.MBNABGDLNAE mbnabgdlnae; mbnabgdlnae.System.IDisposable.Dispose(); mbnabgdlnae.<>1__state = num; mbnabgdlnae.<>4__this = this; ISchedulerPromise schedulerPromise = instance.Run(this, mbnabgdlnae); this.LAPDEIJCHEP = schedulerPromise; if (num != 0) { ParticleSystem particleSystem = this.streamParticles; ParticleSystem.MainModule main = particleSystem.main; float bulletFireSpeed = this.bulletFireSpeed; particleSystem.Volume = bulletFireSpeed; throw new MissingMethodException(); } RecRoomAudioClip recRoomAudioClip2 = this.streamStartSfx; Transform transform2 = base.transform; int num4 = 0; int num5 = 0; SFXAudioSource sfxaudioSource2 = AudioManager.Play3DSFX(recRoomAudioClip2, transform2, num5, num4); RecRoomAudioClip recRoomAudioClip3 = this.streamLoopingSfx; Transform transform3 = base.transform; int num6 = 0; int num7 = 0; SFXAudioSource sfxaudioSource3 = AudioManager.StartLooping3DSFX(recRoomAudioClip3, transform3, num7, num6); this.DFEGINICGBK = sfxaudioSource3; this.streamParticles.gameObject.SetActive(num != 0); } // Token: 0x0601104F RID: 69711 RVA: 0x00401038 File Offset: 0x003FF238 [Token(Token = "0x601104F")] [Address(RVA = "0x1948C00", Offset = "0x1947600", VA = "0x181948C00")] public PaintThrower() { } // Token: 0x0400B4D4 RID: 46292 [Token(Token = "0x400B4D4")] private const float OIFIBANOKKI = 8f; // Token: 0x0400B4D5 RID: 46293 [global::Cpp2IlInjected.FieldOffset(Offset = "0x300")] [Token(Token = "0x400B4D5")] [SerializeField] [Header("Paint Thrower Visuals")] private ParticleSystem streamParticles; // Token: 0x0400B4D6 RID: 46294 [global::Cpp2IlInjected.FieldOffset(Offset = "0x308")] [Token(Token = "0x400B4D6")] [SerializeField] private PaintThrower.QualitySettingReducedFeedback[] reducedFeedbackSettings; // Token: 0x0400B4D7 RID: 46295 [global::Cpp2IlInjected.FieldOffset(Offset = "0x310")] [Token(Token = "0x400B4D7")] [SerializeField] [Header("Paint Thrower Audio")] private RecRoomAudioClip streamStartSfx; // Token: 0x0400B4D8 RID: 46296 [global::Cpp2IlInjected.FieldOffset(Offset = "0x318")] [Token(Token = "0x400B4D8")] [SerializeField] private RecRoomAudioClip streamLoopingSfx; // Token: 0x0400B4D9 RID: 46297 [global::Cpp2IlInjected.FieldOffset(Offset = "0x320")] [Token(Token = "0x400B4D9")] [SerializeField] private RecRoomAudioClip streamStopSfx; // Token: 0x0400B4DA RID: 46298 [global::Cpp2IlInjected.FieldOffset(Offset = "0x328")] [Token(Token = "0x400B4DA")] private PaintThrower.QualitySettingReducedFeedback EIFNMFGEKOA; // Token: 0x0400B4DB RID: 46299 [global::Cpp2IlInjected.FieldOffset(Offset = "0x330")] [Token(Token = "0x400B4DB")] private INGEKFNNGDK JMKICAPHBPJ; // Token: 0x0400B4DC RID: 46300 [global::Cpp2IlInjected.FieldOffset(Offset = "0x334")] [Token(Token = "0x400B4DC")] private byte EMHOBONPCGA; // Token: 0x0400B4DD RID: 46301 [global::Cpp2IlInjected.FieldOffset(Offset = "0x335")] [Token(Token = "0x400B4DD")] private byte PEBDGMMLFFC; // Token: 0x0400B4DE RID: 46302 [global::Cpp2IlInjected.FieldOffset(Offset = "0x338")] [Token(Token = "0x400B4DE")] private ISchedulerPromise LAPDEIJCHEP; // Token: 0x0400B4DF RID: 46303 [global::Cpp2IlInjected.FieldOffset(Offset = "0x340")] [Token(Token = "0x400B4DF")] private SFXAudioSource DFEGINICGBK; // Token: 0x0400B4E0 RID: 46304 [global::Cpp2IlInjected.FieldOffset(Offset = "0x348")] [Token(Token = "0x400B4E0")] private SynchronizedField HPOKNDIAIOC; // Token: 0x0400B4E1 RID: 46305 [global::Cpp2IlInjected.FieldOffset(Offset = "0x350")] [Token(Token = "0x400B4E1")] private SynchronizedField LBIEHIBDCBG; // Token: 0x0200265F RID: 9823 [Token(Token = "0x200265F")] [Serializable] private struct QualitySettingReducedFeedback { // Token: 0x17002E43 RID: 11843 // (get) Token: 0x06011050 RID: 69712 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x17002E43")] public static PaintThrower.QualitySettingReducedFeedback Default { [Token(Token = "0x6011050")] [Address(RVA = "0x194CF30", Offset = "0x194B930", VA = "0x18194CF30")] get { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } } // Token: 0x06011051 RID: 69713 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6011051")] [Address(RVA = "0x23AA20", Offset = "0x239E20", VA = "0x18023AA20")] public bool KAFLDIANPMA(int BAFLIKCNDJI) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0400B4E2 RID: 46306 [global::Cpp2IlInjected.FieldOffset(Offset = "0x0")] [Token(Token = "0x400B4E2")] public INGEKFNNGDK QualitySetting; // Token: 0x0400B4E3 RID: 46307 [global::Cpp2IlInjected.FieldOffset(Offset = "0x4")] [Token(Token = "0x400B4E3")] public float FeedbackPercentage; } } }