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: 0x02002B6E RID: 11118
|
|
[Token(Token = "0x2002B6E")]
|
|
public class SpreadRangedWeapon : RangedWeapon
|
|
{
|
|
// Token: 0x06012B43 RID: 76611 RVA: 0x0044ADC4 File Offset: 0x00448FC4
|
|
[Token(Token = "0x6012B43")]
|
|
[Address(RVA = "0xBBF140", Offset = "0xBBDF40", VA = "0x180BBF140", 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: 0x06012B44 RID: 76612 RVA: 0x0044AEB0 File Offset: 0x004490B0
|
|
[Token(Token = "0x6012B44")]
|
|
[Address(RVA = "0xBBF380", Offset = "0xBBE180", VA = "0x180BBF380", 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: 0x06012B45 RID: 76613 RVA: 0x0044B010 File Offset: 0x00449210
|
|
[Token(Token = "0x6012B45")]
|
|
[Address(RVA = "0xBBFB30", Offset = "0xBBE930", VA = "0x180BBFB30")]
|
|
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: 0x06012B46 RID: 76614 RVA: 0x0044B0B4 File Offset: 0x004492B4
|
|
[Token(Token = "0x6012B46")]
|
|
[Address(RVA = "0xBBFDA0", Offset = "0xBBEBA0", VA = "0x180BBFDA0")]
|
|
public SpreadRangedWeapon()
|
|
{
|
|
}
|
|
|
|
// Token: 0x0400C15D RID: 49501
|
|
[FieldOffset(Offset = "0x2F0")]
|
|
[Token(Token = "0x400C15D")]
|
|
[SerializeField]
|
|
[Header("Spread")]
|
|
protected float maxDistance = 3f;
|
|
|
|
// Token: 0x0400C15E RID: 49502
|
|
[FieldOffset(Offset = "0x2F8")]
|
|
[Token(Token = "0x400C15E")]
|
|
[SerializeField]
|
|
protected Transform spreadTargetEndRoot;
|
|
|
|
// Token: 0x0400C15F RID: 49503
|
|
[FieldOffset(Offset = "0x300")]
|
|
[Token(Token = "0x400C15F")]
|
|
[SerializeField]
|
|
protected SpreadRangedWeapon.SpreadTarget[] spreadTargets;
|
|
|
|
// Token: 0x0400C160 RID: 49504
|
|
[FieldOffset(Offset = "0x308")]
|
|
[Token(Token = "0x400C160")]
|
|
[SerializeField]
|
|
[Header("Bullet Tracking")]
|
|
protected bool trackBulletGroups;
|
|
|
|
// Token: 0x0400C161 RID: 49505
|
|
[FieldOffset(Offset = "0x309")]
|
|
[Token(Token = "0x400C161")]
|
|
[SerializeField]
|
|
protected bool limitOneImpactPerTarget;
|
|
|
|
// Token: 0x0400C162 RID: 49506
|
|
[FieldOffset(Offset = "0x310")]
|
|
[Token(Token = "0x400C162")]
|
|
protected FBJJBALDIAB HLMEEKJIEEL;
|
|
|
|
// Token: 0x02002B6F RID: 11119
|
|
[Token(Token = "0x2002B6F")]
|
|
[Serializable]
|
|
protected class SpreadTarget
|
|
{
|
|
// Token: 0x06012B47 RID: 76615 RVA: 0x0044B0D4 File Offset: 0x004492D4
|
|
[Token(Token = "0x6012B47")]
|
|
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
|
|
public SpreadTarget()
|
|
{
|
|
}
|
|
|
|
// Token: 0x0400C163 RID: 49507
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x400C163")]
|
|
public Transform Start;
|
|
|
|
// Token: 0x0400C164 RID: 49508
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x400C164")]
|
|
public Transform End;
|
|
|
|
// Token: 0x0400C165 RID: 49509
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x400C165")]
|
|
public Bullet bulletOverride;
|
|
|
|
// Token: 0x0400C166 RID: 49510
|
|
[FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x400C166")]
|
|
public float minCharge;
|
|
}
|
|
}
|
|
}
|