using System; using System.Runtime.InteropServices; using Cpp2IlInjected; using RecRoom.Core.Combat; using UnityEngine; namespace RecRoom.Tools.Weapons { // Token: 0x02002666 RID: 9830 [Token(Token = "0x2002666")] [StructLayout(3)] public class CrossbowTrapWeapon : RangedWeapon { // Token: 0x06011097 RID: 69783 RVA: 0x004029E0 File Offset: 0x00400BE0 [Token(Token = "0x6011097")] [Address(RVA = "0x193D430", Offset = "0x193BE30", VA = "0x18193D430", Slot = "13")] protected override void Awake() { base.Awake(); CrossbowBolt[] array = new CrossbowBolt[this.boltFinalNockingTransform.Length]; this.EIIEEFPALJM = array; } // Token: 0x06011098 RID: 69784 RVA: 0x00402A14 File Offset: 0x00400C14 [Token(Token = "0x6011098")] [Address(RVA = "0x193DCD0", Offset = "0x193C6D0", VA = "0x18193DCD0")] private void Update() { CrossbowBolt[] eiieefpaljm = this.EIIEEFPALJM; int num = 0; if (num < eiieefpaljm.Length) { CrossbowBolt crossbowBolt = eiieefpaljm[num]; int num2 = 0; if (crossbowBolt != num2) { float num3 = this.boltNockingAnimationLength; float time = Time.time; float num4 = Mathf.InverseLerp(time, num3, time); CrossbowBolt[] eiieefpaljm2 = this.EIIEEFPALJM; Transform transform = eiieefpaljm2[num].transform; Transform transform2 = this.boltInitialNockingTransform[num]; Vector3 vector; float z = vector.z; Transform transform3 = this.boltFinalNockingTransform[num]; Vector3 vector2; float z2 = vector2.z; Vector3 vector3; float z3 = vector3.z; Transform transform4 = this.EIIEEFPALJM[num].transform; Transform transform5 = this.boltFinalNockingTransform[num]; } CrossbowBolt[] eiieefpaljm3 = this.EIIEEFPALJM; num++; } } // Token: 0x06011099 RID: 69785 RVA: 0x00402AF4 File Offset: 0x00400CF4 [Token(Token = "0x6011099")] [Address(RVA = "0x193D490", Offset = "0x193BE90", VA = "0x18193D490", Slot = "34")] protected override void MIKJDLDPIEP() { base.MIKJDLDPIEP(); int magazineAmmunition = base.DFPKOJKFNIF; Animator animator = this._animator; if (magazineAmmunition != 0) { int ephfpalcmhi = CrossbowTrapWeapon.EPHFPALCMHI; animator.SetFloat(ephfpalcmhi, 1f); CrossbowBolt[] eiieefpaljm = this.EIIEEFPALJM; int num = 0; if (num >= eiieefpaljm.Length) { return; } CrossbowBolt crossbowBolt = eiieefpaljm[num]; int num2 = 0; if (crossbowBolt == num2) { CrossbowBolt[] eiieefpaljm2 = this.EIIEEFPALJM; throw new ArrayTypeMismatchException(); } CrossbowBolt[] eiieefpaljm3 = this.EIIEEFPALJM; num++; } if ("{il2cpp array field local19->}" == (ulong)2L || "{il2cpp array field local19->}" == (ulong)0L) { } } // Token: 0x0601109A RID: 69786 RVA: 0x00402BAC File Offset: 0x00400DAC [Token(Token = "0x601109A")] [Address(RVA = "0x193D6B0", Offset = "0x193C0B0", VA = "0x18193D6B0", Slot = "42")] protected override void OICJPFPBIIK(Vector3 DDHPAFKBMON, Quaternion IGPENJBJADK, Vector3 NHAOMEMANJA, float LFDFFDCJAAD, bool FLKHKHDBIOH, byte LNPHJIHHNPN) { CrossbowBolt[] eiieefpaljm = this.EIIEEFPALJM; int num = 0; if (num < eiieefpaljm.Length) { CrossbowBolt crossbowBolt = eiieefpaljm[num]; int num2 = 0; if (crossbowBolt != num2) { Transform transform = this.EIIEEFPALJM[num].transform; Vector3 vector; float z = vector.z; Transform transform2 = this.EIIEEFPALJM[num].transform; float z2 = NHAOMEMANJA.z; this.EIIEEFPALJM[0] = num; } CrossbowBolt[] eiieefpaljm2 = this.EIIEEFPALJM; num++; } } // Token: 0x0601109B RID: 69787 RVA: 0x00402C38 File Offset: 0x00400E38 [Token(Token = "0x601109B")] [Address(RVA = "0x193D970", Offset = "0x193C370", VA = "0x18193D970")] private void OnDrawGizmosSelected() { Transform[] array = this.boltFinalNockingTransform; if (array != 0) { int num = 0; if (num < array.Length) { Transform transform = array[num]; int num2 = 0; if (!(transform == num2)) { Transform transform2 = this.boltInitialNockingTransform[num]; int num3 = 0; if (!(transform2 == num3)) { Transform transform3 = this.boltInitialNockingTransform[num]; float z = transform2.position.z; Transform transform4 = this.boltFinalNockingTransform[num]; float z2 = transform2.position.z; Color yellow = Color.yellow; Color white = Color.white; Color green = Color.green; Transform transform5 = this.boltInitialNockingTransform[num]; Vector3 vector; float z3 = vector.z; } } Transform[] array2 = this.boltFinalNockingTransform; num++; } } } // Token: 0x0601109C RID: 69788 RVA: 0x00402D0C File Offset: 0x00400F0C [Token(Token = "0x601109C")] [Address(RVA = "0x193E0C0", Offset = "0x193CAC0", VA = "0x18193E0C0")] public CrossbowTrapWeapon() { } // Token: 0x0400B50E RID: 46350 [global::Cpp2IlInjected.FieldOffset(Offset = "0x2E8")] [Token(Token = "0x400B50E")] [SerializeField] [Header("Crossbow")] private Transform[] boltInitialNockingTransform; // Token: 0x0400B50F RID: 46351 [global::Cpp2IlInjected.FieldOffset(Offset = "0x2F0")] [Token(Token = "0x400B50F")] [SerializeField] protected Transform[] boltFinalNockingTransform; // Token: 0x0400B510 RID: 46352 [global::Cpp2IlInjected.FieldOffset(Offset = "0x2F8")] [Token(Token = "0x400B510")] [SerializeField] private float boltNockingAnimationLength = 0.5f; // Token: 0x0400B511 RID: 46353 [Token(Token = "0x400B511")] private static readonly int EPHFPALCMHI = Animator.StringToHash("Pull"); // Token: 0x0400B512 RID: 46354 [global::Cpp2IlInjected.FieldOffset(Offset = "0x300")] [Token(Token = "0x400B512")] protected CrossbowBolt[] EIIEEFPALJM; // Token: 0x0400B513 RID: 46355 [global::Cpp2IlInjected.FieldOffset(Offset = "0x308")] [Token(Token = "0x400B513")] private float FBCLJNIEGIE; } }