421 lines
16 KiB
C#
421 lines
16 KiB
C#
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<int> 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<bool> 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<int> 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<bool> synchronizedField2 = new SynchronizedField(this, "PSA", num4, (SetterPermissionMode)num3, action2, num3);
|
|
num4 = 0;
|
|
Tool tool = this._tool;
|
|
this.LBIEHIBDCBG = synchronizedField2;
|
|
ActionEvent<Tool> postPickupEvent = tool.PostPickupEvent;
|
|
Action<Tool> action3 = new Action(this.AEHDEJPEAKM);
|
|
ActionEvent<Tool> 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<Tool> postPickupEvent = tool.PostPickupEvent;
|
|
Action<Tool> action = new Action(this.AEHDEJPEAKM);
|
|
ActionEvent<Tool> 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<int> 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.<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.Invoke(this);
|
|
return;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0601104A RID: 69706 RVA: 0x00400E48 File Offset: 0x003FF048
|
|
[Token(Token = "0x601104A")]
|
|
[Address(RVA = "0x1948220", Offset = "0x1946C20", VA = "0x181948220")]
|
|
private IEnumerator<ISchedule> CCGPBHIGAJI()
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (0601104A)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.Generic.IEnumerator`1<RecRoom.Core.ISchedule> 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<bool> 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<bool> 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<int> HPOKNDIAIOC;
|
|
|
|
// Token: 0x0400B4E1 RID: 46305
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x350")]
|
|
[Token(Token = "0x400B4E1")]
|
|
private SynchronizedField<bool> 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;
|
|
}
|
|
}
|
|
}
|