204 lines
6.0 KiB
C#
204 lines
6.0 KiB
C#
using System;
|
|
using System.Runtime.InteropServices;
|
|
using Cpp2IlInjected;
|
|
using RecRoom.Core;
|
|
using RecRoom.Core.Combat;
|
|
using UnityEngine;
|
|
|
|
namespace RecRoom.Tools.Weapons
|
|
{
|
|
// Token: 0x0200267B RID: 9851
|
|
[Token(Token = "0x200267B")]
|
|
[StructLayout(3)]
|
|
public class CrossbowSimple : RangedWeapon
|
|
{
|
|
// Token: 0x06011171 RID: 70001 RVA: 0x00407C1C File Offset: 0x00405E1C
|
|
[Token(Token = "0x6011171")]
|
|
[Address(RVA = "0x193CB90", Offset = "0x193B590", VA = "0x18193CB90", Slot = "13")]
|
|
protected override void Awake()
|
|
{
|
|
base.Awake();
|
|
Tool tool = this._tool;
|
|
int num = 0;
|
|
if (tool != num)
|
|
{
|
|
Tool tool2 = this._tool;
|
|
ActionEvent<Tool> inputDownEvent = tool2.InputDownEvent;
|
|
Action<Tool> action = new Action(this.GDPCAAHGLJN);
|
|
ActionEvent<Tool> actionEvent = inputDownEvent + action;
|
|
tool2.InputDownEvent = actionEvent;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06011172 RID: 70002 RVA: 0x00407C78 File Offset: 0x00405E78
|
|
[Token(Token = "0x6011172")]
|
|
[Address(RVA = "0x193D2A0", Offset = "0x193BCA0", VA = "0x18193D2A0", Slot = "14")]
|
|
protected override void OnDestroy()
|
|
{
|
|
base.OnDestroy();
|
|
Tool tool = this._tool;
|
|
int num = 0;
|
|
if (tool != num)
|
|
{
|
|
Tool tool2 = this._tool;
|
|
ActionEvent<Tool> inputDownEvent = tool2.InputDownEvent;
|
|
Action<Tool> action = new Action(this.GDPCAAHGLJN);
|
|
ActionEvent<Tool> actionEvent = inputDownEvent - action;
|
|
tool2.InputDownEvent = actionEvent;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06011173 RID: 70003 RVA: 0x00407CD4 File Offset: 0x00405ED4
|
|
[Token(Token = "0x6011173")]
|
|
[Address(RVA = "0x193CC70", Offset = "0x193B670", VA = "0x18193CC70")]
|
|
private void LHJEPALFGEB()
|
|
{
|
|
CrossbowBolt jnpdnhdekmo = this.JNPDNHDEKMO;
|
|
int num = 0;
|
|
if (!(jnpdnhdekmo == num))
|
|
{
|
|
float num2 = this.boltNockingAnimationLength;
|
|
float time = Time.time;
|
|
float num3 = Mathf.InverseLerp(time, num2, time);
|
|
CrossbowBolt jnpdnhdekmo2 = this.JNPDNHDEKMO;
|
|
Transform transform = jnpdnhdekmo2.transform;
|
|
Transform transform2 = this.boltInitialNockingTransform;
|
|
Transform transform3 = this.boltFinalNockingTransform;
|
|
Vector3 vector;
|
|
float z = vector.z;
|
|
Vector3 vector2;
|
|
float z2 = vector2.z;
|
|
Vector3 vector3;
|
|
float z3 = vector3.z;
|
|
Transform transform4 = this.JNPDNHDEKMO.transform;
|
|
Transform transform5 = this.boltFinalNockingTransform;
|
|
return;
|
|
}
|
|
IDisposable pmbadnggagk = this.PMBADNGGAGK;
|
|
this.SafeStopSchedule(pmbadnggagk);
|
|
this.PMBADNGGAGK = (ulong)0L;
|
|
}
|
|
|
|
// Token: 0x06011174 RID: 70004 RVA: 0x00407D88 File Offset: 0x00405F88
|
|
[Token(Token = "0x6011174")]
|
|
[Address(RVA = "0x104F750", Offset = "0x104E150", VA = "0x18104F750")]
|
|
private void GDPCAAHGLJN(Tool NBHJPDBHDHB)
|
|
{
|
|
if (!base.hasAuthority)
|
|
{
|
|
return;
|
|
}
|
|
if (!base.NOOCGFJOMEM)
|
|
{
|
|
bool isCompleted = ((IAsyncResult)this).IsCompleted;
|
|
return;
|
|
}
|
|
if (!base.MJDHKAHMGMO && !base.LAJLNCJKALH)
|
|
{
|
|
bool isCompleted2 = ((IAsyncResult)this).IsCompleted;
|
|
return;
|
|
}
|
|
this._weaponAudio.OnMisfire();
|
|
}
|
|
|
|
// Token: 0x06011175 RID: 70005 RVA: 0x00407DDC File Offset: 0x00405FDC
|
|
[Token(Token = "0x6011175")]
|
|
[Address(RVA = "0x193CEF0", Offset = "0x193B8F0", VA = "0x18193CEF0", Slot = "34")]
|
|
protected override void MIKJDLDPIEP()
|
|
{
|
|
base.MIKJDLDPIEP();
|
|
int magazineAmmunition = base.DFPKOJKFNIF;
|
|
Animator animator = this._animator;
|
|
if (magazineAmmunition != 0)
|
|
{
|
|
int ephfpalcmhi = CrossbowSimple.EPHFPALCMHI;
|
|
animator.SetFloat(ephfpalcmhi, 1f);
|
|
CrossbowBolt jnpdnhdekmo = this.JNPDNHDEKMO;
|
|
int num = 0;
|
|
if (jnpdnhdekmo == num)
|
|
{
|
|
Bullet bullet;
|
|
if (bullet != 0)
|
|
{
|
|
}
|
|
this.JNPDNHDEKMO = bullet;
|
|
float time = Time.time;
|
|
this.FBCLJNIEGIE = time;
|
|
if (this.PMBADNGGAGK == (ulong)0L)
|
|
{
|
|
Action action = new Action(this.LHJEPALFGEB);
|
|
IDisposable disposable = this.QueueUpdate(action, Scheduler.QueueType.PreRender);
|
|
this.PMBADNGGAGK = disposable;
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
int num2 = 0;
|
|
int ephfpalcmhi2 = CrossbowSimple.EPHFPALCMHI;
|
|
animator.SetFloat(ephfpalcmhi2, (float)num2);
|
|
}
|
|
|
|
// Token: 0x06011176 RID: 70006 RVA: 0x00407E94 File Offset: 0x00406094
|
|
[Token(Token = "0x6011176")]
|
|
[Address(RVA = "0x193D0D0", Offset = "0x193BAD0", VA = "0x18193D0D0", Slot = "42")]
|
|
protected override void OICJPFPBIIK(Vector3 DDHPAFKBMON, Quaternion IGPENJBJADK, Vector3 NHAOMEMANJA, float LFDFFDCJAAD, bool FLKHKHDBIOH, byte LNPHJIHHNPN)
|
|
{
|
|
int num = 0;
|
|
float z = DDHPAFKBMON.z;
|
|
CrossbowBolt jnpdnhdekmo = this.JNPDNHDEKMO;
|
|
int num2 = 0;
|
|
bool flag = jnpdnhdekmo != num2;
|
|
float z2 = DDHPAFKBMON.z;
|
|
if (!flag)
|
|
{
|
|
}
|
|
this.JNPDNHDEKMO = num;
|
|
}
|
|
|
|
// Token: 0x06011177 RID: 70007 RVA: 0x00407ED0 File Offset: 0x004060D0
|
|
[Token(Token = "0x6011177")]
|
|
[Address(RVA = "0x193D3D0", Offset = "0x193BDD0", VA = "0x18193D3D0")]
|
|
public CrossbowSimple()
|
|
{
|
|
}
|
|
|
|
// Token: 0x0400B5C3 RID: 46531
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x2E8")]
|
|
[Token(Token = "0x400B5C3")]
|
|
[SerializeField]
|
|
[Header("Crossbow")]
|
|
private Transform boltInitialNockingTransform;
|
|
|
|
// Token: 0x0400B5C4 RID: 46532
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x2F0")]
|
|
[Token(Token = "0x400B5C4")]
|
|
[SerializeField]
|
|
protected Transform boltFinalNockingTransform;
|
|
|
|
// Token: 0x0400B5C5 RID: 46533
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x2F8")]
|
|
[Token(Token = "0x400B5C5")]
|
|
[SerializeField]
|
|
private float boltNockingAnimationLength = 0.5f;
|
|
|
|
// Token: 0x0400B5C6 RID: 46534
|
|
[Token(Token = "0x400B5C6")]
|
|
private static readonly int EPHFPALCMHI = Animator.StringToHash("Pull");
|
|
|
|
// Token: 0x0400B5C7 RID: 46535
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x300")]
|
|
[Token(Token = "0x400B5C7")]
|
|
protected CrossbowBolt JNPDNHDEKMO;
|
|
|
|
// Token: 0x0400B5C8 RID: 46536
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x308")]
|
|
[Token(Token = "0x400B5C8")]
|
|
private float FBCLJNIEGIE;
|
|
|
|
// Token: 0x0400B5C9 RID: 46537
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x310")]
|
|
[Token(Token = "0x400B5C9")]
|
|
private IDisposable PMBADNGGAGK;
|
|
}
|
|
}
|