Files
2026-04-08 23:40:05 +02:00

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