221 lines
6.2 KiB
C#
221 lines
6.2 KiB
C#
using System;
|
|
using Cpp2IlInjected;
|
|
using RecRoom.Core.Combat;
|
|
using UnityEngine;
|
|
|
|
namespace RecRoom.Tools.Weapons
|
|
{
|
|
// Token: 0x02002C57 RID: 11351
|
|
[Token(Token = "0x2002C57")]
|
|
public class SpreadRangedWeapon : RangedWeapon
|
|
{
|
|
// Token: 0x06012F82 RID: 77698 RVA: 0x00454A44 File Offset: 0x00452C44
|
|
[Token(Token = "0x6012F82")]
|
|
[Address(RVA = "0x1D3CFD0", Offset = "0x1D3BFD0", VA = "0x181D3CFD0", 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: 0x06012F83 RID: 77699 RVA: 0x00454B30 File Offset: 0x00452D30
|
|
[Token(Token = "0x6012F83")]
|
|
[Address(RVA = "0x1D3D210", Offset = "0x1D3C210", VA = "0x181D3D210", 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();
|
|
}
|
|
Vector3 vector;
|
|
float z3 = vector.z;
|
|
float z4 = Vector3.right.z;
|
|
Vector3 vector2;
|
|
float z5 = vector2.z;
|
|
Vector3 vector3;
|
|
float z6 = vector3.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 z7 = 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 vector4;
|
|
float z8 = vector4.z;
|
|
Vector3 vector5;
|
|
float z9 = vector5.z;
|
|
}
|
|
Transform end = this.spreadTargets[num].End;
|
|
int num4 = 0;
|
|
float z10;
|
|
if (end != num4)
|
|
{
|
|
SpreadRangedWeapon.SpreadTarget[] array3 = this.spreadTargets;
|
|
Transform barrelTransform2 = this.barrelTransform;
|
|
Transform end2 = array3[num].End;
|
|
Vector3 vector6;
|
|
z10 = vector6.z;
|
|
}
|
|
Bullet bulletOverride = this.spreadTargets[num].bulletOverride;
|
|
if (z10 != 0f)
|
|
{
|
|
}
|
|
SpreadRangedWeapon.SpreadTarget[] array4 = this.spreadTargets;
|
|
num++;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06012F84 RID: 77700 RVA: 0x00454C90 File Offset: 0x00452E90
|
|
[Token(Token = "0x6012F84")]
|
|
[Address(RVA = "0x1D3D9C0", Offset = "0x1D3C9C0", VA = "0x181D3D9C0")]
|
|
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: 0x06012F85 RID: 77701 RVA: 0x00454D34 File Offset: 0x00452F34
|
|
[Token(Token = "0x6012F85")]
|
|
[Address(RVA = "0x1D3DC30", Offset = "0x1D3CC30", VA = "0x181D3DC30")]
|
|
public SpreadRangedWeapon()
|
|
{
|
|
}
|
|
|
|
// Token: 0x0400C371 RID: 50033
|
|
[FieldOffset(Offset = "0x2F0")]
|
|
[Token(Token = "0x400C371")]
|
|
[SerializeField]
|
|
[Header("Spread")]
|
|
protected float maxDistance = 3f;
|
|
|
|
// Token: 0x0400C372 RID: 50034
|
|
[FieldOffset(Offset = "0x2F8")]
|
|
[Token(Token = "0x400C372")]
|
|
[SerializeField]
|
|
protected Transform spreadTargetEndRoot;
|
|
|
|
// Token: 0x0400C373 RID: 50035
|
|
[FieldOffset(Offset = "0x300")]
|
|
[Token(Token = "0x400C373")]
|
|
[SerializeField]
|
|
protected SpreadRangedWeapon.SpreadTarget[] spreadTargets;
|
|
|
|
// Token: 0x0400C374 RID: 50036
|
|
[FieldOffset(Offset = "0x308")]
|
|
[Token(Token = "0x400C374")]
|
|
[SerializeField]
|
|
[Header("Bullet Tracking")]
|
|
protected bool trackBulletGroups;
|
|
|
|
// Token: 0x0400C375 RID: 50037
|
|
[FieldOffset(Offset = "0x309")]
|
|
[Token(Token = "0x400C375")]
|
|
[SerializeField]
|
|
protected bool limitOneImpactPerTarget;
|
|
|
|
// Token: 0x0400C376 RID: 50038
|
|
[FieldOffset(Offset = "0x310")]
|
|
[Token(Token = "0x400C376")]
|
|
protected FBJJBALDIAB HLMEEKJIEEL;
|
|
|
|
// Token: 0x02002C58 RID: 11352
|
|
[Token(Token = "0x2002C58")]
|
|
[Serializable]
|
|
protected class SpreadTarget
|
|
{
|
|
// Token: 0x06012F86 RID: 77702 RVA: 0x00454D54 File Offset: 0x00452F54
|
|
[Token(Token = "0x6012F86")]
|
|
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
|
|
public SpreadTarget()
|
|
{
|
|
}
|
|
|
|
// Token: 0x0400C377 RID: 50039
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x400C377")]
|
|
public Transform Start;
|
|
|
|
// Token: 0x0400C378 RID: 50040
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x400C378")]
|
|
public Transform End;
|
|
|
|
// Token: 0x0400C379 RID: 50041
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x400C379")]
|
|
public Bullet bulletOverride;
|
|
|
|
// Token: 0x0400C37A RID: 50042
|
|
[FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x400C37A")]
|
|
public float minCharge;
|
|
}
|
|
}
|
|
}
|