using System; using System.Collections.Generic; using Cpp2IlInjected; using RecRoom.Core; using RecRoom.Core.Combat; using UnityEngine; namespace RecRoom.Tools.Weapons { // Token: 0x02002B49 RID: 11081 [Token(Token = "0x2002B49")] public class PaintThrower : AutomaticGun { // Token: 0x17003407 RID: 13319 // (get) Token: 0x060129BE RID: 76222 RVA: 0x0044230C File Offset: 0x0044050C // (set) Token: 0x060129BF RID: 76223 RVA: 0x0044232C File Offset: 0x0044052C [Token(Token = "0x17003407")] private int PEOCOICLHEJ { [Token(Token = "0x60129BE")] [Address(RVA = "0xBB9F40", Offset = "0xBB8D40", VA = "0x180BB9F40")] get { return this.HPOKNDIAIOC.IAHDANBDAAM(); } [Token(Token = "0x60129BF")] [Address(RVA = "0xBBA790", Offset = "0xBB9590", VA = "0x180BBA790")] set { KLLMCPFPIIE hpokndiaioc = this.HPOKNDIAIOC; } } // Token: 0x17003408 RID: 13320 // (get) Token: 0x060129C0 RID: 76224 RVA: 0x00442348 File Offset: 0x00440548 // (set) Token: 0x060129C1 RID: 76225 RVA: 0x00442368 File Offset: 0x00440568 [Token(Token = "0x17003408")] private bool CCHADJNBBEG { [Token(Token = "0x60129C0")] [Address(RVA = "0xBBA910", Offset = "0xBB9710", VA = "0x180BBA910")] get { return this.LBIEHIBDCBG.IAHDANBDAAM() != null; } [Token(Token = "0x60129C1")] [Address(RVA = "0xBBA8B0", Offset = "0xBB96B0", VA = "0x180BBA8B0")] set { KLLMCPFPIIE lbiehibdcbg = this.LBIEHIBDCBG; } } // Token: 0x060129C2 RID: 76226 RVA: 0x00442384 File Offset: 0x00440584 [Token(Token = "0x60129C2")] [Address(RVA = "0xBB9DA0", Offset = "0xBB8BA0", VA = "0x180BB9DA0", Slot = "13")] protected override void Awake() { base.Awake(); ulong num; this.EIFNMFGEKOA = num; Action action = new Action(this.ICLKMKJFCGH); int num2; int num3; KLLMCPFPIIE kllmcpfpiie = new KLLMCPFPIIE(this, "MSRS", num2, (OHOEENCHJJE)num3, action, num3); num3 = 0; num2 = 0; this.HPOKNDIAIOC = kllmcpfpiie; Action action2 = new Action(this.GPFLHFEDHLM); int num4; KLLMCPFPIIE kllmcpfpiie2 = new KLLMCPFPIIE(this, "PSA", num4, (OHOEENCHJJE)num3, action2, num3); num4 = 0; Tool tool = this._tool; this.LBIEHIBDCBG = kllmcpfpiie2; MFBGLIHGCGO postPickupEvent = tool.PostPickupEvent; Action action3 = new Action(this.AEHDEJPEAKM); MFBGLIHGCGO mfbglihgcgo = MFBGLIHGCGO.BPJDFPACLMK(postPickupEvent, action3); tool.PostPickupEvent = mfbglihgcgo; } // Token: 0x060129C3 RID: 76227 RVA: 0x00442430 File Offset: 0x00440630 [Token(Token = "0x60129C3")] [Address(RVA = "0xBBAA10", Offset = "0xBB9810", VA = "0x180BBAA10", Slot = "17")] protected override void Start() { base.Start(); global::UnityEngine.Random.InitState(this.HPOKNDIAIOC.IAHDANBDAAM()); this.GPFLHFEDHLM(); } // Token: 0x060129C4 RID: 76228 RVA: 0x00442460 File Offset: 0x00440660 [Token(Token = "0x60129C4")] [Address(RVA = "0xBBA960", Offset = "0xBB9760", VA = "0x180BBA960", Slot = "14")] protected override void OnDestroy() { Tool tool = this._tool; MFBGLIHGCGO postPickupEvent = tool.PostPickupEvent; Action action = new Action(this.AEHDEJPEAKM); MFBGLIHGCGO mfbglihgcgo = MFBGLIHGCGO.GMNMHGMFGOL(postPickupEvent, action); tool.PostPickupEvent = mfbglihgcgo; base.OnDestroy(); } // Token: 0x060129C5 RID: 76229 RVA: 0x004424A4 File Offset: 0x004406A4 [Token(Token = "0x60129C5")] [Address(RVA = "0xBB9BA0", Offset = "0xBB89A0", VA = "0x180BB9BA0")] private void AEHDEJPEAKM(Tool NBHJPDBHDHB) { if (base.OGIBLNIIHDK) { int num = global::UnityEngine.Random.Range(-100, 100); KLLMCPFPIIE hpokndiaioc = this.HPOKNDIAIOC; } int num2 = 0; num2 += num2; num2++; PaintThrower.QualitySettingReducedFeedback[] array = this.reducedFeedbackSettings; this.JMKICAPHBPJ = (PPDOPHKNMCK)num2; int length = array.Length; if (num2 < length) { PaintThrower.QualitySettingReducedFeedback qualitySettingReducedFeedback = array[num2]; if (qualitySettingReducedFeedback != num2) { num2++; num2 += num2; } this.EIFNMFGEKOA = qualitySettingReducedFeedback; } } // Token: 0x060129C6 RID: 76230 RVA: 0x00442528 File Offset: 0x00440728 [Token(Token = "0x60129C6")] [Address(RVA = "0xBB9F90", Offset = "0xBB8D90", VA = "0x180BB9F90", Slot = "37")] protected override void BJKIKMAOAFH(GHMDIDJLFMC KNLMJBAKCGF) { byte emhobonpcga = this.EMHOBONPCGA; byte pebdgmmlffc = this.PEBDGMMLFFC; bool flag; if (flag) { base.BJKIKMAOAFH(KNLMJBAKCGF); } } // Token: 0x060129C7 RID: 76231 RVA: 0x00442550 File Offset: 0x00440750 [Token(Token = "0x60129C7")] [Address(RVA = "0xBBA100", Offset = "0xBB8F00", VA = "0x180BBA100", Slot = "40")] public override void Fire(float LFDFFDCJAAD = 1f) { Vector3 vector; float z = vector.z; Vector3 vector2; float z2 = vector2.z; } // Token: 0x060129C8 RID: 76232 RVA: 0x0044256C File Offset: 0x0044076C [Token(Token = "0x60129C8")] [Address(RVA = "0xBBA1F0", Offset = "0xBB8FF0", VA = "0x180BBA1F0", 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: 0x060129C9 RID: 76233 RVA: 0x00442604 File Offset: 0x00440804 [Token(Token = "0x60129C9")] [Address(RVA = "0xBBA0A0", Offset = "0xBB8EA0", VA = "0x180BBA0A0")] private IEnumerator CCGPBHIGAJI() { /* An exception occurred when decompiling this method (060129C9) 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 1660 */; } // Token: 0x060129CA RID: 76234 RVA: 0x00442628 File Offset: 0x00440828 [Token(Token = "0x60129CA")] [Address(RVA = "0xBB9B30", Offset = "0xBB8930", VA = "0x180BB9B30", Slot = "54")] protected override void ABNPFEDICFJ() { base.ABNPFEDICFJ(); if (base.OGIBLNIIHDK) { KLLMCPFPIIE lbiehibdcbg = this.LBIEHIBDCBG; return; } } // Token: 0x060129CB RID: 76235 RVA: 0x00442654 File Offset: 0x00440854 [Token(Token = "0x60129CB")] [Address(RVA = "0xBBA840", Offset = "0xBB9640", VA = "0x180BBA840", Slot = "53")] protected override void IGIDNLPODPD() { base.IGIDNLPODPD(); if (base.OGIBLNIIHDK) { KLLMCPFPIIE lbiehibdcbg = this.LBIEHIBDCBG; int num = 0; lbiehibdcbg.BDJFGEJFPPO(num); return; } } // Token: 0x060129CC RID: 76236 RVA: 0x00442688 File Offset: 0x00440888 [Token(Token = "0x60129CC")] [Address(RVA = "0xBBA7F0", Offset = "0xBB95F0", VA = "0x180BBA7F0")] private void ICLKMKJFCGH() { global::UnityEngine.Random.InitState(this.HPOKNDIAIOC.IAHDANBDAAM()); } // Token: 0x060129CD RID: 76237 RVA: 0x004426AC File Offset: 0x004408AC [Token(Token = "0x60129CD")] [Address(RVA = "0xBBA3C0", Offset = "0xBB91C0", VA = "0x180BBA3C0")] 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.MBNABGDLNAE mbnabgdlnae; mbnabgdlnae.System.IDisposable.Dispose(); mbnabgdlnae.<>1__state = num; mbnabgdlnae.<>4__this = this; KFBABPAPIMB kfbabpapimb = instance.Run(this, mbnabgdlnae); 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: 0x060129CE RID: 76238 RVA: 0x004427F8 File Offset: 0x004409F8 [Token(Token = "0x60129CE")] [Address(RVA = "0xBBAA80", Offset = "0xBB9880", VA = "0x180BBAA80")] public PaintThrower() { } // Token: 0x0400C02E RID: 49198 [Token(Token = "0x400C02E")] private const float OIFIBANOKKI = 8f; // Token: 0x0400C02F RID: 49199 [FieldOffset(Offset = "0x308")] [Token(Token = "0x400C02F")] [SerializeField] [Header("Paint Thrower Visuals")] private ParticleSystem streamParticles; // Token: 0x0400C030 RID: 49200 [FieldOffset(Offset = "0x310")] [Token(Token = "0x400C030")] [SerializeField] private PaintThrower.QualitySettingReducedFeedback[] reducedFeedbackSettings; // Token: 0x0400C031 RID: 49201 [FieldOffset(Offset = "0x318")] [Token(Token = "0x400C031")] [SerializeField] [Header("Paint Thrower Audio")] private RecRoomAudioClip streamStartSfx; // Token: 0x0400C032 RID: 49202 [FieldOffset(Offset = "0x320")] [Token(Token = "0x400C032")] [SerializeField] private RecRoomAudioClip streamLoopingSfx; // Token: 0x0400C033 RID: 49203 [FieldOffset(Offset = "0x328")] [Token(Token = "0x400C033")] [SerializeField] private RecRoomAudioClip streamStopSfx; // Token: 0x0400C034 RID: 49204 [FieldOffset(Offset = "0x330")] [Token(Token = "0x400C034")] private PaintThrower.QualitySettingReducedFeedback EIFNMFGEKOA; // Token: 0x0400C035 RID: 49205 [FieldOffset(Offset = "0x338")] [Token(Token = "0x400C035")] private PPDOPHKNMCK JMKICAPHBPJ; // Token: 0x0400C036 RID: 49206 [FieldOffset(Offset = "0x33C")] [Token(Token = "0x400C036")] private byte EMHOBONPCGA; // Token: 0x0400C037 RID: 49207 [FieldOffset(Offset = "0x33D")] [Token(Token = "0x400C037")] private byte PEBDGMMLFFC; // Token: 0x0400C038 RID: 49208 [FieldOffset(Offset = "0x340")] [Token(Token = "0x400C038")] private KFBABPAPIMB LAPDEIJCHEP; // Token: 0x0400C039 RID: 49209 [FieldOffset(Offset = "0x348")] [Token(Token = "0x400C039")] private SFXAudioSource DFEGINICGBK; // Token: 0x0400C03A RID: 49210 [FieldOffset(Offset = "0x350")] [Token(Token = "0x400C03A")] private KLLMCPFPIIE HPOKNDIAIOC; // Token: 0x0400C03B RID: 49211 [FieldOffset(Offset = "0x358")] [Token(Token = "0x400C03B")] private KLLMCPFPIIE LBIEHIBDCBG; // Token: 0x02002B4A RID: 11082 [Token(Token = "0x2002B4A")] [Serializable] private struct QualitySettingReducedFeedback { // Token: 0x17003409 RID: 13321 // (get) Token: 0x060129CF RID: 76239 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x17003409")] public static PaintThrower.QualitySettingReducedFeedback Default { [Token(Token = "0x60129CF")] [Address(RVA = "0xBBECD0", Offset = "0xBBDAD0", VA = "0x180BBECD0")] get { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } } // Token: 0x060129D0 RID: 76240 RVA: 0x0044280C File Offset: 0x00440A0C [Token(Token = "0x60129D0")] [Address(RVA = "0xBBEC40", Offset = "0xBBDA40", VA = "0x180BBEC40")] public bool KAFLDIANPMA(int BAFLIKCNDJI) { int num = 0; int num2 = Mathf.FloorToInt(1f); return num == 0; } // Token: 0x0400C03C RID: 49212 [FieldOffset(Offset = "0x0")] [Token(Token = "0x400C03C")] public PPDOPHKNMCK QualitySetting; // Token: 0x0400C03D RID: 49213 [FieldOffset(Offset = "0x4")] [Token(Token = "0x400C03D")] public float FeedbackPercentage; } } }