312 lines
11 KiB
C#
312 lines
11 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Runtime.InteropServices;
|
|
using Cpp2IlInjected;
|
|
using RecRoom.Core.AI;
|
|
using RecRoom.Core.Combat;
|
|
using RecRoom.Core.Pools;
|
|
using UnityEngine;
|
|
|
|
namespace RecRoom.Tools.Weapons
|
|
{
|
|
// Token: 0x0200266D RID: 9837
|
|
[Token(Token = "0x200266D")]
|
|
[StructLayout(3)]
|
|
public class BowArrow : Bullet
|
|
{
|
|
// Token: 0x17002E53 RID: 11859
|
|
// (get) Token: 0x060110F0 RID: 69872 RVA: 0x00405114 File Offset: 0x00403314
|
|
[Token(Token = "0x17002E53")]
|
|
protected override Vector3 CHBLIFPICIE
|
|
{
|
|
[Token(Token = "0x60110F0")]
|
|
[Address(RVA = "0x15A6290", Offset = "0x15A4C90", VA = "0x1815A6290", Slot = "4")]
|
|
get
|
|
{
|
|
bool flag;
|
|
if (flag)
|
|
{
|
|
Vector3 vector;
|
|
float z = vector.z;
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
}
|
|
|
|
// Token: 0x17002E54 RID: 11860
|
|
// (get) Token: 0x060110F1 RID: 69873 RVA: 0x00405134 File Offset: 0x00403334
|
|
// (set) Token: 0x060110F2 RID: 69874 RVA: 0x00405148 File Offset: 0x00403348
|
|
[Token(Token = "0x17002E54")]
|
|
protected bool BCKCEELIDLH
|
|
{
|
|
[Token(Token = "0x60110F1")]
|
|
[Address(RVA = "0xBCCEF0", Offset = "0xBCB8F0", VA = "0x180BCCEF0")]
|
|
get;
|
|
[Token(Token = "0x60110F2")]
|
|
[Address(RVA = "0xFC75F0", Offset = "0xFC5FF0", VA = "0x180FC75F0")]
|
|
set;
|
|
}
|
|
|
|
// Token: 0x060110F3 RID: 69875 RVA: 0x0040515C File Offset: 0x0040335C
|
|
[Token(Token = "0x60110F3")]
|
|
[Address(RVA = "0x15A5970", Offset = "0x15A4370", VA = "0x1815A5970", Slot = "6")]
|
|
protected override void Awake()
|
|
{
|
|
base.Awake();
|
|
this.<IPENIMGLJAK>k__BackingField = true;
|
|
}
|
|
|
|
// Token: 0x060110F4 RID: 69876 RVA: 0x00405178 File Offset: 0x00403378
|
|
[Token(Token = "0x60110F4")]
|
|
[Address(RVA = "0x15A5A20", Offset = "0x15A4420", VA = "0x1815A5A20", 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: 0x060110F5 RID: 69877 RVA: 0x00405234 File Offset: 0x00403434
|
|
[Token(Token = "0x60110F5")]
|
|
[Address(RVA = "0x15A5CE0", Offset = "0x15A46E0", VA = "0x1815A5CE0", 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)
|
|
{
|
|
ActionEvent<Player, bool> playerSpawnEvent = Player.PlayerSpawnEvent;
|
|
Action<Player, bool> action = new Action(this.BOJDHFMMBKI);
|
|
Player.PlayerSpawnEvent = 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: 0x060110F6 RID: 69878 RVA: 0x00405380 File Offset: 0x00403580
|
|
[Token(Token = "0x60110F6")]
|
|
[Address(RVA = "0x15A63B0", Offset = "0x15A4DB0", VA = "0x1815A63B0", 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: 0x060110F7 RID: 69879 RVA: 0x004053F4 File Offset: 0x004035F4
|
|
[Token(Token = "0x60110F7")]
|
|
[Address(RVA = "0x15A5C50", Offset = "0x15A4650", VA = "0x1815A5C50")]
|
|
public void ImmediateReleaseBullet()
|
|
{
|
|
Coroutine kpjephmdlcf = this.KPJEPHMDLCF;
|
|
if (kpjephmdlcf != 0)
|
|
{
|
|
base.StopCoroutine(kpjephmdlcf);
|
|
}
|
|
this.ResetArrowParams();
|
|
bool flag = GlobalPool.ONCPNMDGGKG.Release<BowArrow>(this);
|
|
}
|
|
|
|
// Token: 0x060110F8 RID: 69880 RVA: 0x00405430 File Offset: 0x00403630
|
|
[Token(Token = "0x60110F8")]
|
|
[Address(RVA = "0x15A6350", Offset = "0x15A4D50", VA = "0x1815A6350")]
|
|
private IEnumerator PPNHBBFJAFL()
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (060110F8)
|
|
|
|
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: 0x060110F9 RID: 69881 RVA: 0x00405454 File Offset: 0x00403654
|
|
[Token(Token = "0x60110F9")]
|
|
[Address(RVA = "0x15A64C0", Offset = "0x15A4EC0", VA = "0x1815A64C0")]
|
|
public void ResetArrowParams()
|
|
{
|
|
if (this.OMKOLJOPAHJ)
|
|
{
|
|
ActionEvent<Player, bool> playerSpawnEvent = Player.PlayerSpawnEvent;
|
|
Action<Player, bool> action = new Action(this.BOJDHFMMBKI);
|
|
Player.PlayerSpawnEvent = 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: 0x060110FA RID: 69882 RVA: 0x004054F8 File Offset: 0x004036F8
|
|
[Token(Token = "0x60110FA")]
|
|
[Address(RVA = "0x15A5990", Offset = "0x15A4390", VA = "0x1815A5990")]
|
|
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: 0x060110FB RID: 69883 RVA: 0x00405528 File Offset: 0x00403728
|
|
[Token(Token = "0x60110FB")]
|
|
[Address(RVA = "0x15A6680", Offset = "0x15A5080", VA = "0x1815A6680")]
|
|
public BowArrow()
|
|
{
|
|
Quaternion identity = Quaternion.identity;
|
|
float z = Vector3.zero.z;
|
|
this.EIJNMCNMMOC.z = z;
|
|
base..ctor();
|
|
}
|
|
|
|
// Token: 0x0400B562 RID: 46434
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x1F8")]
|
|
[Token(Token = "0x400B562")]
|
|
[SerializeField]
|
|
private Transform colliderOriginTransform;
|
|
|
|
// Token: 0x0400B563 RID: 46435
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x200")]
|
|
[Token(Token = "0x400B563")]
|
|
private Transform KMELDGNJGFL;
|
|
|
|
// Token: 0x0400B564 RID: 46436
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x208")]
|
|
[Token(Token = "0x400B564")]
|
|
private Quaternion PANKPLBABFB;
|
|
|
|
// Token: 0x0400B565 RID: 46437
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x218")]
|
|
[Token(Token = "0x400B565")]
|
|
private Vector3 EIJNMCNMMOC;
|
|
|
|
// Token: 0x0400B566 RID: 46438
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x224")]
|
|
[Token(Token = "0x400B566")]
|
|
private bool HFPMICGDIPD;
|
|
|
|
// Token: 0x0400B567 RID: 46439
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x225")]
|
|
[Token(Token = "0x400B567")]
|
|
private bool OMKOLJOPAHJ;
|
|
|
|
// Token: 0x0400B568 RID: 46440
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x228")]
|
|
[Token(Token = "0x400B568")]
|
|
private Coroutine KPJEPHMDLCF;
|
|
}
|
|
}
|