Files
niko c12fbe3fc6 m
2026-04-12 16:51:38 +02:00

310 lines
11 KiB
C#

using System;
using System.Collections;
using Cpp2IlInjected;
using RecRoom.Core.AI;
using RecRoom.Core.Combat;
using RecRoom.Core.Pools;
using UnityEngine;
namespace RecRoom.Tools.Weapons
{
// Token: 0x02002C41 RID: 11329
[Token(Token = "0x2002C41")]
public class BowArrow : Bullet
{
// Token: 0x170034CD RID: 13517
// (get) Token: 0x06012EAE RID: 77486 RVA: 0x00450664 File Offset: 0x0044E864
[Token(Token = "0x170034CD")]
protected override Vector3 CHBLIFPICIE
{
[Token(Token = "0x6012EAE")]
[Address(RVA = "0x1873DF0", Offset = "0x1872DF0", VA = "0x181873DF0", Slot = "4")]
get
{
bool flag;
if (flag)
{
Vector3 vector;
float z = vector.z;
}
throw new NullReferenceException();
}
}
// Token: 0x170034CE RID: 13518
// (get) Token: 0x06012EAF RID: 77487 RVA: 0x00450684 File Offset: 0x0044E884
// (set) Token: 0x06012EB0 RID: 77488 RVA: 0x00450698 File Offset: 0x0044E898
[Token(Token = "0x170034CE")]
protected bool BCKCEELIDLH
{
[Token(Token = "0x6012EAF")]
[Address(RVA = "0x1873570", Offset = "0x1872570", VA = "0x181873570")]
get;
[Token(Token = "0x6012EB0")]
[Address(RVA = "0x1873EB0", Offset = "0x1872EB0", VA = "0x181873EB0")]
set;
}
// Token: 0x06012EB1 RID: 77489 RVA: 0x004506AC File Offset: 0x0044E8AC
[Token(Token = "0x6012EB1")]
[Address(RVA = "0x18734C0", Offset = "0x18724C0", VA = "0x1818734C0", Slot = "6")]
protected override void Awake()
{
base.Awake();
this.<IPENIMGLJAK>k__BackingField = true;
}
// Token: 0x06012EB2 RID: 77490 RVA: 0x004506C8 File Offset: 0x0044E8C8
[Token(Token = "0x6012EB2")]
[Address(RVA = "0x1873580", Offset = "0x1872580", VA = "0x181873580", Slot = "8")]
protected override void FixedUpdate()
{
if (!this.<IPENIMGLJAK>k__BackingField)
{
Transform kmeldgnjgfl = this.KMELDGNJGFL;
int num = 0;
if (kmeldgnjgfl != num)
{
Transform transform = base.transform;
Transform kmeldgnjgfl2 = this.KMELDGNJGFL;
float z = this.EIJNMCNMMOC.z;
Vector3 vector;
float z2 = vector.z;
Transform transform2 = base.transform;
Quaternion pankplbabfb = this.PANKPLBABFB;
if (this.KMELDGNJGFL.gameObject.activeSelf)
{
if (!this.HFPMICGDIPD)
{
return;
}
Enemy <IECJIJLMNHN>k__BackingField = this.<IECJIJLMNHN>k__BackingField;
int num2 = 0;
if (!(<IECJIJLMNHN>k__BackingField == num2) && !this.<IECJIJLMNHN>k__BackingField.rigidbodyEx.JEGGMAKBGEK)
{
return;
}
}
}
this.ImmediateReleaseBullet();
return;
}
base.FixedUpdate();
}
// Token: 0x06012EB3 RID: 77491 RVA: 0x00450784 File Offset: 0x0044E984
[Token(Token = "0x6012EB3")]
[Address(RVA = "0x1873840", Offset = "0x1872840", VA = "0x181873840", Slot = "10")]
protected override void LFDOBCFHFNP(CBLLJNPBJOI LLJEGLKBKME)
{
base.LFDOBCFHFNP(LLJEGLKBKME);
GameObject gibdaoejgha = this.GIBDAOEJGHA;
int num = 0;
if (gibdaoejgha != num)
{
Transform transform = this.GIBDAOEJGHA.transform;
Enemy <IECJIJLMNHN>k__BackingField = this.<IECJIJLMNHN>k__BackingField;
this.KMELDGNJGFL = transform;
int num2 = 0;
bool flag = <IECJIJLMNHN>k__BackingField != num2;
Player <KCKOBEMCIGG>k__BackingField = this.<KCKOBEMCIGG>k__BackingField;
int num3 = 0;
this.HFPMICGDIPD = flag;
bool flag2 = <KCKOBEMCIGG>k__BackingField != num3;
this.OMKOLJOPAHJ = flag2;
if (flag2)
{
IILCGFIHJLP<Player, bool> playerSpawnEvent = Player.PlayerSpawnEvent;
Action<Player, bool> action = new Action(this.BOJDHFMMBKI);
Player.PlayerSpawnEvent = IILCGFIHJLP.BPJDFPACLMK(playerSpawnEvent, action);
}
Transform transform2 = base.transform;
Vector3 up = Vector3.up;
Transform kmeldgnjgfl = this.KMELDGNJGFL;
Transform transform3 = base.transform;
string text = this.ToString();
Vector3 vector;
float z = vector.z;
this.EIJNMCNMMOC.z = z;
Vector3 one = Vector3.one;
Transform transform4 = base.transform;
Vector3 vector2;
float z2 = vector2.z;
bool flag3;
if (flag3)
{
Transform transform5 = base.transform;
Transform transform6 = base.transform;
Transform transform7 = base.transform;
int num4 = 0;
base.transform.localScale = num4;
}
BulletTrail ajihbhiieeg = this.AJIHBHIIEEG;
int num5 = 0;
if (ajihbhiieeg != num5)
{
this.AJIHBHIIEEG.Stop();
}
}
}
// Token: 0x06012EB4 RID: 77492 RVA: 0x004508D0 File Offset: 0x0044EAD0
[Token(Token = "0x6012EB4")]
[Address(RVA = "0x1873F20", Offset = "0x1872F20", VA = "0x181873F20", Slot = "9")]
public override void Release(Vector3 IPPBFGDBMAD)
{
base.enabled = true;
BulletTrail ajihbhiieeg = this.AJIHBHIIEEG;
int num = 0;
if (ajihbhiieeg != num)
{
this.AJIHBHIIEEG.enabled = true;
}
this.<IPENIMGLJAK>k__BackingField = false;
base.MIKOLILDAJA();
if (base.enabled)
{
BowArrow.GBKNDKINJJE gbkndkinjje;
gbkndkinjje.System.IDisposable.Dispose();
gbkndkinjje.<>1__state = (int)((ulong)0L);
gbkndkinjje.<>4__this = this;
Coroutine coroutine = base.StartCoroutine(gbkndkinjje);
this.KPJEPHMDLCF = coroutine;
}
}
// Token: 0x06012EB5 RID: 77493 RVA: 0x00450944 File Offset: 0x0044EB44
[Token(Token = "0x6012EB5")]
[Address(RVA = "0x18737B0", Offset = "0x18727B0", VA = "0x1818737B0")]
public void ImmediateReleaseBullet()
{
Coroutine kpjephmdlcf = this.KPJEPHMDLCF;
if (kpjephmdlcf != 0)
{
base.StopCoroutine(kpjephmdlcf);
}
this.ResetArrowParams();
bool flag = GlobalPool.ONCPNMDGGKG.Release<BowArrow>(this);
}
// Token: 0x06012EB6 RID: 77494 RVA: 0x00450980 File Offset: 0x0044EB80
[Token(Token = "0x6012EB6")]
[Address(RVA = "0x1873EC0", Offset = "0x1872EC0", VA = "0x181873EC0")]
private IEnumerator PPNHBBFJAFL()
{
/*
An exception occurred when decompiling this method (06012EB6)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.IEnumerator RecRoom.Tools.Weapons.BowArrow::PPNHBBFJAFL()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
call:void(GBKNDKINJJE::System.IDisposable.Dispose, ldloc:GBKNDKINJJE(var_0))
stfld:int32(GBKNDKINJJE::<>1__state, ldloc:GBKNDKINJJE(var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](0)))
stfld:BowArrow(GBKNDKINJJE::<>4__this, ldloc:GBKNDKINJJE(var_0), ldloc:BowArrow(this))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
*/;
}
// Token: 0x06012EB7 RID: 77495 RVA: 0x004509A4 File Offset: 0x0044EBA4
[Token(Token = "0x6012EB7")]
[Address(RVA = "0x1874030", Offset = "0x1873030", VA = "0x181874030")]
public void ResetArrowParams()
{
if (this.OMKOLJOPAHJ)
{
IILCGFIHJLP<Player, bool> playerSpawnEvent = Player.PlayerSpawnEvent;
Action<Player, bool> action = new Action(this.BOJDHFMMBKI);
Player.PlayerSpawnEvent = IILCGFIHJLP.GMNMHGMFGOL(playerSpawnEvent, action);
}
int num = 0;
base.enabled = num != 0;
BulletTrail ajihbhiieeg = this.AJIHBHIIEEG;
int num2 = 0;
if (ajihbhiieeg != num2)
{
BulletTrail ajihbhiieeg2 = this.AJIHBHIIEEG;
int num3 = 0;
ajihbhiieeg2.enabled = num3 != 0;
}
this.<IPENIMGLJAK>k__BackingField = true;
this.KMELDGNJGFL = (ulong)0L;
Quaternion identity = Quaternion.identity;
float z = Vector3.zero.z;
this.EIJNMCNMMOC.z = z;
this.HFPMICGDIPD = false;
}
// Token: 0x06012EB8 RID: 77496 RVA: 0x00450A48 File Offset: 0x0044EC48
[Token(Token = "0x6012EB8")]
[Address(RVA = "0x18734E0", Offset = "0x18724E0", VA = "0x1818734E0")]
private void BOJDHFMMBKI(Player IEKDDPPNFPF, bool GBDEEHJOOEB)
{
if (this.OMKOLJOPAHJ)
{
Player <KCKOBEMCIGG>k__BackingField = this.<KCKOBEMCIGG>k__BackingField;
if (IEKDDPPNFPF == <KCKOBEMCIGG>k__BackingField)
{
this.ImmediateReleaseBullet();
}
}
}
// Token: 0x06012EB9 RID: 77497 RVA: 0x00450A78 File Offset: 0x0044EC78
[Token(Token = "0x6012EB9")]
[Address(RVA = "0x18741F0", Offset = "0x18731F0", VA = "0x1818741F0")]
public BowArrow()
{
Quaternion identity = Quaternion.identity;
float z = Vector3.zero.z;
this.EIJNMCNMMOC.z = z;
base..ctor();
}
// Token: 0x0400C2D0 RID: 49872
[FieldOffset(Offset = "0x1F8")]
[Token(Token = "0x400C2D0")]
[SerializeField]
private Transform colliderOriginTransform;
// Token: 0x0400C2D1 RID: 49873
[FieldOffset(Offset = "0x200")]
[Token(Token = "0x400C2D1")]
private Transform KMELDGNJGFL;
// Token: 0x0400C2D2 RID: 49874
[FieldOffset(Offset = "0x208")]
[Token(Token = "0x400C2D2")]
private Quaternion PANKPLBABFB;
// Token: 0x0400C2D3 RID: 49875
[FieldOffset(Offset = "0x218")]
[Token(Token = "0x400C2D3")]
private Vector3 EIJNMCNMMOC;
// Token: 0x0400C2D4 RID: 49876
[FieldOffset(Offset = "0x224")]
[Token(Token = "0x400C2D4")]
private bool HFPMICGDIPD;
// Token: 0x0400C2D5 RID: 49877
[FieldOffset(Offset = "0x225")]
[Token(Token = "0x400C2D5")]
private bool OMKOLJOPAHJ;
// Token: 0x0400C2D6 RID: 49878
[FieldOffset(Offset = "0x228")]
[Token(Token = "0x400C2D6")]
private Coroutine KPJEPHMDLCF;
}
}