using System; using Cpp2IlInjected; using Photon.Pun; using RecRoom.Core; using RecRoom.Core.Combat; using UnityEngine; namespace RecRoom.Tools.Weapons { // Token: 0x02002C45 RID: 11333 [Token(Token = "0x2002C45")] public class Crossbow : RangedWeapon { // Token: 0x06012ED3 RID: 77523 RVA: 0x0045112C File Offset: 0x0044F32C [Token(Token = "0x6012ED3")] [Address(RVA = "0x1D2DC30", Offset = "0x1D2CC30", VA = "0x181D2DC30", 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 inputDownEvent = tool2.InputDownEvent; Action action = new Action(this.GDPCAAHGLJN); MFBGLIHGCGO mfbglihgcgo = MFBGLIHGCGO.BPJDFPACLMK(inputDownEvent, action); tool2.InputDownEvent = mfbglihgcgo; Tool tool3 = this._tool; MFBGLIHGCGO inputPressedEvent = tool3.InputPressedEvent; Action action2 = new Action(this.LKFFMLDMLAB); MFBGLIHGCGO mfbglihgcgo2 = MFBGLIHGCGO.BPJDFPACLMK(inputPressedEvent, action2); tool3.InputPressedEvent = mfbglihgcgo2; Tool tool4 = this._tool; MFBGLIHGCGO inputUpEvent = tool4.InputUpEvent; Action action3 = new Action(this.KBPEKMLDNHC); MFBGLIHGCGO mfbglihgcgo3 = MFBGLIHGCGO.BPJDFPACLMK(inputUpEvent, action3); tool4.InputUpEvent = mfbglihgcgo3; Tool tool5 = this._tool; MFBGLIHGCGO prePickupEvent = tool5.PrePickupEvent; Action action4 = new Action(this.CBHLFMCNNGO); MFBGLIHGCGO mfbglihgcgo4 = MFBGLIHGCGO.BPJDFPACLMK(prePickupEvent, action4); tool5.PrePickupEvent = mfbglihgcgo4; } } // Token: 0x06012ED4 RID: 77524 RVA: 0x004512C8 File Offset: 0x0044F4C8 [Token(Token = "0x6012ED4")] [Address(RVA = "0x1D2EA50", Offset = "0x1D2DA50", VA = "0x181D2EA50", Slot = "14")] protected override void OnDestroy() { base.OnDestroy(); Tool tool = this._tool; int num = 0; if (tool != num) { Tool tool2 = this._tool; MFBGLIHGCGO inputDownEvent = tool2.InputDownEvent; Action action = new Action(this.GDPCAAHGLJN); MFBGLIHGCGO mfbglihgcgo = MFBGLIHGCGO.GMNMHGMFGOL(inputDownEvent, action); tool2.InputDownEvent = mfbglihgcgo; Tool tool3 = this._tool; MFBGLIHGCGO inputPressedEvent = tool3.InputPressedEvent; Action action2 = new Action(this.LKFFMLDMLAB); MFBGLIHGCGO mfbglihgcgo2 = MFBGLIHGCGO.GMNMHGMFGOL(inputPressedEvent, action2); tool3.InputPressedEvent = mfbglihgcgo2; Tool tool4 = this._tool; MFBGLIHGCGO inputUpEvent = tool4.InputUpEvent; Action action3 = new Action(this.KBPEKMLDNHC); MFBGLIHGCGO mfbglihgcgo3 = MFBGLIHGCGO.GMNMHGMFGOL(inputUpEvent, action3); tool4.InputUpEvent = mfbglihgcgo3; Tool tool5 = this._tool; MFBGLIHGCGO prePickupEvent = tool5.PrePickupEvent; Action action4 = new Action(this.CBHLFMCNNGO); MFBGLIHGCGO mfbglihgcgo4 = MFBGLIHGCGO.GMNMHGMFGOL(prePickupEvent, action4); tool5.PrePickupEvent = mfbglihgcgo4; } } // Token: 0x06012ED5 RID: 77525 RVA: 0x004513C0 File Offset: 0x0044F5C0 [Token(Token = "0x6012ED5")] [Address(RVA = "0x1D2EDD0", Offset = "0x1D2DDD0", VA = "0x181D2EDD0")] private void Update() { if (base.OGIBLNIIHDK) { if (this._tool.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 k__BackingField = this._tool.k__BackingField; int num4 = 0; if (k__BackingField != num4) { PlayerHand k__BackingField2 = this._tool.k__BackingField; float time2 = Time.time; float jpenaiggghl = this.JPENAIGGGHL; Tool tool = this._tool; this.JPENAIGGGHL = 1f; tool.k__BackingField.Vibrate(1, 0.1f); } PlayerHand k__BackingField3 = this._tool.k__BackingField; int num5 = 0; if (k__BackingField3 != num5) { PlayerHand k__BackingField4 = this._tool.k__BackingField; CrossbowBolt hcfpjdgbcdl2 = this.HCFPJDGBCDL; int num6 = 0; if (hcfpjdgbcdl2 != num6) { } } this._tool.k__BackingField.Vibrate(1, 0.1f); this.EBFNNLEKEEP = true; throw new NullReferenceException(); } CrossbowBolt hcfpjdgbcdl3 = this.HCFPJDGBCDL; int num7 = 0; if (hcfpjdgbcdl3 != num7) { } } } // Token: 0x06012ED6 RID: 77526 RVA: 0x0045152C File Offset: 0x0044F72C [Token(Token = "0x6012ED6")] [Address(RVA = "0x1D2EA20", Offset = "0x1D2DA20", VA = "0x181D2EA20")] private void OLCEMKOMPPN(int AHCCAMGIOEJ = 1, float LAIPKAHGIJF = 0.1f) { this._tool.k__BackingField.Vibrate(AHCCAMGIOEJ, LAIPKAHGIJF); } // Token: 0x06012ED7 RID: 77527 RVA: 0x00451554 File Offset: 0x0044F754 [Token(Token = "0x6012ED7")] [Address(RVA = "0x1D2E160", Offset = "0x1D2D160", VA = "0x181D2E160")] 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: 0x06012ED8 RID: 77528 RVA: 0x004515F4 File Offset: 0x0044F7F4 [Token(Token = "0x6012ED8")] [Address(RVA = "0x1D2E110", Offset = "0x1D2D110", VA = "0x181D2E110")] private void GDPCAAHGLJN(Tool NBHJPDBHDHB) { this.KGDIPIBPPMM = true; if (base.OGIBLNIIHDK && !this.CKGCBEODNEM()) { this._weaponAudio.OnMisfire(); return; } } // Token: 0x06012ED9 RID: 77529 RVA: 0x0045162C File Offset: 0x0044F82C [Token(Token = "0x6012ED9")] [Address(RVA = "0x1D2E600", Offset = "0x1D2D600", VA = "0x181D2E600")] 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: 0x06012EDA RID: 77530 RVA: 0x00451668 File Offset: 0x0044F868 [Token(Token = "0x6012EDA")] [Address(RVA = "0x1D2E4E0", Offset = "0x1D2D4E0", VA = "0x181D2E4E0")] 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: 0x06012EDB RID: 77531 RVA: 0x004516BC File Offset: 0x0044F8BC [Token(Token = "0x6012EDB")] [Address(RVA = "0x1D2DFD0", Offset = "0x1D2CFD0", VA = "0x181D2DFD0")] private void CBHLFMCNNGO(Tool EGFEJGHDNAI) { this.KGDIPIBPPMM = false; } // Token: 0x06012EDC RID: 77532 RVA: 0x004516D0 File Offset: 0x0044F8D0 [Token(Token = "0x6012EDC")] [Address(RVA = "0x1D2DFE0", Offset = "0x1D2CFE0", VA = "0x181D2DFE0")] 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: 0x06012EDD RID: 77533 RVA: 0x00451740 File Offset: 0x0044F940 [Token(Token = "0x6012EDD")] [Address(RVA = "0x1D2EC30", Offset = "0x1D2DC30", VA = "0x181D2EC30")] [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: 0x06012EDE RID: 77534 RVA: 0x004517CC File Offset: 0x0044F9CC [Token(Token = "0x6012EDE")] [Address(RVA = "0x1D2E690", Offset = "0x1D2D690", VA = "0x181D2E690", 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 k__BackingField = this._tool.k__BackingField; int num4 = 0; if (k__BackingField != num4) { PlayerHand k__BackingField2 = this._tool.k__BackingField; float num6; float num5 = Mathf.Lerp(0.5f, 1f, num6); PlayerHand k__BackingField3 = this._tool.k__BackingField; num6 = num5; k__BackingField3.Vibrate(20, num6); } this.HCFPJDGBCDL = num3; this.EBFNNLEKEEP = false; } } // Token: 0x06012EDF RID: 77535 RVA: 0x004518A0 File Offset: 0x0044FAA0 [Token(Token = "0x6012EDF")] [Address(RVA = "0x1D2F210", Offset = "0x1D2E210", VA = "0x181D2F210")] public Crossbow() { float z = Vector3.zero.z; this.CJKFKOBACAJ.z = z; float z2 = Vector3.zero.z; this.APHDEMHLIHN.z = z2; base..ctor(); } // Token: 0x0400C2E3 RID: 49891 [FieldOffset(Offset = "0x2F0")] [Token(Token = "0x400C2E3")] [SerializeField] [Header("Crossbow")] private FloatValueCurve speedOverDrawTime; // Token: 0x0400C2E4 RID: 49892 [FieldOffset(Offset = "0x2F8")] [Token(Token = "0x400C2E4")] [SerializeField] private Transform boltNockingTransform; // Token: 0x0400C2E5 RID: 49893 [FieldOffset(Offset = "0x300")] [Token(Token = "0x400C2E5")] [SerializeField] private Transform maxPullTransform; // Token: 0x0400C2E6 RID: 49894 [FieldOffset(Offset = "0x308")] [Token(Token = "0x400C2E6")] [SerializeField] private float pullingHapticFrequency = 5f; // Token: 0x0400C2E7 RID: 49895 [Token(Token = "0x400C2E7")] private static readonly int EPHFPALCMHI = Animator.StringToHash("Pull"); // Token: 0x0400C2E8 RID: 49896 [FieldOffset(Offset = "0x310")] [Token(Token = "0x400C2E8")] private CrossbowBolt HCFPJDGBCDL; // Token: 0x0400C2E9 RID: 49897 [FieldOffset(Offset = "0x318")] [Token(Token = "0x400C2E9")] private float KFANGBLMCKK; // Token: 0x0400C2EA RID: 49898 [FieldOffset(Offset = "0x31C")] [Token(Token = "0x400C2EA")] private float JPENAIGGGHL; // Token: 0x0400C2EB RID: 49899 [FieldOffset(Offset = "0x320")] [Token(Token = "0x400C2EB")] private float NNGCCMIOPJH; // Token: 0x0400C2EC RID: 49900 [FieldOffset(Offset = "0x324")] [Token(Token = "0x400C2EC")] private bool EBFNNLEKEEP; // Token: 0x0400C2ED RID: 49901 [FieldOffset(Offset = "0x328")] [Token(Token = "0x400C2ED")] private Vector3 CJKFKOBACAJ; // Token: 0x0400C2EE RID: 49902 [FieldOffset(Offset = "0x334")] [Token(Token = "0x400C2EE")] private Vector3 APHDEMHLIHN; // Token: 0x0400C2EF RID: 49903 [FieldOffset(Offset = "0x340")] [Token(Token = "0x400C2EF")] private bool KGDIPIBPPMM; // Token: 0x0400C2F0 RID: 49904 [FieldOffset(Offset = "0x348")] [Token(Token = "0x400C2F0")] private IDisposable COAJDGNKAHJ; } }