using System; using System.Collections.Generic; using Cpp2IlInjected; using RecRoom.Core; using RecRoom.Core.Combat; using UnityEngine; using UnityEngine.Rendering.Universal; namespace RecRoom.Tools.Weapons { // Token: 0x02002C32 RID: 11314 [Token(Token = "0x2002C32")] public class PaintThrower : AutomaticGun { // Token: 0x170034BB RID: 13499 // (get) Token: 0x06012DFB RID: 77307 RVA: 0x0044BF38 File Offset: 0x0044A138 // (set) Token: 0x06012DFC RID: 77308 RVA: 0x0044BF58 File Offset: 0x0044A158 [Token(Token = "0x170034BB")] private int PEOCOICLHEJ { [Token(Token = "0x6012DFB")] [Address(RVA = "0x1D37F60", Offset = "0x1D36F60", VA = "0x181D37F60")] get { return this.HPOKNDIAIOC.IAHDANBDAAM(); } [Token(Token = "0x6012DFC")] [Address(RVA = "0x1D38990", Offset = "0x1D37990", VA = "0x181D38990")] set { KLLMCPFPIIE hpokndiaioc = this.HPOKNDIAIOC; } } // Token: 0x170034BC RID: 13500 // (get) Token: 0x06012DFD RID: 77309 RVA: 0x0044BF74 File Offset: 0x0044A174 // (set) Token: 0x06012DFE RID: 77310 RVA: 0x0044BF94 File Offset: 0x0044A194 [Token(Token = "0x170034BC")] private bool CCHADJNBBEG { [Token(Token = "0x6012DFD")] [Address(RVA = "0x1D38B10", Offset = "0x1D37B10", VA = "0x181D38B10")] get { return this.LBIEHIBDCBG.IAHDANBDAAM() != null; } [Token(Token = "0x6012DFE")] [Address(RVA = "0x1D38AB0", Offset = "0x1D37AB0", VA = "0x181D38AB0")] set { KLLMCPFPIIE lbiehibdcbg = this.LBIEHIBDCBG; } } // Token: 0x06012DFF RID: 77311 RVA: 0x0044BFB0 File Offset: 0x0044A1B0 [Token(Token = "0x6012DFF")] [Address(RVA = "0x1D37C90", Offset = "0x1D36C90", VA = "0x181D37C90", Slot = "13")] protected override void Awake() { base.Awake(); Action action = new Action(this.EHDNCHLIKMF); IRecRoomQualityConfigProvider recRoomQualityConfigProvider; this.NNCBFAJKOMH = recRoomQualityConfigProvider; this.CKGHIELFCFO(); Action action2 = new Action(this.ICLKMKJFCGH); int num; int num2; KLLMCPFPIIE kllmcpfpiie = new KLLMCPFPIIE(this, "MSRS", num, (OHOEENCHJJE)num2, action2, num2); num2 = 0; num = 0; this.HPOKNDIAIOC = kllmcpfpiie; Action action3 = new Action(this.GPFLHFEDHLM); int num3; KLLMCPFPIIE kllmcpfpiie2 = new KLLMCPFPIIE(this, "PSA", num3, (OHOEENCHJJE)num2, action3, num2); num3 = 0; Tool tool = this._tool; this.LBIEHIBDCBG = kllmcpfpiie2; MFBGLIHGCGO postPickupEvent = tool.PostPickupEvent; Action action4 = new Action(this.AEHDEJPEAKM); MFBGLIHGCGO mfbglihgcgo = MFBGLIHGCGO.BPJDFPACLMK(postPickupEvent, action4); tool.PostPickupEvent = mfbglihgcgo; } // Token: 0x06012E00 RID: 77312 RVA: 0x0044C07C File Offset: 0x0044A27C [Token(Token = "0x6012E00")] [Address(RVA = "0x1D38CE0", Offset = "0x1D37CE0", VA = "0x181D38CE0", Slot = "17")] protected override void Start() { base.Start(); global::UnityEngine.Random.InitState(this.HPOKNDIAIOC.IAHDANBDAAM()); this.GPFLHFEDHLM(); } // Token: 0x06012E01 RID: 77313 RVA: 0x0044C0AC File Offset: 0x0044A2AC [Token(Token = "0x6012E01")] [Address(RVA = "0x1D38B60", Offset = "0x1D37B60", VA = "0x181D38B60", Slot = "14")] protected override void OnDestroy() { Action action = new Action(this.EHDNCHLIKMF); Tool tool = this._tool; MFBGLIHGCGO postPickupEvent = tool.PostPickupEvent; Action action2 = new Action(this.AEHDEJPEAKM); MFBGLIHGCGO mfbglihgcgo = MFBGLIHGCGO.GMNMHGMFGOL(postPickupEvent, action2); tool.PostPickupEvent = mfbglihgcgo; base.OnDestroy(); } // Token: 0x06012E02 RID: 77314 RVA: 0x0044C104 File Offset: 0x0044A304 [Token(Token = "0x6012E02")] [Address(RVA = "0x1D382F0", Offset = "0x1D372F0", VA = "0x181D382F0")] private void EHDNCHLIKMF(PPDOPHKNMCK NLNHFEEMFBN) { this.CKGHIELFCFO(); } // Token: 0x06012E03 RID: 77315 RVA: 0x0044C118 File Offset: 0x0044A318 [Token(Token = "0x6012E03")] [Address(RVA = "0x1D38120", Offset = "0x1D37120", VA = "0x181D38120")] private void CKGHIELFCFO() { PaintThrower.QualitySettingReducedFeedback[] array = this.reducedFeedbackSettings; int num = 0; if (num < array.Length) { IRecRoomQualityConfigProvider nncbfajkomh = this.NNCBFAJKOMH; PaintThrower.QualitySettingReducedFeedback qualitySettingReducedFeedback = array[num]; num += num; num++; uint num2; if (num2 != (uint)(-1)) { PaintThrower.QualitySettingReducedFeedback[] array2 = this.reducedFeedbackSettings; if (qualitySettingReducedFeedback < "{il2cpp array field local7->}") { } } PaintThrower.QualitySettingReducedFeedback[] array3 = this.reducedFeedbackSettings; num++; num += num; } if (num == -1) { ulong num3; this.EIFNMFGEKOA = num3; return; } throw new NullReferenceException(); } // Token: 0x06012E04 RID: 77316 RVA: 0x0044C188 File Offset: 0x0044A388 [Token(Token = "0x6012E04")] [Address(RVA = "0x1D37C10", Offset = "0x1D36C10", VA = "0x181D37C10")] private void AEHDEJPEAKM(Tool NBHJPDBHDHB) { if (base.OGIBLNIIHDK) { int num = global::UnityEngine.Random.Range(-100, 100); KLLMCPFPIIE hpokndiaioc = this.HPOKNDIAIOC; } this.CKGHIELFCFO(); } // Token: 0x06012E05 RID: 77317 RVA: 0x0044C1BC File Offset: 0x0044A3BC [Token(Token = "0x6012E05")] [Address(RVA = "0x1D37FB0", Offset = "0x1D36FB0", VA = "0x181D37FB0", Slot = "37")] protected override void BJKIKMAOAFH(GHMDIDJLFMC KNLMJBAKCGF) { byte emhobonpcga = this.EMHOBONPCGA; byte pebdgmmlffc = this.PEBDGMMLFFC; bool flag; if (flag) { base.BJKIKMAOAFH(KNLMJBAKCGF); } } // Token: 0x06012E06 RID: 77318 RVA: 0x0044C1E4 File Offset: 0x0044A3E4 [Token(Token = "0x6012E06")] [Address(RVA = "0x1D38300", Offset = "0x1D37300", VA = "0x181D38300", Slot = "40")] public override void Fire(float LFDFFDCJAAD = 1f) { Vector3 vector; float z = vector.z; Vector3 vector2; float z2 = vector2.z; } // Token: 0x06012E07 RID: 77319 RVA: 0x0044C200 File Offset: 0x0044A400 [Token(Token = "0x6012E07")] [Address(RVA = "0x1D383F0", Offset = "0x1D373F0", VA = "0x181D383F0", 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.CNFDGDEOPPF(this); return; } } // Token: 0x06012E08 RID: 77320 RVA: 0x0044C298 File Offset: 0x0044A498 [Token(Token = "0x6012E08")] [Address(RVA = "0x1D380C0", Offset = "0x1D370C0", VA = "0x181D380C0")] private IEnumerator CCGPBHIGAJI() { /* An exception occurred when decompiling this method (06012E08) 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(IGIMIPLHNHC::System.IDisposable.Dispose, ldloc:IGIMIPLHNHC(var_0)) stfld:int32(IGIMIPLHNHC::<>1__state, ldloc:IGIMIPLHNHC(var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](0))) stfld:PaintThrower(IGIMIPLHNHC::<>4__this, ldloc:IGIMIPLHNHC(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: 0x06012E09 RID: 77321 RVA: 0x0044C2BC File Offset: 0x0044A4BC [Token(Token = "0x6012E09")] [Address(RVA = "0x1D37BA0", Offset = "0x1D36BA0", VA = "0x181D37BA0", Slot = "54")] protected override void ABNPFEDICFJ() { base.ABNPFEDICFJ(); if (base.OGIBLNIIHDK) { KLLMCPFPIIE lbiehibdcbg = this.LBIEHIBDCBG; return; } } // Token: 0x06012E0A RID: 77322 RVA: 0x0044C2E8 File Offset: 0x0044A4E8 [Token(Token = "0x6012E0A")] [Address(RVA = "0x1D38A40", Offset = "0x1D37A40", VA = "0x181D38A40", Slot = "53")] protected override void IGIDNLPODPD() { base.IGIDNLPODPD(); if (base.OGIBLNIIHDK) { KLLMCPFPIIE lbiehibdcbg = this.LBIEHIBDCBG; int num = 0; lbiehibdcbg.BDJFGEJFPPO(num); return; } } // Token: 0x06012E0B RID: 77323 RVA: 0x0044C31C File Offset: 0x0044A51C [Token(Token = "0x6012E0B")] [Address(RVA = "0x1D389F0", Offset = "0x1D379F0", VA = "0x181D389F0")] private void ICLKMKJFCGH() { global::UnityEngine.Random.InitState(this.HPOKNDIAIOC.IAHDANBDAAM()); } // Token: 0x06012E0C RID: 77324 RVA: 0x0044C340 File Offset: 0x0044A540 [Token(Token = "0x6012E0C")] [Address(RVA = "0x1D385C0", Offset = "0x1D375C0", VA = "0x181D385C0")] private void GPFLHFEDHLM() { KFBABPAPIMB lapdeijchep = this.LAPDEIJCHEP; int num = 0; if (lapdeijchep != 0) { byte bgbogagnpfa = this.BGBOGAGNPFA; this.PEBDGMMLFFC = bgbogagnpfa; this.LAPDEIJCHEP = num; } if (this.LBIEHIBDCBG.IAHDANBDAAM() != 0) { } if (this.LBIEHIBDCBG.IAHDANBDAAM() == 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.ONCPNMDGGKG; PaintThrower.IGIMIPLHNHC igimiplhnhc; igimiplhnhc.System.IDisposable.Dispose(); igimiplhnhc.<>1__state = num; igimiplhnhc.<>4__this = this; KFBABPAPIMB kfbabpapimb = instance.Run(this, igimiplhnhc); this.LAPDEIJCHEP = kfbabpapimb; if (num != 0) { ParticleSystem particleSystem = this.streamParticles; ParticleSystem.MainModule main = particleSystem.main; float bulletFireSpeed = this.bulletFireSpeed; particleSystem.GBCGEDODDPD = bulletFireSpeed; float bulletFireSpeed2 = this.bulletFireSpeed; particleSystem.scale = bulletFireSpeed2; } 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: 0x06012E0D RID: 77325 RVA: 0x0044C48C File Offset: 0x0044A68C [Token(Token = "0x6012E0D")] [Address(RVA = "0x1D38D50", Offset = "0x1D37D50", VA = "0x181D38D50")] public PaintThrower() { } // Token: 0x0400C241 RID: 49729 [Token(Token = "0x400C241")] private const float OIFIBANOKKI = 8f; // Token: 0x0400C242 RID: 49730 [FieldOffset(Offset = "0x308")] [Token(Token = "0x400C242")] [SerializeField] [Header("Paint Thrower Visuals")] private ParticleSystem streamParticles; // Token: 0x0400C243 RID: 49731 [FieldOffset(Offset = "0x310")] [Token(Token = "0x400C243")] [SerializeField] private PaintThrower.QualitySettingReducedFeedback[] reducedFeedbackSettings; // Token: 0x0400C244 RID: 49732 [FieldOffset(Offset = "0x318")] [Token(Token = "0x400C244")] [SerializeField] [Header("Paint Thrower Audio")] private RecRoomAudioClip streamStartSfx; // Token: 0x0400C245 RID: 49733 [FieldOffset(Offset = "0x320")] [Token(Token = "0x400C245")] [SerializeField] private RecRoomAudioClip streamLoopingSfx; // Token: 0x0400C246 RID: 49734 [FieldOffset(Offset = "0x328")] [Token(Token = "0x400C246")] [SerializeField] private RecRoomAudioClip streamStopSfx; // Token: 0x0400C247 RID: 49735 [FieldOffset(Offset = "0x330")] [Token(Token = "0x400C247")] private PaintThrower.QualitySettingReducedFeedback EIFNMFGEKOA; // Token: 0x0400C248 RID: 49736 [FieldOffset(Offset = "0x338")] [Token(Token = "0x400C248")] private PPDOPHKNMCK JMKICAPHBPJ; // Token: 0x0400C249 RID: 49737 [FieldOffset(Offset = "0x33C")] [Token(Token = "0x400C249")] private byte EMHOBONPCGA; // Token: 0x0400C24A RID: 49738 [FieldOffset(Offset = "0x33D")] [Token(Token = "0x400C24A")] private byte PEBDGMMLFFC; // Token: 0x0400C24B RID: 49739 [FieldOffset(Offset = "0x340")] [Token(Token = "0x400C24B")] private KFBABPAPIMB LAPDEIJCHEP; // Token: 0x0400C24C RID: 49740 [FieldOffset(Offset = "0x348")] [Token(Token = "0x400C24C")] private SFXAudioSource DFEGINICGBK; // Token: 0x0400C24D RID: 49741 [FieldOffset(Offset = "0x350")] [Token(Token = "0x400C24D")] private IRecRoomQualityConfigProvider NNCBFAJKOMH; // Token: 0x0400C24E RID: 49742 [FieldOffset(Offset = "0x358")] [Token(Token = "0x400C24E")] private KLLMCPFPIIE HPOKNDIAIOC; // Token: 0x0400C24F RID: 49743 [FieldOffset(Offset = "0x360")] [Token(Token = "0x400C24F")] private KLLMCPFPIIE LBIEHIBDCBG; // Token: 0x02002C33 RID: 11315 [Token(Token = "0x2002C33")] [Serializable] private struct QualitySettingReducedFeedback { // Token: 0x170034BD RID: 13501 // (get) Token: 0x06012E0E RID: 77326 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x170034BD")] public static PaintThrower.QualitySettingReducedFeedback Default { [Token(Token = "0x6012E0E")] [Address(RVA = "0x1D3CFB0", Offset = "0x1D3BFB0", VA = "0x181D3CFB0")] get { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } } // Token: 0x06012E0F RID: 77327 RVA: 0x0044C4A0 File Offset: 0x0044A6A0 [Token(Token = "0x6012E0F")] [Address(RVA = "0x1D3CF20", Offset = "0x1D3BF20", VA = "0x181D3CF20")] public bool KAFLDIANPMA(int BAFLIKCNDJI) { int num = 0; int num2 = Mathf.FloorToInt(1f); return num == 0; } // Token: 0x0400C250 RID: 49744 [FieldOffset(Offset = "0x0")] [Token(Token = "0x400C250")] public ParticleQualityLevel ParticleQuality; // Token: 0x0400C251 RID: 49745 [FieldOffset(Offset = "0x4")] [Token(Token = "0x400C251")] public float FeedbackPercentage; } } }