Files
niko 8fc35183db a
2026-04-11 22:19:20 +02:00

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;
}
}
}