Files
2026-04-10 22:50:51 +02:00

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;
}
}