223 lines
6.5 KiB
C#
223 lines
6.5 KiB
C#
using System;
|
|
using System.Runtime.InteropServices;
|
|
using Cpp2IlInjected;
|
|
using RecRoom.Core.Combat;
|
|
using UnityEngine;
|
|
|
|
namespace RecRoom.Tools.Weapons
|
|
{
|
|
// Token: 0x02002683 RID: 9859
|
|
[Token(Token = "0x2002683")]
|
|
[StructLayout(3)]
|
|
public class SpreadRangedWeapon : RangedWeapon
|
|
{
|
|
// Token: 0x060111C4 RID: 70084 RVA: 0x004094B4 File Offset: 0x004076B4
|
|
[Token(Token = "0x60111C4")]
|
|
[Address(RVA = "0x194CF50", Offset = "0x194B950", VA = "0x18194CF50", Slot = "13")]
|
|
protected override void Awake()
|
|
{
|
|
base.Awake();
|
|
if (this.trackBulletGroups)
|
|
{
|
|
SpreadRangedWeapon.SpreadTarget[] array = this.spreadTargets;
|
|
bool flag = this.limitOneImpactPerTarget;
|
|
int length;
|
|
FBJJBALDIAB fbjjbaldiab = new FBJJBALDIAB(length, flag);
|
|
length = array.Length;
|
|
this.HLMEEKJIEEL = fbjjbaldiab;
|
|
}
|
|
SpreadRangedWeapon.SpreadTarget[] array2 = this.spreadTargets;
|
|
int num = 0;
|
|
if (num < array2.Length)
|
|
{
|
|
Transform end = array2[num].End;
|
|
int num2 = 0;
|
|
if (end != num2)
|
|
{
|
|
Transform parent = this.spreadTargets[num].End.transform.parent;
|
|
Transform transform = this.spreadTargetEndRoot;
|
|
if (parent != transform)
|
|
{
|
|
Transform transform2 = this.spreadTargets[num].End.transform;
|
|
Transform transform3 = this.spreadTargetEndRoot;
|
|
transform2.SetParent(transform3, true);
|
|
}
|
|
}
|
|
SpreadRangedWeapon.SpreadTarget[] array3 = this.spreadTargets;
|
|
num++;
|
|
}
|
|
}
|
|
|
|
// Token: 0x060111C5 RID: 70085 RVA: 0x004095A0 File Offset: 0x004077A0
|
|
[Token(Token = "0x60111C5")]
|
|
[Address(RVA = "0x194D190", Offset = "0x194BB90", VA = "0x18194D190", Slot = "42")]
|
|
protected override void OICJPFPBIIK(Vector3 DDHPAFKBMON, Quaternion IGPENJBJADK, Vector3 NHAOMEMANJA, float LFDFFDCJAAD, bool FLKHKHDBIOH, byte LNPHJIHHNPN)
|
|
{
|
|
int num = 0;
|
|
float z = NHAOMEMANJA.z;
|
|
float z2 = DDHPAFKBMON.z;
|
|
if ((this.trackBulletGroups ? 1 : 0) != num)
|
|
{
|
|
AAEGKOIININ aaegkoiinin = this.HLMEEKJIEEL.AFLJHNNFBMM();
|
|
}
|
|
float z3 = Vector3.right.z;
|
|
Vector3 vector;
|
|
float z4 = vector.z;
|
|
Vector3 vector2;
|
|
float z5 = vector2.z;
|
|
float num2 = this.maxDistance;
|
|
Transform transform = this.spreadTargetEndRoot;
|
|
SpreadRangedWeapon.SpreadTarget[] array = this.spreadTargets;
|
|
if (num < array.Length)
|
|
{
|
|
SpreadRangedWeapon.SpreadTarget spreadTarget = array[num];
|
|
float minCharge = spreadTarget.minCharge;
|
|
float z6 = DDHPAFKBMON.z;
|
|
Transform start = spreadTarget.Start;
|
|
int num3 = 0;
|
|
if (start != num3)
|
|
{
|
|
SpreadRangedWeapon.SpreadTarget[] array2 = this.spreadTargets;
|
|
Transform barrelTransform = this.barrelTransform;
|
|
Transform start2 = array2[num].Start;
|
|
Vector3 vector3;
|
|
float z7 = vector3.z;
|
|
Vector3 vector4;
|
|
float z8 = vector4.z;
|
|
}
|
|
Transform end = this.spreadTargets[num].End;
|
|
int num4 = 0;
|
|
float z9;
|
|
if (end != num4)
|
|
{
|
|
SpreadRangedWeapon.SpreadTarget[] array3 = this.spreadTargets;
|
|
Transform barrelTransform2 = this.barrelTransform;
|
|
Transform end2 = array3[num].End;
|
|
Vector3 vector5;
|
|
z9 = vector5.z;
|
|
Vector3 vector6;
|
|
float z10 = vector6.z;
|
|
}
|
|
Bullet bulletOverride = this.spreadTargets[num].bulletOverride;
|
|
if (z9 != 0f)
|
|
{
|
|
}
|
|
SpreadRangedWeapon.SpreadTarget[] array4 = this.spreadTargets;
|
|
num++;
|
|
}
|
|
}
|
|
|
|
// Token: 0x060111C6 RID: 70086 RVA: 0x00409700 File Offset: 0x00407900
|
|
[Token(Token = "0x60111C6")]
|
|
[Address(RVA = "0x194D940", Offset = "0x194C340", VA = "0x18194D940")]
|
|
private void OnDrawGizmosSelected()
|
|
{
|
|
SpreadRangedWeapon.SpreadTarget[] array = this.spreadTargets;
|
|
if (array != 0)
|
|
{
|
|
int num = 0;
|
|
int length = array.Length;
|
|
if (num < length)
|
|
{
|
|
SpreadRangedWeapon.SpreadTarget spreadTarget = array[num];
|
|
Transform end = spreadTarget.End;
|
|
int num2 = 0;
|
|
if (!(end == num2))
|
|
{
|
|
Transform start = spreadTarget.Start;
|
|
int num3 = 0;
|
|
if (start != num3)
|
|
{
|
|
Transform start2 = spreadTarget.Start;
|
|
}
|
|
Transform barrelTransform = this.barrelTransform;
|
|
float z = start.position.z;
|
|
Color yellow = Color.yellow;
|
|
Transform end2 = spreadTarget.End;
|
|
Color white = Color.white;
|
|
Color yellow2 = Color.yellow;
|
|
}
|
|
num++;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x060111C7 RID: 70087 RVA: 0x004097A4 File Offset: 0x004079A4
|
|
[Token(Token = "0x60111C7")]
|
|
[Address(RVA = "0x194DBB0", Offset = "0x194C5B0", VA = "0x18194DBB0")]
|
|
public SpreadRangedWeapon()
|
|
{
|
|
}
|
|
|
|
// Token: 0x0400B603 RID: 46595
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x2E8")]
|
|
[Token(Token = "0x400B603")]
|
|
[SerializeField]
|
|
[Header("Spread")]
|
|
protected float maxDistance = 3f;
|
|
|
|
// Token: 0x0400B604 RID: 46596
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x2F0")]
|
|
[Token(Token = "0x400B604")]
|
|
[SerializeField]
|
|
protected Transform spreadTargetEndRoot;
|
|
|
|
// Token: 0x0400B605 RID: 46597
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x2F8")]
|
|
[Token(Token = "0x400B605")]
|
|
[SerializeField]
|
|
protected SpreadRangedWeapon.SpreadTarget[] spreadTargets;
|
|
|
|
// Token: 0x0400B606 RID: 46598
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x300")]
|
|
[Token(Token = "0x400B606")]
|
|
[SerializeField]
|
|
[Header("Bullet Tracking")]
|
|
protected bool trackBulletGroups;
|
|
|
|
// Token: 0x0400B607 RID: 46599
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x301")]
|
|
[Token(Token = "0x400B607")]
|
|
[SerializeField]
|
|
protected bool limitOneImpactPerTarget;
|
|
|
|
// Token: 0x0400B608 RID: 46600
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x308")]
|
|
[Token(Token = "0x400B608")]
|
|
protected FBJJBALDIAB HLMEEKJIEEL;
|
|
|
|
// Token: 0x02002684 RID: 9860
|
|
[Token(Token = "0x2002684")]
|
|
[Serializable]
|
|
protected class SpreadTarget
|
|
{
|
|
// Token: 0x060111C8 RID: 70088 RVA: 0x004097C4 File Offset: 0x004079C4
|
|
[Token(Token = "0x60111C8")]
|
|
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
|
public SpreadTarget()
|
|
{
|
|
}
|
|
|
|
// Token: 0x0400B609 RID: 46601
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x400B609")]
|
|
public Transform Start;
|
|
|
|
// Token: 0x0400B60A RID: 46602
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x400B60A")]
|
|
public Transform End;
|
|
|
|
// Token: 0x0400B60B RID: 46603
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x400B60B")]
|
|
public Bullet bulletOverride;
|
|
|
|
// Token: 0x0400B60C RID: 46604
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x400B60C")]
|
|
public float minCharge;
|
|
}
|
|
}
|
|
}
|