439 lines
14 KiB
C#
439 lines
14 KiB
C#
using System;
|
|
using Cpp2IlInjected;
|
|
using Photon.Pun;
|
|
using RecRoom.Core;
|
|
using RecRoom.Core.Combat;
|
|
using UnityEngine;
|
|
|
|
namespace RecRoom.Tools.Weapons
|
|
{
|
|
// Token: 0x02002B5C RID: 11100
|
|
[Token(Token = "0x2002B5C")]
|
|
public class Crossbow : RangedWeapon
|
|
{
|
|
// Token: 0x06012A94 RID: 76436 RVA: 0x00447494 File Offset: 0x00445694
|
|
[Token(Token = "0x6012A94")]
|
|
[Address(RVA = "0x10D3120", Offset = "0x10D1F20", VA = "0x1810D3120", Slot = "13")]
|
|
protected override void Awake()
|
|
{
|
|
base.Awake();
|
|
Transform transform = this.boltNockingTransform;
|
|
int num = 0;
|
|
if (transform != num)
|
|
{
|
|
Transform transform2 = this.maxPullTransform;
|
|
int num2 = 0;
|
|
if (transform2 != num2)
|
|
{
|
|
Transform transform3 = this.boltNockingTransform;
|
|
Transform transform4 = this.maxPullTransform;
|
|
Vector3 vector;
|
|
float z = vector.z;
|
|
this.CJKFKOBACAJ.z = z;
|
|
Transform transform5 = this.maxPullTransform;
|
|
Vector3 vector2;
|
|
float z2 = vector2.z;
|
|
this.APHDEMHLIHN.z = z2;
|
|
Transform transform6 = this.boltNockingTransform;
|
|
Vector3 vector3;
|
|
float z3 = vector3.z;
|
|
Vector3 vector4;
|
|
float z4 = vector4.z;
|
|
Vector3 vector5;
|
|
float z5 = vector5.z;
|
|
float num3;
|
|
this.NNGCCMIOPJH = num3;
|
|
}
|
|
}
|
|
Tool tool = this._tool;
|
|
int num4 = 0;
|
|
if (tool != num4)
|
|
{
|
|
Tool tool2 = this._tool;
|
|
MFBGLIHGCGO<Tool> inputDownEvent = tool2.InputDownEvent;
|
|
Action<Tool> action = new Action(this.GDPCAAHGLJN);
|
|
MFBGLIHGCGO<Tool> mfbglihgcgo = MFBGLIHGCGO.BPJDFPACLMK(inputDownEvent, action);
|
|
tool2.InputDownEvent = mfbglihgcgo;
|
|
Tool tool3 = this._tool;
|
|
MFBGLIHGCGO<Tool> inputPressedEvent = tool3.InputPressedEvent;
|
|
Action<Tool> action2 = new Action(this.LKFFMLDMLAB);
|
|
MFBGLIHGCGO<Tool> mfbglihgcgo2 = MFBGLIHGCGO.BPJDFPACLMK(inputPressedEvent, action2);
|
|
tool3.InputPressedEvent = mfbglihgcgo2;
|
|
Tool tool4 = this._tool;
|
|
MFBGLIHGCGO<Tool> inputUpEvent = tool4.InputUpEvent;
|
|
Action<Tool> action3 = new Action(this.KBPEKMLDNHC);
|
|
MFBGLIHGCGO<Tool> mfbglihgcgo3 = MFBGLIHGCGO.BPJDFPACLMK(inputUpEvent, action3);
|
|
tool4.InputUpEvent = mfbglihgcgo3;
|
|
Tool tool5 = this._tool;
|
|
MFBGLIHGCGO<Tool> prePickupEvent = tool5.PrePickupEvent;
|
|
Action<Tool> action4 = new Action(this.CBHLFMCNNGO);
|
|
MFBGLIHGCGO<Tool> mfbglihgcgo4 = MFBGLIHGCGO.BPJDFPACLMK(prePickupEvent, action4);
|
|
tool5.PrePickupEvent = mfbglihgcgo4;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06012A95 RID: 76437 RVA: 0x00447630 File Offset: 0x00445830
|
|
[Token(Token = "0x6012A95")]
|
|
[Address(RVA = "0x10D3F40", Offset = "0x10D2D40", VA = "0x1810D3F40", Slot = "14")]
|
|
protected override void OnDestroy()
|
|
{
|
|
base.OnDestroy();
|
|
Tool tool = this._tool;
|
|
int num = 0;
|
|
if (tool != num)
|
|
{
|
|
Tool tool2 = this._tool;
|
|
MFBGLIHGCGO<Tool> inputDownEvent = tool2.InputDownEvent;
|
|
Action<Tool> action = new Action(this.GDPCAAHGLJN);
|
|
MFBGLIHGCGO<Tool> mfbglihgcgo = MFBGLIHGCGO.GMNMHGMFGOL(inputDownEvent, action);
|
|
tool2.InputDownEvent = mfbglihgcgo;
|
|
Tool tool3 = this._tool;
|
|
MFBGLIHGCGO<Tool> inputPressedEvent = tool3.InputPressedEvent;
|
|
Action<Tool> action2 = new Action(this.LKFFMLDMLAB);
|
|
MFBGLIHGCGO<Tool> mfbglihgcgo2 = MFBGLIHGCGO.GMNMHGMFGOL(inputPressedEvent, action2);
|
|
tool3.InputPressedEvent = mfbglihgcgo2;
|
|
Tool tool4 = this._tool;
|
|
MFBGLIHGCGO<Tool> inputUpEvent = tool4.InputUpEvent;
|
|
Action<Tool> action3 = new Action(this.KBPEKMLDNHC);
|
|
MFBGLIHGCGO<Tool> mfbglihgcgo3 = MFBGLIHGCGO.GMNMHGMFGOL(inputUpEvent, action3);
|
|
tool4.InputUpEvent = mfbglihgcgo3;
|
|
Tool tool5 = this._tool;
|
|
MFBGLIHGCGO<Tool> prePickupEvent = tool5.PrePickupEvent;
|
|
Action<Tool> action4 = new Action(this.CBHLFMCNNGO);
|
|
MFBGLIHGCGO<Tool> mfbglihgcgo4 = MFBGLIHGCGO.GMNMHGMFGOL(prePickupEvent, action4);
|
|
tool5.PrePickupEvent = mfbglihgcgo4;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06012A96 RID: 76438 RVA: 0x00447728 File Offset: 0x00445928
|
|
[Token(Token = "0x6012A96")]
|
|
[Address(RVA = "0x10D42C0", Offset = "0x10D30C0", VA = "0x1810D42C0")]
|
|
private void Update()
|
|
{
|
|
if (base.OGIBLNIIHDK)
|
|
{
|
|
if (this._tool.<BIPMAHKMNKF>k__BackingField)
|
|
{
|
|
float time = Time.time;
|
|
FloatValueCurve floatValueCurve = this.speedOverDrawTime;
|
|
CrossbowBolt hcfpjdgbcdl = this.HCFPJDGBCDL;
|
|
int num = 0;
|
|
bool flag = hcfpjdgbcdl != num;
|
|
Animator animator = this._animator;
|
|
int ephfpalcmhi;
|
|
if (!flag)
|
|
{
|
|
int num2 = 0;
|
|
ephfpalcmhi = Crossbow.EPHFPALCMHI;
|
|
animator.SetFloat(ephfpalcmhi, (float)num2);
|
|
}
|
|
FloatValueCurve floatValueCurve2 = this.speedOverDrawTime;
|
|
float num3 = Mathf.Min(1f, time);
|
|
animator.SetFloat(ephfpalcmhi, num3);
|
|
PlayerHand <PBCNKLKCIHJ>k__BackingField = this._tool.<PBCNKLKCIHJ>k__BackingField;
|
|
int num4 = 0;
|
|
if (<PBCNKLKCIHJ>k__BackingField != num4)
|
|
{
|
|
PlayerHand <PBCNKLKCIHJ>k__BackingField2 = this._tool.<PBCNKLKCIHJ>k__BackingField;
|
|
float time2 = Time.time;
|
|
float jpenaiggghl = this.JPENAIGGGHL;
|
|
Tool tool = this._tool;
|
|
this.JPENAIGGGHL = 1f;
|
|
tool.<PBCNKLKCIHJ>k__BackingField.Vibrate(1, 0.1f);
|
|
}
|
|
PlayerHand <PBCNKLKCIHJ>k__BackingField3 = this._tool.<PBCNKLKCIHJ>k__BackingField;
|
|
int num5 = 0;
|
|
if (<PBCNKLKCIHJ>k__BackingField3 != num5)
|
|
{
|
|
PlayerHand <PBCNKLKCIHJ>k__BackingField4 = this._tool.<PBCNKLKCIHJ>k__BackingField;
|
|
CrossbowBolt hcfpjdgbcdl2 = this.HCFPJDGBCDL;
|
|
int num6 = 0;
|
|
if (hcfpjdgbcdl2 != num6)
|
|
{
|
|
}
|
|
}
|
|
this._tool.<PBCNKLKCIHJ>k__BackingField.Vibrate(1, 0.1f);
|
|
this.EBFNNLEKEEP = true;
|
|
throw new NullReferenceException();
|
|
}
|
|
CrossbowBolt hcfpjdgbcdl3 = this.HCFPJDGBCDL;
|
|
int num7 = 0;
|
|
if (hcfpjdgbcdl3 != num7)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x06012A97 RID: 76439 RVA: 0x00447894 File Offset: 0x00445A94
|
|
[Token(Token = "0x6012A97")]
|
|
[Address(RVA = "0x10D3F10", Offset = "0x10D2D10", VA = "0x1810D3F10")]
|
|
private void OLCEMKOMPPN(int AHCCAMGIOEJ = 1, float LAIPKAHGIJF = 0.1f)
|
|
{
|
|
this._tool.<PBCNKLKCIHJ>k__BackingField.Vibrate(AHCCAMGIOEJ, LAIPKAHGIJF);
|
|
}
|
|
|
|
// Token: 0x06012A98 RID: 76440 RVA: 0x004478BC File Offset: 0x00445ABC
|
|
[Token(Token = "0x6012A98")]
|
|
[Address(RVA = "0x10D3650", Offset = "0x10D2450", VA = "0x1810D3650")]
|
|
private void JBDEKDJLALE()
|
|
{
|
|
CrossbowBolt hcfpjdgbcdl = this.HCFPJDGBCDL;
|
|
int num = 0;
|
|
bool flag = hcfpjdgbcdl == num;
|
|
Transform transform = this.boltNockingTransform;
|
|
if (!flag)
|
|
{
|
|
float time = Time.time;
|
|
FloatValueCurve floatValueCurve = this.speedOverDrawTime;
|
|
float num2 = Mathf.Min(time, time);
|
|
transform.localPosition = num;
|
|
Transform transform2 = this.HCFPJDGBCDL.transform;
|
|
Transform transform3 = this.boltNockingTransform;
|
|
Transform transform4 = this.HCFPJDGBCDL.transform;
|
|
Transform transform5 = this.boltNockingTransform;
|
|
return;
|
|
}
|
|
transform.localPosition = num;
|
|
IDisposable coajdgnkahj = this.COAJDGNKAHJ;
|
|
this.GLFCOPMIKLH(coajdgnkahj);
|
|
this.COAJDGNKAHJ = (ulong)0L;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06012A99 RID: 76441 RVA: 0x0044795C File Offset: 0x00445B5C
|
|
[Token(Token = "0x6012A99")]
|
|
[Address(RVA = "0x10D3600", Offset = "0x10D2400", VA = "0x1810D3600")]
|
|
private void GDPCAAHGLJN(Tool NBHJPDBHDHB)
|
|
{
|
|
this.KGDIPIBPPMM = true;
|
|
if (base.OGIBLNIIHDK && !this.CKGCBEODNEM())
|
|
{
|
|
this._weaponAudio.OnMisfire();
|
|
return;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06012A9A RID: 76442 RVA: 0x00447994 File Offset: 0x00445B94
|
|
[Token(Token = "0x6012A9A")]
|
|
[Address(RVA = "0x10D3AF0", Offset = "0x10D28F0", VA = "0x1810D3AF0")]
|
|
private void LKFFMLDMLAB(Tool NBHJPDBHDHB)
|
|
{
|
|
if (base.OGIBLNIIHDK)
|
|
{
|
|
CrossbowBolt hcfpjdgbcdl = this.HCFPJDGBCDL;
|
|
int num = 0;
|
|
if (hcfpjdgbcdl == num && this.KGDIPIBPPMM)
|
|
{
|
|
bool flag = this.CKGCBEODNEM();
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x06012A9B RID: 76443 RVA: 0x004479D0 File Offset: 0x00445BD0
|
|
[Token(Token = "0x6012A9B")]
|
|
[Address(RVA = "0x10D39D0", Offset = "0x10D27D0", VA = "0x1810D39D0")]
|
|
private void KBPEKMLDNHC(Tool NBHJPDBHDHB)
|
|
{
|
|
this.KGDIPIBPPMM = false;
|
|
if (base.OGIBLNIIHDK)
|
|
{
|
|
CrossbowBolt hcfpjdgbcdl = this.HCFPJDGBCDL;
|
|
int num = 0;
|
|
if (hcfpjdgbcdl != num)
|
|
{
|
|
FloatValueCurve floatValueCurve = this.speedOverDrawTime;
|
|
float time = Time.time;
|
|
float num2 = Mathf.InverseLerp(time, (float)num, time);
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x06012A9C RID: 76444 RVA: 0x00447A24 File Offset: 0x00445C24
|
|
[Token(Token = "0x6012A9C")]
|
|
[Address(RVA = "0x10D34C0", Offset = "0x10D22C0", VA = "0x1810D34C0")]
|
|
private void CBHLFMCNNGO(Tool EGFEJGHDNAI)
|
|
{
|
|
this.KGDIPIBPPMM = false;
|
|
}
|
|
|
|
// Token: 0x06012A9D RID: 76445 RVA: 0x00447A38 File Offset: 0x00445C38
|
|
[Token(Token = "0x6012A9D")]
|
|
[Address(RVA = "0x10D34D0", Offset = "0x10D22D0", VA = "0x1810D34D0")]
|
|
private bool CKGCBEODNEM()
|
|
{
|
|
if (base.OGIBLNIIHDK)
|
|
{
|
|
CrossbowBolt hcfpjdgbcdl = this.HCFPJDGBCDL;
|
|
int num = 0;
|
|
if (hcfpjdgbcdl == num)
|
|
{
|
|
if (base.NOOCGFJOMEM)
|
|
{
|
|
if (!base.MJDHKAHMGMO && !base.LAJLNCJKALH)
|
|
{
|
|
PhotonView photonView = base.JDHMIOJKLCK;
|
|
DGLOJCGDOGG.ANJGMEDDNPE anjgmeddnpe = new DGLOJCGDOGG.ANJGMEDDNPE(this.RpcStartChargingBolt);
|
|
photonView.RpcAll(anjgmeddnpe);
|
|
return true;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
this.MIKJDLDPIEP();
|
|
}
|
|
}
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06012A9E RID: 76446 RVA: 0x00447AA8 File Offset: 0x00445CA8
|
|
[Token(Token = "0x6012A9E")]
|
|
[Address(RVA = "0x10D4120", Offset = "0x10D2F20", VA = "0x1810D4120")]
|
|
[NFOMENMAOIA]
|
|
protected void RpcStartChargingBolt()
|
|
{
|
|
float time = Time.time;
|
|
int num = 0;
|
|
this.KFANGBLMCKK = time;
|
|
this.JPENAIGGGHL = (float)num;
|
|
Bullet bullet;
|
|
if (bullet != 0)
|
|
{
|
|
}
|
|
this.HCFPJDGBCDL = num;
|
|
Transform transform = this.boltNockingTransform;
|
|
Vector3 vector;
|
|
float z = vector.z;
|
|
Transform transform2 = this.HCFPJDGBCDL.transform;
|
|
Transform transform3 = this.boltNockingTransform;
|
|
if (this.COAJDGNKAHJ == (ulong)0L)
|
|
{
|
|
Action action = new Action(this.JBDEKDJLALE);
|
|
IDisposable disposable = this.GIEOOLAGCKA(action, Scheduler.NEIJEKIKDOG.PreRender);
|
|
this.COAJDGNKAHJ = disposable;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06012A9F RID: 76447 RVA: 0x00447B34 File Offset: 0x00445D34
|
|
[Token(Token = "0x6012A9F")]
|
|
[Address(RVA = "0x10D3B80", Offset = "0x10D2980", VA = "0x1810D3B80", Slot = "42")]
|
|
protected override void OICJPFPBIIK(Vector3 DDHPAFKBMON, Quaternion IGPENJBJADK, Vector3 NHAOMEMANJA, float LFDFFDCJAAD, bool FLKHKHDBIOH, byte LNPHJIHHNPN)
|
|
{
|
|
CrossbowBolt hcfpjdgbcdl = this.HCFPJDGBCDL;
|
|
int num = 0;
|
|
if (hcfpjdgbcdl != num)
|
|
{
|
|
FloatValueCurve floatValueCurve = this.speedOverDrawTime;
|
|
ParticleSystem maxChargedParticleTrail = this.HCFPJDGBCDL.maxChargedParticleTrail;
|
|
int num2 = 0;
|
|
if (maxChargedParticleTrail != num2)
|
|
{
|
|
this.HCFPJDGBCDL.maxChargedParticleTrail.Play();
|
|
}
|
|
float z = DDHPAFKBMON.z;
|
|
int num3 = 0;
|
|
PlayerHand <PBCNKLKCIHJ>k__BackingField = this._tool.<PBCNKLKCIHJ>k__BackingField;
|
|
int num4 = 0;
|
|
if (<PBCNKLKCIHJ>k__BackingField != num4)
|
|
{
|
|
PlayerHand <PBCNKLKCIHJ>k__BackingField2 = this._tool.<PBCNKLKCIHJ>k__BackingField;
|
|
float num6;
|
|
float num5 = Mathf.Lerp(0.5f, 1f, num6);
|
|
PlayerHand <PBCNKLKCIHJ>k__BackingField3 = this._tool.<PBCNKLKCIHJ>k__BackingField;
|
|
num6 = num5;
|
|
<PBCNKLKCIHJ>k__BackingField3.Vibrate(20, num6);
|
|
}
|
|
this.HCFPJDGBCDL = num3;
|
|
this.EBFNNLEKEEP = false;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06012AA0 RID: 76448 RVA: 0x00447C08 File Offset: 0x00445E08
|
|
[Token(Token = "0x6012AA0")]
|
|
[Address(RVA = "0x10D4700", Offset = "0x10D3500", VA = "0x1810D4700")]
|
|
public Crossbow()
|
|
{
|
|
float z = Vector3.zero.z;
|
|
this.CJKFKOBACAJ.z = z;
|
|
float z2 = Vector3.zero.z;
|
|
this.APHDEMHLIHN.z = z2;
|
|
base..ctor();
|
|
}
|
|
|
|
// Token: 0x0400C0CF RID: 49359
|
|
[FieldOffset(Offset = "0x2F0")]
|
|
[Token(Token = "0x400C0CF")]
|
|
[SerializeField]
|
|
[Header("Crossbow")]
|
|
private FloatValueCurve speedOverDrawTime;
|
|
|
|
// Token: 0x0400C0D0 RID: 49360
|
|
[FieldOffset(Offset = "0x2F8")]
|
|
[Token(Token = "0x400C0D0")]
|
|
[SerializeField]
|
|
private Transform boltNockingTransform;
|
|
|
|
// Token: 0x0400C0D1 RID: 49361
|
|
[FieldOffset(Offset = "0x300")]
|
|
[Token(Token = "0x400C0D1")]
|
|
[SerializeField]
|
|
private Transform maxPullTransform;
|
|
|
|
// Token: 0x0400C0D2 RID: 49362
|
|
[FieldOffset(Offset = "0x308")]
|
|
[Token(Token = "0x400C0D2")]
|
|
[SerializeField]
|
|
private float pullingHapticFrequency = 5f;
|
|
|
|
// Token: 0x0400C0D3 RID: 49363
|
|
[Token(Token = "0x400C0D3")]
|
|
private static readonly int EPHFPALCMHI = Animator.StringToHash("Pull");
|
|
|
|
// Token: 0x0400C0D4 RID: 49364
|
|
[FieldOffset(Offset = "0x310")]
|
|
[Token(Token = "0x400C0D4")]
|
|
private CrossbowBolt HCFPJDGBCDL;
|
|
|
|
// Token: 0x0400C0D5 RID: 49365
|
|
[FieldOffset(Offset = "0x318")]
|
|
[Token(Token = "0x400C0D5")]
|
|
private float KFANGBLMCKK;
|
|
|
|
// Token: 0x0400C0D6 RID: 49366
|
|
[FieldOffset(Offset = "0x31C")]
|
|
[Token(Token = "0x400C0D6")]
|
|
private float JPENAIGGGHL;
|
|
|
|
// Token: 0x0400C0D7 RID: 49367
|
|
[FieldOffset(Offset = "0x320")]
|
|
[Token(Token = "0x400C0D7")]
|
|
private float NNGCCMIOPJH;
|
|
|
|
// Token: 0x0400C0D8 RID: 49368
|
|
[FieldOffset(Offset = "0x324")]
|
|
[Token(Token = "0x400C0D8")]
|
|
private bool EBFNNLEKEEP;
|
|
|
|
// Token: 0x0400C0D9 RID: 49369
|
|
[FieldOffset(Offset = "0x328")]
|
|
[Token(Token = "0x400C0D9")]
|
|
private Vector3 CJKFKOBACAJ;
|
|
|
|
// Token: 0x0400C0DA RID: 49370
|
|
[FieldOffset(Offset = "0x334")]
|
|
[Token(Token = "0x400C0DA")]
|
|
private Vector3 APHDEMHLIHN;
|
|
|
|
// Token: 0x0400C0DB RID: 49371
|
|
[FieldOffset(Offset = "0x340")]
|
|
[Token(Token = "0x400C0DB")]
|
|
private bool KGDIPIBPPMM;
|
|
|
|
// Token: 0x0400C0DC RID: 49372
|
|
[FieldOffset(Offset = "0x348")]
|
|
[Token(Token = "0x400C0DC")]
|
|
private IDisposable COAJDGNKAHJ;
|
|
}
|
|
}
|