Files
niko c12fbe3fc6 m
2026-04-12 16:51:38 +02:00

462 lines
16 KiB
C#

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<int> 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<bool> 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<PPDOPHKNMCK> action = new Action(this.EHDNCHLIKMF);
IRecRoomQualityConfigProvider recRoomQualityConfigProvider;
this.NNCBFAJKOMH = recRoomQualityConfigProvider;
this.CKGHIELFCFO();
Action action2 = new Action(this.ICLKMKJFCGH);
int num;
int num2;
KLLMCPFPIIE<int> 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<bool> kllmcpfpiie2 = new KLLMCPFPIIE(this, "PSA", num3, (OHOEENCHJJE)num2, action3, num2);
num3 = 0;
Tool tool = this._tool;
this.LBIEHIBDCBG = kllmcpfpiie2;
MFBGLIHGCGO<Tool> postPickupEvent = tool.PostPickupEvent;
Action<Tool> action4 = new Action(this.AEHDEJPEAKM);
MFBGLIHGCGO<Tool> 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<PPDOPHKNMCK> action = new Action(this.EHDNCHLIKMF);
Tool tool = this._tool;
MFBGLIHGCGO<Tool> postPickupEvent = tool.PostPickupEvent;
Action<Tool> action2 = new Action(this.AEHDEJPEAKM);
MFBGLIHGCGO<Tool> 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<int> 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.<BIPMAHKMNKF>k__BackingField)
{
PlayerHand <PBCNKLKCIHJ>k__BackingField = tool.<PBCNKLKCIHJ>k__BackingField;
this._tool.<PBCNKLKCIHJ>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<KENFJGFMIPM> CCGPBHIGAJI()
{
/*
An exception occurred when decompiling this method (06012E08)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.Generic.IEnumerator`1<KENFJGFMIPM> 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<bool> 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<bool> 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<int> HPOKNDIAIOC;
// Token: 0x0400C24F RID: 49743
[FieldOffset(Offset = "0x360")]
[Token(Token = "0x400C24F")]
private KLLMCPFPIIE<bool> 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;
}
}
}