426 lines
15 KiB
C#
426 lines
15 KiB
C#
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<int> 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<bool> 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<int> 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<bool> kllmcpfpiie2 = new KLLMCPFPIIE(this, "PSA", num4, (OHOEENCHJJE)num3, action2, num3);
|
|
num4 = 0;
|
|
Tool tool = this._tool;
|
|
this.LBIEHIBDCBG = kllmcpfpiie2;
|
|
MFBGLIHGCGO<Tool> postPickupEvent = tool.PostPickupEvent;
|
|
Action<Tool> action3 = new Action(this.AEHDEJPEAKM);
|
|
MFBGLIHGCGO<Tool> 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<Tool> postPickupEvent = tool.PostPickupEvent;
|
|
Action<Tool> action = new Action(this.AEHDEJPEAKM);
|
|
MFBGLIHGCGO<Tool> 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<int> 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.<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: 0x060129C9 RID: 76233 RVA: 0x00442604 File Offset: 0x00440804
|
|
[Token(Token = "0x60129C9")]
|
|
[Address(RVA = "0xBBA0A0", Offset = "0xBB8EA0", VA = "0x180BBA0A0")]
|
|
private IEnumerator<KENFJGFMIPM> CCGPBHIGAJI()
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (060129C9)
|
|
|
|
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(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<bool> 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<bool> 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<int> HPOKNDIAIOC;
|
|
|
|
// Token: 0x0400C03B RID: 49211
|
|
[FieldOffset(Offset = "0x358")]
|
|
[Token(Token = "0x400C03B")]
|
|
private KLLMCPFPIIE<bool> 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;
|
|
}
|
|
}
|
|
}
|