Files
2026-04-10 22:50:51 +02:00

888 lines
34 KiB
C#

using System;
using System.Collections;
using System.Runtime.CompilerServices;
using Cpp2IlInjected;
using RecRoom.Core.Combat;
using UnityEngine;
namespace RecRoom.Tools.Weapons
{
// Token: 0x02002B70 RID: 11120
[Token(Token = "0x2002B70")]
public class WeaponReloader : WeaponAccessory
{
// Token: 0x17003434 RID: 13364
// (get) Token: 0x06012B48 RID: 76616 RVA: 0x0044B0E8 File Offset: 0x004492E8
[Token(Token = "0x17003434")]
private int DGBHNIGIJLO
{
[Token(Token = "0x6012B48")]
[Address(RVA = "0xBC5080", Offset = "0xBC3E80", VA = "0x180BC5080")]
get
{
int num = this.pullTickCount;
return num + 1;
}
}
// Token: 0x17003435 RID: 13365
// (get) Token: 0x06012B49 RID: 76617 RVA: 0x0044B104 File Offset: 0x00449304
// (set) Token: 0x06012B4A RID: 76618 RVA: 0x0044B118 File Offset: 0x00449318
[Token(Token = "0x17003435")]
public bool FAMGOEKHBGF
{
[Token(Token = "0x6012B49")]
[Address(RVA = "0xBC6B10", Offset = "0xBC5910", VA = "0x180BC6B10")]
get;
[Token(Token = "0x6012B4A")]
[Address(RVA = "0xBC6B20", Offset = "0xBC5920", VA = "0x180BC6B20")]
set;
}
// Token: 0x06012B4B RID: 76619 RVA: 0x0044B12C File Offset: 0x0044932C
[Token(Token = "0x6012B4B")]
[Address(RVA = "0xBC4920", Offset = "0xBC3720", VA = "0x180BC4920", Slot = "5")]
protected override void Awake()
{
base.Awake();
Tool tool = this._tool;
int num = 0;
if (tool != num)
{
this._tool.IgnorePickupDirection = true;
Tool tool2 = this._tool;
Tool.OGLAJAFKBMN oglajafkbmn = new Tool.OGLAJAFKBMN(this.LPLIIBBAAOI);
tool2.AddCustomPickupCondition(oglajafkbmn);
Tool tool3 = this._tool;
MFBGLIHGCGO<Tool> postPickupEvent = tool3.PostPickupEvent;
Action<Tool> action = new Action(this.HAAIALDMMEL);
MFBGLIHGCGO<Tool> mfbglihgcgo = MFBGLIHGCGO.BPJDFPACLMK(postPickupEvent, action);
tool3.PostPickupEvent = mfbglihgcgo;
Tool tool4 = this._tool;
MFBGLIHGCGO<Tool> postReleaseEvent = tool4.PostReleaseEvent;
Action<Tool> action2 = new Action(this.OIOCPLEKMEK);
MFBGLIHGCGO<Tool> mfbglihgcgo2 = MFBGLIHGCGO.BPJDFPACLMK(postReleaseEvent, action2);
tool4.PostReleaseEvent = mfbglihgcgo2;
Tool tool5 = this._tool;
MFBGLIHGCGO<Tool> postAttachEvent = tool5.PostAttachEvent;
Action<Tool> action3 = new Action(this.BLKAKANNEJP);
MFBGLIHGCGO<Tool> mfbglihgcgo3 = MFBGLIHGCGO.BPJDFPACLMK(postAttachEvent, action3);
tool5.PostAttachEvent = mfbglihgcgo3;
Tool tool6 = this._tool;
EAHPNACBLDD<Tool, Vector3, Quaternion, Vector3, bool> postResetEvent = tool6.PostResetEvent;
Action<Tool, Vector3, Quaternion, Vector3, bool> action4 = new Action(this.LBODGLNOABB);
EAHPNACBLDD<Tool, Vector3, Quaternion, Vector3, bool> eahpnacbldd = EAHPNACBLDD.BPJDFPACLMK(postResetEvent, action4);
tool6.PostResetEvent = eahpnacbldd;
this._tool.rigidbodyEx.AddKinematic(this);
this._tool.ReleaseWithVelocity = false;
}
Weapon parentWeapon = this.parentWeapon;
int num2 = 0;
if (!(parentWeapon == num2))
{
Tool tool7 = this.parentWeapon._tool;
Action action5 = new Action(this.OICGKLMBONC);
tool7.NBBKCDDPBPD += action5;
Weapon parentWeapon2 = this.parentWeapon;
Action action6 = new Action(this.DONOOFPPPOB);
parentWeapon2.DONOOFPPPOB += action6;
Weapon parentWeapon3 = this.parentWeapon;
Action action7 = new Action(this.MIKJDLDPIEP);
parentWeapon3.OFOLKCFPBEN += action7;
Transform transform = this.parentWeapon.transform;
Transform transform2 = this.emptyClipTransform;
Vector3 vector;
float z = vector.z;
Weapon parentWeapon4 = this.parentWeapon;
Vector3 vector2;
float z2 = vector2.z;
this.JNJIAPLPIGB.z = z2;
Transform transform3 = parentWeapon4.transform;
Transform transform4 = this.emptyClipTransform;
DelayedRangedWeaponTrigger delayedRangedWeaponTrigger = this.delayedWeaponTrigger;
int num3 = 0;
if (!(delayedRangedWeaponTrigger != num3))
{
goto IL_263;
}
DelayedRangedWeaponTrigger delayedRangedWeaponTrigger2 = this.delayedWeaponTrigger;
DelayedRangedWeaponTrigger.IOGLIBAPLLG ioglibapllg = new DelayedRangedWeaponTrigger.IOGLIBAPLLG(this.GDFPOLCEBCJ);
delayedRangedWeaponTrigger2.ABHIBNPKAIN += ioglibapllg;
DelayedRangedWeaponTrigger delayedRangedWeaponTrigger3 = this.delayedWeaponTrigger;
DelayedRangedWeaponTrigger.IOGLIBAPLLG ioglibapllg2 = new DelayedRangedWeaponTrigger.IOGLIBAPLLG(this.PBBPDKFNPKG);
delayedRangedWeaponTrigger3.JFPBBAHBCPN += ioglibapllg2;
}
Debug.LogError(base.name + " is missing weapon reference.");
IL_263:
Transform transform5 = this.fullClipTransform;
Transform transform6 = this.emptyClipTransform;
Vector3 vector3;
float z3 = vector3.z;
Vector3 vector4;
float z4 = vector4.z;
Vector3 vector5;
float z5 = vector5.z;
this.HABNDFDLPCM.z = z5;
Tool tool8 = this._tool;
float num4;
this.MKFDOOGDODK = num4;
float uniformScale = tool8.rigidbodyEx.MKDHFENOFDO;
bool flag = this.animateParentWeaponReloader;
this.<BABGDIBCNEO>k__BackingField = flag;
this.GPAHAFBLMIG = uniformScale;
}
// Token: 0x06012B4C RID: 76620 RVA: 0x0044B410 File Offset: 0x00449610
[Token(Token = "0x6012B4C")]
[Address(RVA = "0xBC6250", Offset = "0xBC5050", VA = "0x180BC6250", Slot = "7")]
protected override void OnDestroy()
{
base.OnDestroy();
Tool tool = this._tool;
int num = 0;
if (tool != num)
{
Tool tool2 = this._tool;
MFBGLIHGCGO<Tool> postPickupEvent = tool2.PostPickupEvent;
Action<Tool> action = new Action(this.HAAIALDMMEL);
MFBGLIHGCGO<Tool> mfbglihgcgo = MFBGLIHGCGO.GMNMHGMFGOL(postPickupEvent, action);
tool2.PostPickupEvent = mfbglihgcgo;
Tool tool3 = this._tool;
MFBGLIHGCGO<Tool> postReleaseEvent = tool3.PostReleaseEvent;
Action<Tool> action2 = new Action(this.OIOCPLEKMEK);
MFBGLIHGCGO<Tool> mfbglihgcgo2 = MFBGLIHGCGO.GMNMHGMFGOL(postReleaseEvent, action2);
tool3.PostReleaseEvent = mfbglihgcgo2;
Tool tool4 = this._tool;
MFBGLIHGCGO<Tool> postAttachEvent = tool4.PostAttachEvent;
Action<Tool> action3 = new Action(this.BLKAKANNEJP);
MFBGLIHGCGO<Tool> mfbglihgcgo3 = MFBGLIHGCGO.GMNMHGMFGOL(postAttachEvent, action3);
tool4.PostAttachEvent = mfbglihgcgo3;
Tool tool5 = this._tool;
EAHPNACBLDD<Tool, Vector3, Quaternion, Vector3, bool> postResetEvent = tool5.PostResetEvent;
Action<Tool, Vector3, Quaternion, Vector3, bool> action4 = new Action(this.LBODGLNOABB);
EAHPNACBLDD<Tool, Vector3, Quaternion, Vector3, bool> eahpnacbldd = EAHPNACBLDD.GMNMHGMFGOL(postResetEvent, action4);
tool5.PostResetEvent = eahpnacbldd;
}
Weapon parentWeapon = this.parentWeapon;
int num2 = 0;
if (parentWeapon != num2)
{
Tool tool6 = this.parentWeapon._tool;
Action action5 = new Action(this.OICGKLMBONC);
tool6.NBBKCDDPBPD -= action5;
Weapon parentWeapon2 = this.parentWeapon;
Action action6 = new Action(this.MIKJDLDPIEP);
parentWeapon2.OFOLKCFPBEN -= action6;
Weapon parentWeapon3 = this.parentWeapon;
Action action7 = new Action(this.DONOOFPPPOB);
parentWeapon3.DONOOFPPPOB -= action7;
}
DelayedRangedWeaponTrigger delayedRangedWeaponTrigger = this.delayedWeaponTrigger;
int num3 = 0;
if (delayedRangedWeaponTrigger != num3)
{
DelayedRangedWeaponTrigger delayedRangedWeaponTrigger2 = this.delayedWeaponTrigger;
DelayedRangedWeaponTrigger.IOGLIBAPLLG ioglibapllg = new DelayedRangedWeaponTrigger.IOGLIBAPLLG(this.GDFPOLCEBCJ);
delayedRangedWeaponTrigger2.ABHIBNPKAIN -= ioglibapllg;
DelayedRangedWeaponTrigger delayedRangedWeaponTrigger3 = this.delayedWeaponTrigger;
DelayedRangedWeaponTrigger.IOGLIBAPLLG ioglibapllg2 = new DelayedRangedWeaponTrigger.IOGLIBAPLLG(this.PBBPDKFNPKG);
delayedRangedWeaponTrigger3.JFPBBAHBCPN -= ioglibapllg2;
}
}
// Token: 0x06012B4D RID: 76621 RVA: 0x0044B5D4 File Offset: 0x004497D4
[Token(Token = "0x6012B4D")]
[Address(RVA = "0xBC67D0", Offset = "0xBC55D0", VA = "0x180BC67D0", Slot = "6")]
protected override void Start()
{
RigidbodyPickup rigidbodyPickup = this._tool.rigidbodyPickup;
if (rigidbodyPickup == 0)
{
}
Weapon parentWeapon = this.parentWeapon;
this.GNFGOLPHEAI = rigidbodyPickup;
RigidbodyPickup rigidbodyPickup2 = parentWeapon._tool.rigidbodyPickup;
PlungerRigidbodyPickup gnfgolpheai = this.GNFGOLPHEAI;
float z = this.JNJIAPLPIGB.z;
gnfgolpheai.ConstraintOffsetPosition.z = z;
PlungerRigidbodyPickup gnfgolpheai2 = this.GNFGOLPHEAI;
Quaternion gicdoidpckn = this.GICDOIDPCKN;
gnfgolpheai2.ConstraintOffsetRotation = gicdoidpckn;
PlungerRigidbodyPickup gnfgolpheai3 = this.GNFGOLPHEAI;
float z2 = this.HABNDFDLPCM.z;
gnfgolpheai3.ConstraintLocalAxis.z = z2;
this.GNFGOLPHEAI.MinimumConstraintDistance = 0f;
PlungerRigidbodyPickup gnfgolpheai4 = this.GNFGOLPHEAI;
float mkfdoogdodk = this.MKFDOOGDODK;
gnfgolpheai4.MaximumConstraintDistance = mkfdoogdodk;
this.MIKJDLDPIEP();
this.KBMDJLKAPNO();
if (!this._tool.<BIPMAHKMNKF>k__BackingField)
{
Quaternion gicdoidpckn2 = this.GICDOIDPCKN;
float z3 = this.JNJIAPLPIGB.z;
}
base.Start();
}
// Token: 0x06012B4E RID: 76622 RVA: 0x0044B6D0 File Offset: 0x004498D0
[Token(Token = "0x6012B4E")]
[Address(RVA = "0xBC65F0", Offset = "0xBC53F0", VA = "0x180BC65F0")]
private void OnEnable()
{
if (!this._tool.<BIPMAHKMNKF>k__BackingField)
{
Quaternion gicdoidpckn = this.GICDOIDPCKN;
float z = this.JNJIAPLPIGB.z;
}
}
// Token: 0x06012B4F RID: 76623 RVA: 0x0044B704 File Offset: 0x00449904
[Token(Token = "0x6012B4F")]
[Address(RVA = "0xBC5B90", Offset = "0xBC4990", VA = "0x180BC5B90")]
private void KBMDJLKAPNO()
{
if (this.AENELEOCFPJ != 0)
{
}
Weapon parentWeapon = this.parentWeapon;
int num = 0;
if (parentWeapon != num && (this.parentWeapon._tool.FNFNLDBILFE || !this.parentWeapon._tool.rigidbodyEx.IsSleeping()))
{
Action action = new Action(this.JJGODHDABOH);
IDisposable disposable = this.OPEMIFENIJM(action);
this.AENELEOCFPJ = disposable;
return;
}
this.AENELEOCFPJ = (ulong)0L;
}
// Token: 0x06012B50 RID: 76624 RVA: 0x0044B784 File Offset: 0x00449984
[Token(Token = "0x6012B50")]
[Address(RVA = "0xBC5890", Offset = "0xBC4690", VA = "0x180BC5890")]
private void JJGODHDABOH()
{
if (this._tool.OGIBLNIIHDK && this._tool.FNFNLDBILFE)
{
PlungerRigidbodyPickup gnfgolpheai = this.GNFGOLPHEAI;
int num = 0;
if (gnfgolpheai != num)
{
PlungerRigidbodyPickup gnfgolpheai2 = this.GNFGOLPHEAI;
float num2 = this.GPAHAFBLMIG;
float currentDistance = gnfgolpheai2.CurrentDistance;
float num3 = Mathf.InverseLerp((float)0, num2, currentDistance);
int num4 = this.pullTickCount;
num2 = num3;
num4++;
this.ICJOIHKKABO(num2);
this.NLFNFGNNBNF = num2;
if (gnfgolpheai != 0 && !this.AFHFMMDPEFB)
{
if (this.ReloadsAutomatically)
{
this.parentWeapon.ReloadAmmunition();
}
this.GADODEBHGIA();
}
this.AFHFMMDPEFB = gnfgolpheai != null;
}
}
if (this.<BABGDIBCNEO>k__BackingField)
{
if (this.reloaderType == WeaponReloader.OFIHDMNINPD.PULL)
{
float magazineAmmunitionNormalized = this.parentWeapon.CGOPGIAIOIK;
}
PlungerRigidbodyPickup gnfgolpheai3 = this.GNFGOLPHEAI;
int num5 = 0;
float num6;
float num7;
if (gnfgolpheai3 != num5 && this._tool.FNFNLDBILFE && !this._tool.<LPPHFOBBGNL>k__BackingField)
{
PlungerRigidbodyPickup gnfgolpheai4 = this.GNFGOLPHEAI;
num6 = this.GPAHAFBLMIG;
num7 = gnfgolpheai4.CurrentDistance;
num6 = Mathf.InverseLerp((float)0, num6, num7);
}
Weapon parentWeapon = this.parentWeapon;
num7 = num6;
int johdlnmalma = WeaponReloader.JOHDLNMALMA;
parentWeapon.SetAnimationFloat(johdlnmalma, num7);
}
}
// Token: 0x06012B51 RID: 76625 RVA: 0x0044B8D4 File Offset: 0x00449AD4
[Token(Token = "0x6012B51")]
[Address(RVA = "0xBC60E0", Offset = "0xBC4EE0", VA = "0x180BC60E0")]
private void OICGKLMBONC()
{
float uniformScale = this._tool.rigidbodyEx.MKDHFENOFDO;
this.GPAHAFBLMIG = uniformScale;
}
// Token: 0x06012B52 RID: 76626 RVA: 0x0044B900 File Offset: 0x00449B00
[Token(Token = "0x6012B52")]
[Address(RVA = "0xBC5320", Offset = "0xBC4120", VA = "0x180BC5320")]
private void HAAIALDMMEL(Tool EGFEJGHDNAI)
{
float gpahafblmig = this.GPAHAFBLMIG;
PlungerRigidbodyPickup gnfgolpheai = this.GNFGOLPHEAI;
this.AFHFMMDPEFB = false;
int num = 0;
if (gnfgolpheai != num)
{
PlungerRigidbodyPickup gnfgolpheai2 = this.GNFGOLPHEAI;
}
int num2 = 0;
float num3 = Mathf.InverseLerp((float)0, gpahafblmig, (float)num2);
int num4 = this.pullTickCount;
num4++;
Weapon parentWeapon = this.parentWeapon;
this.NLFNFGNNBNF = num3;
parentWeapon.<FAGFHDDIHHD>k__BackingField = true;
}
// Token: 0x06012B53 RID: 76627 RVA: 0x0044B970 File Offset: 0x00449B70
[Token(Token = "0x6012B53")]
[Address(RVA = "0xBC6130", Offset = "0xBC4F30", VA = "0x180BC6130")]
private void OIOCPLEKMEK(Tool EGFEJGHDNAI)
{
this.parentWeapon.<FAGFHDDIHHD>k__BackingField = false;
PlungerRigidbodyPickup gnfgolpheai = this.GNFGOLPHEAI;
int num = 0;
if (gnfgolpheai != num)
{
PlungerRigidbodyPickup gnfgolpheai2 = this.GNFGOLPHEAI;
int num2 = 0;
this.HMHIMJBPKJF = num2;
this.GNFGOLPHEAI.CurrentDistance = (float)num2;
}
if (this._tool.OGIBLNIIHDK)
{
Action action = new Action(this.LNHANACJAIF);
Coroutine coroutine = this.CHAAKFJCLIH(action);
}
}
// Token: 0x06012B54 RID: 76628 RVA: 0x0044B9E4 File Offset: 0x00449BE4
[Token(Token = "0x6012B54")]
[Address(RVA = "0xBC4F70", Offset = "0xBC3D70", VA = "0x180BC4F70")]
private void BLKAKANNEJP(Tool EGFEJGHDNAI)
{
if (this.parentWeapon._tool.<BIPMAHKMNKF>k__BackingField && this._tool.OGIBLNIIHDK && base.isActiveAndEnabled)
{
WeaponReloader.FADPLMHEKKG fadplmhekkg;
fadplmhekkg.System.IDisposable.Dispose();
float num;
fadplmhekkg.returnDistance = num;
fadplmhekkg.<>1__state = (int)((ulong)0L);
fadplmhekkg.<>4__this = this;
Coroutine coroutine = base.StartCoroutine(fadplmhekkg);
}
}
// Token: 0x06012B55 RID: 76629 RVA: 0x0044BA48 File Offset: 0x00449C48
[Token(Token = "0x6012B55")]
[Address(RVA = "0xBC5CC0", Offset = "0xBC4AC0", VA = "0x180BC5CC0")]
private void LBODGLNOABB(Tool EGFEJGHDNAI, Vector3 BNMOCBJEEPN, Quaternion LPHCCEOHNIN, Vector3 GMMJHABHDHE, bool ACPOOMGHPKJ)
{
object[] array = new object[1];
if (this != 0)
{
}
array[0] = this;
Debug.LogErrorFormat("Resetting reloader subtool {0}. Subtools generally shouldn't be manually reset.", array);
Quaternion gicdoidpckn = this.GICDOIDPCKN;
float z = this.JNJIAPLPIGB.z;
}
// Token: 0x06012B56 RID: 76630 RVA: 0x0044BA8C File Offset: 0x00449C8C
[Token(Token = "0x6012B56")]
[Address(RVA = "0xBC51A0", Offset = "0xBC3FA0", VA = "0x180BC51A0", Slot = "10")]
protected override void FAFIPDEIOCK(Tool EGFEJGHDNAI)
{
base.FAFIPDEIOCK(EGFEJGHDNAI);
this.MIKJDLDPIEP();
}
// Token: 0x06012B57 RID: 76631 RVA: 0x0044BAA8 File Offset: 0x00449CA8
[Token(Token = "0x6012B57")]
[Address(RVA = "0xBC5090", Offset = "0xBC3E90", VA = "0x180BC5090", Slot = "8")]
protected override void CFODJFFPDFP(Tool EGFEJGHDNAI)
{
base.CFODJFFPDFP(EGFEJGHDNAI);
this.KBMDJLKAPNO();
}
// Token: 0x06012B58 RID: 76632 RVA: 0x0044BAC4 File Offset: 0x00449CC4
[Token(Token = "0x6012B58")]
[Address(RVA = "0xBC5190", Offset = "0xBC3F90", VA = "0x180BC5190", Slot = "9")]
protected override void ELJGGDGLEHE(RigidbodyEx PJBJCJPOOGL)
{
this.KBMDJLKAPNO();
}
// Token: 0x06012B59 RID: 76633 RVA: 0x0044BAD8 File Offset: 0x00449CD8
[Token(Token = "0x6012B59")]
[Address(RVA = "0xBC5EE0", Offset = "0xBC4CE0", VA = "0x180BC5EE0")]
private void MIKJDLDPIEP()
{
if (base.gameObject.activeInHierarchy)
{
PlungerRigidbodyPickup gnfgolpheai = this.GNFGOLPHEAI;
int num = 0;
if (gnfgolpheai != num)
{
PlungerRigidbodyPickup gnfgolpheai2 = this.GNFGOLPHEAI;
int num2 = 0;
if (gnfgolpheai2 != num2)
{
WeaponReloader.OFIHDMNINPD ofihdmninpd = this.reloaderType;
if (ofihdmninpd != WeaponReloader.OFIHDMNINPD.PULL)
{
if (ofihdmninpd != WeaponReloader.OFIHDMNINPD.PUMP)
{
goto IL_AE;
}
this.GNFGOLPHEAI.MinimumConstraintDistance = 0f;
}
Weapon parentWeapon = this.parentWeapon;
PlungerRigidbodyPickup gnfgolpheai3 = this.GNFGOLPHEAI;
float mkfdoogdodk = this.MKFDOOGDODK;
float magazineAmmunitionNormalized = parentWeapon.CGOPGIAIOIK;
float num3 = Mathf.Lerp((float)0, mkfdoogdodk, magazineAmmunitionNormalized);
gnfgolpheai3.MinimumConstraintDistance = num3;
PlungerRigidbodyPickup gnfgolpheai4 = this.GNFGOLPHEAI;
float mkfdoogdodk2 = this.MKFDOOGDODK;
gnfgolpheai4.MaximumConstraintDistance = mkfdoogdodk2;
IL_AE:
PlungerRigidbodyPickup gnfgolpheai5 = this.GNFGOLPHEAI;
float num4 = this.extraPullDistance;
gnfgolpheai5.MaximumConstraintDistance = num4;
}
if (!this._tool.FNFNLDBILFE)
{
this.ECFPALFHBHG(true);
}
}
}
}
// Token: 0x06012B5A RID: 76634 RVA: 0x0044BBC8 File Offset: 0x00449DC8
[Token(Token = "0x6012B5A")]
[Address(RVA = "0xBC50B0", Offset = "0xBC3EB0", VA = "0x180BC50B0")]
private void DONOOFPPPOB()
{
Coroutine mjeplmpjlil = this.MJEPLMPJLIL;
if (mjeplmpjlil != 0)
{
base.StopCoroutine(mjeplmpjlil);
}
this.MJEPLMPJLIL = (ulong)0L;
WeaponReloader.CIJEKHDBNIA cijekhdbnia;
cijekhdbnia.System.IDisposable.Dispose();
cijekhdbnia.<>1__state = (int)((ulong)0L);
cijekhdbnia.<>4__this = this;
Coroutine coroutine = base.StartCoroutine(cijekhdbnia);
this.MJEPLMPJLIL = coroutine;
}
// Token: 0x06012B5B RID: 76635 RVA: 0x0044BC18 File Offset: 0x00449E18
[Token(Token = "0x6012B5B")]
[Address(RVA = "0xBC5230", Offset = "0xBC4030", VA = "0x180BC5230")]
private void GADODEBHGIA()
{
Coroutine mjeplmpjlil = this.MJEPLMPJLIL;
if (mjeplmpjlil != 0)
{
base.StopCoroutine(mjeplmpjlil);
this.MJEPLMPJLIL = (ulong)0L;
return;
}
this.MJEPLMPJLIL = (ulong)0L;
}
// Token: 0x06012B5C RID: 76636 RVA: 0x0044BC4C File Offset: 0x00449E4C
[Token(Token = "0x6012B5C")]
[Address(RVA = "0xBC5DE0", Offset = "0xBC4BE0", VA = "0x180BC5DE0")]
private IEnumerator LDIOLMPCPKO()
{
/*
An exception occurred when decompiling this method (06012B5C)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.IEnumerator RecRoom.Tools.Weapons.WeaponReloader::LDIOLMPCPKO()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
call:void(CIJEKHDBNIA::System.IDisposable.Dispose, ldloc:CIJEKHDBNIA(var_0))
stfld:int32(CIJEKHDBNIA::<>1__state, ldloc:CIJEKHDBNIA(var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](0)))
stfld:WeaponReloader(CIJEKHDBNIA::<>4__this, ldloc:CIJEKHDBNIA(var_0), ldloc:WeaponReloader(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: 0x06012B5D RID: 76637 RVA: 0x0044BC70 File Offset: 0x00449E70
[Token(Token = "0x6012B5D")]
[Address(RVA = "0xBC5140", Offset = "0xBC3F40", VA = "0x180BC5140")]
private void ECFPALFHBHG(bool CDFHDACBFKN)
{
Quaternion gicdoidpckn = this.GICDOIDPCKN;
float z = this.JNJIAPLPIGB.z;
}
// Token: 0x06012B5E RID: 76638 RVA: 0x0044BC90 File Offset: 0x00449E90
[Token(Token = "0x6012B5E")]
[Address(RVA = "0xBC51C0", Offset = "0xBC3FC0", VA = "0x180BC51C0")]
private IEnumerator FKDLDMKBFEK(float HMHIMJBPKJF)
{
/*
An exception occurred when decompiling this method (06012B5E)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.IEnumerator RecRoom.Tools.Weapons.WeaponReloader::FKDLDMKBFEK(System.Single)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
call:void(FADPLMHEKKG::System.IDisposable.Dispose, ldloc:FADPLMHEKKG(var_0))
stfld:float32(FADPLMHEKKG::returnDistance, ldloc:FADPLMHEKKG(var_0), ldloc:float32(HMHIMJBPKJF))
stfld:int32(FADPLMHEKKG::<>1__state, ldloc:FADPLMHEKKG(var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](0)))
stfld:WeaponReloader(FADPLMHEKKG::<>4__this, ldloc:FADPLMHEKKG(var_0), ldloc:WeaponReloader(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: 0x06012B5F RID: 76639 RVA: 0x0044BCBC File Offset: 0x00449EBC
[Token(Token = "0x6012B5F")]
[Address(RVA = "0xBC5440", Offset = "0xBC4240", VA = "0x180BC5440")]
private void HOGCECKPMPB()
{
if (this.<BABGDIBCNEO>k__BackingField)
{
if (this.reloaderType == WeaponReloader.OFIHDMNINPD.PULL)
{
float magazineAmmunitionNormalized = this.parentWeapon.CGOPGIAIOIK;
}
PlungerRigidbodyPickup gnfgolpheai = this.GNFGOLPHEAI;
int num = 0;
float num2;
float num3;
if (gnfgolpheai != num && this._tool.FNFNLDBILFE && !this._tool.<LPPHFOBBGNL>k__BackingField)
{
PlungerRigidbodyPickup gnfgolpheai2 = this.GNFGOLPHEAI;
num2 = this.GPAHAFBLMIG;
num3 = gnfgolpheai2.CurrentDistance;
num2 = Mathf.InverseLerp((float)0, num2, num3);
}
Weapon parentWeapon = this.parentWeapon;
num3 = num2;
int johdlnmalma = WeaponReloader.JOHDLNMALMA;
parentWeapon.SetAnimationFloat(johdlnmalma, num3);
}
}
// Token: 0x06012B60 RID: 76640 RVA: 0x0044BD60 File Offset: 0x00449F60
[Token(Token = "0x6012B60")]
[Address(RVA = "0xBC6670", Offset = "0xBC5470", VA = "0x180BC6670")]
private void PPCFMBJFAGG()
{
PlungerRigidbodyPickup gnfgolpheai = this.GNFGOLPHEAI;
int num = 0;
if (gnfgolpheai != num)
{
WeaponReloader.OFIHDMNINPD ofihdmninpd = this.reloaderType;
if (ofihdmninpd != WeaponReloader.OFIHDMNINPD.PULL)
{
if (ofihdmninpd != WeaponReloader.OFIHDMNINPD.PUMP)
{
goto IL_82;
}
this.GNFGOLPHEAI.MinimumConstraintDistance = 0f;
}
Weapon parentWeapon = this.parentWeapon;
PlungerRigidbodyPickup gnfgolpheai2 = this.GNFGOLPHEAI;
float mkfdoogdodk = this.MKFDOOGDODK;
float magazineAmmunitionNormalized = parentWeapon.CGOPGIAIOIK;
float num2 = Mathf.Lerp((float)0, mkfdoogdodk, magazineAmmunitionNormalized);
gnfgolpheai2.MinimumConstraintDistance = num2;
PlungerRigidbodyPickup gnfgolpheai3 = this.GNFGOLPHEAI;
float mkfdoogdodk2 = this.MKFDOOGDODK;
gnfgolpheai3.MaximumConstraintDistance = mkfdoogdodk2;
IL_82:
PlungerRigidbodyPickup gnfgolpheai4 = this.GNFGOLPHEAI;
float num3 = this.extraPullDistance;
gnfgolpheai4.MaximumConstraintDistance = num3;
}
}
// Token: 0x06012B61 RID: 76641 RVA: 0x0044BE10 File Offset: 0x0044A010
[Token(Token = "0x6012B61")]
[Address(RVA = "0xBC5270", Offset = "0xBC4070", VA = "0x180BC5270")]
private void GDFPOLCEBCJ(DelayedRangedWeaponTrigger OOONNFPBMKC)
{
if (this.<BABGDIBCNEO>k__BackingField)
{
float num = this.reloaderAnimationBlendWhileFiring;
Weapon parentWeapon = this.parentWeapon;
float num2 = this.reloaderAnimationBlendWhileFiring;
int johdlnmalma = WeaponReloader.JOHDLNMALMA;
parentWeapon.SetAnimationFloat(johdlnmalma, num2);
this.<BABGDIBCNEO>k__BackingField = false;
}
}
// Token: 0x06012B62 RID: 76642 RVA: 0x0044BE5C File Offset: 0x0044A05C
[Token(Token = "0x6012B62")]
[Address(RVA = "0xBC6660", Offset = "0xBC5460", VA = "0x180BC6660")]
private void PBBPDKFNPKG(DelayedRangedWeaponTrigger OOONNFPBMKC)
{
bool flag = this.animateParentWeaponReloader;
this.<BABGDIBCNEO>k__BackingField = flag;
}
// Token: 0x06012B63 RID: 76643 RVA: 0x0044BE78 File Offset: 0x0044A078
[Token(Token = "0x6012B63")]
[Address(RVA = "0xBC5E90", Offset = "0xBC4C90", VA = "0x180BC5E90")]
private bool LPLIIBBAAOI(Tool NBHJPDBHDHB, Player JKPGNHBEMOK, Vector3 JEDLNAEEMEN, bool GEJJBENPHJG)
{
return this.parentWeapon.KKCCBKKKAKF != 0 || this.parentWeapon.hasInfiniteReserveAmmunition;
}
// Token: 0x06012B64 RID: 76644 RVA: 0x0044BEA8 File Offset: 0x0044A0A8
[Token(Token = "0x6012B64")]
[Address(RVA = "0xBC55C0", Offset = "0xBC43C0", VA = "0x180BC55C0")]
private void ICJOIHKKABO(float GKBMLDJDEEE)
{
if (this._tool.FNFNLDBILFE)
{
Weapon parentWeapon = this.parentWeapon;
int num = 0;
if (!(parentWeapon == num) && this.parentWeapon._tool.FNFNLDBILFE)
{
RecRoomAudioClip recRoomAudioClip = this.pullTickAudio;
if (recRoomAudioClip != 0)
{
float num2 = GKBMLDJDEEE * 0.45f;
recRoomAudioClip.pitchShift = num2;
Transform transform = base.transform;
int num3 = 0;
int num4 = 0;
SFXAudioSource sfxaudioSource = AudioManager.Play3DSFX(recRoomAudioClip, transform, num4, num3);
}
Tool tool = this.parentWeapon._tool;
if (tool.<BIPMAHKMNKF>k__BackingField)
{
PlayerHand <PBCNKLKCIHJ>k__BackingField = tool.<PBCNKLKCIHJ>k__BackingField;
int num5 = 0;
if (<PBCNKLKCIHJ>k__BackingField != num5)
{
PlayerHand <PBCNKLKCIHJ>k__BackingField2 = this.parentWeapon._tool.<PBCNKLKCIHJ>k__BackingField;
Tool tool2 = this._tool;
if (tool2.<BIPMAHKMNKF>k__BackingField)
{
PlayerHand <PBCNKLKCIHJ>k__BackingField3 = tool2.<PBCNKLKCIHJ>k__BackingField;
int num6 = 0;
if (<PBCNKLKCIHJ>k__BackingField3 != num6)
{
PlayerHand <PBCNKLKCIHJ>k__BackingField4 = this._tool.<PBCNKLKCIHJ>k__BackingField;
this._tool.<PBCNKLKCIHJ>k__BackingField.Vibrate(20, 0.5f);
this.parentWeapon._tool.<PBCNKLKCIHJ>k__BackingField.Vibrate(20, 0.5f);
}
}
}
}
}
}
}
// Token: 0x06012B65 RID: 76645 RVA: 0x0044BFE0 File Offset: 0x0044A1E0
[Token(Token = "0x6012B65")]
[Address(RVA = "0xBC6A10", Offset = "0xBC5810", VA = "0x180BC6A10")]
public WeaponReloader()
{
float z = Vector3.zero.z;
this.JNJIAPLPIGB.z = z;
Quaternion identity = Quaternion.identity;
float z2 = Vector3.zero.z;
this.HABNDFDLPCM.z = z2;
base..ctor();
}
// Token: 0x06012B67 RID: 76647 RVA: 0x0044C080 File Offset: 0x0044A280
[Token(Token = "0x6012B67")]
[Address(RVA = "0xBC5E40", Offset = "0xBC4C40", VA = "0x180BC5E40")]
[CompilerGenerated]
private void LNHANACJAIF()
{
Quaternion gicdoidpckn = this.GICDOIDPCKN;
float z = this.JNJIAPLPIGB.z;
}
// Token: 0x0400C167 RID: 49511
[Token(Token = "0x400C167")]
private const float BMILAAPFFNO = 0.99f;
// Token: 0x0400C168 RID: 49512
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x400C168")]
[SerializeField]
[Header("Reloader")]
private WeaponReloader.OFIHDMNINPD reloaderType = (WeaponReloader.OFIHDMNINPD)((ulong)1L);
// Token: 0x0400C169 RID: 49513
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x400C169")]
[SerializeField]
private Transform emptyClipTransform;
// Token: 0x0400C16A RID: 49514
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x400C16A")]
[SerializeField]
private Transform fullClipTransform;
// Token: 0x0400C16B RID: 49515
[FieldOffset(Offset = "0x80")]
[Token(Token = "0x400C16B")]
[SerializeField]
private float extraPullDistance = 0.05f;
// Token: 0x0400C16C RID: 49516
[FieldOffset(Offset = "0x88")]
[Token(Token = "0x400C16C")]
[SerializeField]
[Header("Feedback")]
private RecRoomAudioClip pullTickAudio;
// Token: 0x0400C16D RID: 49517
[FieldOffset(Offset = "0x90")]
[Token(Token = "0x400C16D")]
[SerializeField]
private int pullTickCount = (int)((ulong)10L);
// Token: 0x0400C16E RID: 49518
[FieldOffset(Offset = "0x94")]
[Token(Token = "0x400C16E")]
[SerializeField]
private float returnToConstraintSpeed = 20f;
// Token: 0x0400C16F RID: 49519
[FieldOffset(Offset = "0x98")]
[Token(Token = "0x400C16F")]
[SerializeField]
[Header("Weapon Animation")]
private bool animateParentWeaponReloader;
// Token: 0x0400C170 RID: 49520
[FieldOffset(Offset = "0x9C")]
[Token(Token = "0x400C170")]
[SerializeField]
private float reloaderAnimationBlendWhileFiring = -1f;
// Token: 0x0400C171 RID: 49521
[Token(Token = "0x400C171")]
private static readonly int JOHDLNMALMA = Animator.StringToHash("ReloaderBlend");
// Token: 0x0400C172 RID: 49522
[Token(Token = "0x400C172")]
private const float ADLODEJNHEB = 0.45f;
// Token: 0x0400C173 RID: 49523
[FieldOffset(Offset = "0xA0")]
[Token(Token = "0x400C173")]
[NonSerialized]
public bool ReloadsAutomatically = true;
// Token: 0x0400C174 RID: 49524
[FieldOffset(Offset = "0xA8")]
[Token(Token = "0x400C174")]
[SerializeField]
[OCIDFHDICIP(JIBDPHMGEGO.SelfAndParent, false, false, false)]
private DelayedRangedWeaponTrigger delayedWeaponTrigger;
// Token: 0x0400C175 RID: 49525
[FieldOffset(Offset = "0xB0")]
[Token(Token = "0x400C175")]
private PlungerRigidbodyPickup GNFGOLPHEAI;
// Token: 0x0400C176 RID: 49526
[FieldOffset(Offset = "0xB8")]
[Token(Token = "0x400C176")]
private Vector3 JNJIAPLPIGB;
// Token: 0x0400C177 RID: 49527
[FieldOffset(Offset = "0xC4")]
[Token(Token = "0x400C177")]
private Quaternion GICDOIDPCKN;
// Token: 0x0400C178 RID: 49528
[FieldOffset(Offset = "0xD4")]
[Token(Token = "0x400C178")]
private Vector3 HABNDFDLPCM;
// Token: 0x0400C179 RID: 49529
[FieldOffset(Offset = "0xE0")]
[Token(Token = "0x400C179")]
private float MKFDOOGDODK;
// Token: 0x0400C17A RID: 49530
[FieldOffset(Offset = "0xE4")]
[Token(Token = "0x400C17A")]
private float GPAHAFBLMIG;
// Token: 0x0400C17B RID: 49531
[FieldOffset(Offset = "0xE8")]
[Token(Token = "0x400C17B")]
private bool AFHFMMDPEFB;
// Token: 0x0400C17C RID: 49532
[FieldOffset(Offset = "0xEC")]
[Token(Token = "0x400C17C")]
private float NLFNFGNNBNF;
// Token: 0x0400C17D RID: 49533
[FieldOffset(Offset = "0xF0")]
[Token(Token = "0x400C17D")]
private float? HMHIMJBPKJF;
// Token: 0x0400C17E RID: 49534
[FieldOffset(Offset = "0xF8")]
[Token(Token = "0x400C17E")]
private IDisposable AENELEOCFPJ;
// Token: 0x0400C180 RID: 49536
[FieldOffset(Offset = "0x108")]
[Token(Token = "0x400C180")]
private Coroutine MJEPLMPJLIL;
// Token: 0x02002B71 RID: 11121
[Token(Token = "0x2002B71")]
private enum OFIHDMNINPD
{
// Token: 0x0400C182 RID: 49538
[Token(Token = "0x400C182")]
PUMP,
// Token: 0x0400C183 RID: 49539
[Token(Token = "0x400C183")]
PULL
}
}
}