using System; using Cpp2IlInjected; using RecRoom.Core.Combat; using RecRoom.Core.Locomotion; using UnityEngine; namespace RecRoom.Tools { // Token: 0x02002ADB RID: 10971 [Token(Token = "0x2002ADB")] public class PlayerBooster : Weapon { // Token: 0x17003302 RID: 13058 // (get) Token: 0x060123BF RID: 74687 RVA: 0x00422C60 File Offset: 0x00420E60 [Token(Token = "0x17003302")] protected override Color EPDNPLLEPOH { [Token(Token = "0x60123BF")] [Address(RVA = "0x14C27D0", Offset = "0x14C17D0", VA = "0x1814C27D0", Slot = "15")] get { /* An exception occurred when decompiling this method (060123BF) ICSharpCode.Decompiler.DecompilerException: Error decompiling UnityEngine.Color RecRoom.Tools.PlayerBooster::OHPGAOGBINO() ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:Color(var_0_05, callgetter:Color(Color::get_white)) } 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: 0x17003303 RID: 13059 // (get) Token: 0x060123C0 RID: 74688 RVA: 0x00422C74 File Offset: 0x00420E74 [Token(Token = "0x17003303")] protected override int DAKOOELNAGH { [Token(Token = "0x60123C0")] [Address(RVA = "0x4242C0", Offset = "0x4232C0", VA = "0x1804242C0", Slot = "16")] get { return 0; } } // Token: 0x17003304 RID: 13060 // (get) Token: 0x060123C1 RID: 74689 RVA: 0x00422C84 File Offset: 0x00420E84 // (set) Token: 0x060123C2 RID: 74690 RVA: 0x00422CA0 File Offset: 0x00420EA0 [Token(Token = "0x17003304")] private PlayerBooster.DNJKECNGHKG GENECNFMDHJ { [Token(Token = "0x60123C1")] [Address(RVA = "0x14C2CE0", Offset = "0x14C1CE0", VA = "0x1814C2CE0")] get { HKKOHFHADKK acffmbhhhgm = this.ACFFMBHHHGM; throw new NullReferenceException(); } [Token(Token = "0x60123C2")] [Address(RVA = "0x14C2750", Offset = "0x14C1750", VA = "0x1814C2750")] set { this.ACFFMBHHHGM.PIEOGAPMGIH((ushort)value); } } // Token: 0x060123C3 RID: 74691 RVA: 0x00422CC4 File Offset: 0x00420EC4 [Token(Token = "0x60123C3")] [Address(RVA = "0x14C1B20", Offset = "0x14C0B20", VA = "0x1814C1B20", Slot = "13")] protected override void Awake() { base.Awake(); Tool tool = this._tool; MFBGLIHGCGO preReleaseEvent = tool.PreReleaseEvent; Action action = new Action(this.AGGEPLMBAFK); MFBGLIHGCGO mfbglihgcgo = MFBGLIHGCGO.BPJDFPACLMK(preReleaseEvent, action); tool.PreReleaseEvent = mfbglihgcgo; Tool tool2 = this._tool; MFBGLIHGCGO inputDownEvent = tool2.InputDownEvent; Action action2 = new Action(this.GDPCAAHGLJN); MFBGLIHGCGO mfbglihgcgo2 = MFBGLIHGCGO.BPJDFPACLMK(inputDownEvent, action2); tool2.InputDownEvent = mfbglihgcgo2; Tool tool3 = this._tool; MFBGLIHGCGO inputUpEvent = tool3.InputUpEvent; Action action3 = new Action(this.KBPEKMLDNHC); MFBGLIHGCGO mfbglihgcgo3 = MFBGLIHGCGO.BPJDFPACLMK(inputUpEvent, action3); tool3.InputUpEvent = mfbglihgcgo3; MFBGLIHGCGO collectedEvent = TriggerCollectible.CollectedEvent; Action action4 = new Action(this.OPDLEOIJPIL); TriggerCollectible.CollectedEvent = MFBGLIHGCGO.BPJDFPACLMK(collectedEvent, action4); HKKOHFHADKK acffmbhhhgm = this.ACFFMBHHHGM; MIEIBBPMDMP.OKGCDFLPFOD okgcdflpfod = new MIEIBBPMDMP.OKGCDFLPFOD(this.BIDHJLEDIFP); int num = 0; int num2 = 0; int num3 = 0; acffmbhhhgm.JEPMLPCOGNM((ushort)num2, okgcdflpfod, num3, num); HKKOHFHADKK acffmbhhhgm2 = this.ACFFMBHHHGM; MIEIBBPMDMP.OKGCDFLPFOD okgcdflpfod2 = new MIEIBBPMDMP.OKGCDFLPFOD(this.CDPMHMAAPCN); int num4 = 0; int num5 = 0; acffmbhhhgm2.JEPMLPCOGNM((ushort)num5, (ushort)num4, okgcdflpfod2, num, num); HKKOHFHADKK acffmbhhhgm3 = this.ACFFMBHHHGM; MIEIBBPMDMP.KNFAKJMALJE knfakjmalje = new MIEIBBPMDMP.KNFAKJMALJE(this.ELALOCMMJEL); HKKOHFHADKK acffmbhhhgm4 = this.ACFFMBHHHGM; MIEIBBPMDMP.OKGCDFLPFOD okgcdflpfod3 = new MIEIBBPMDMP.OKGCDFLPFOD(this.DBECIOEAPNE); MIEIBBPMDMP.KNFAKJMALJE knfakjmalje2 = new MIEIBBPMDMP.KNFAKJMALJE(this.EGIDPLNAHAD); HKKOHFHADKK acffmbhhhgm5 = this.ACFFMBHHHGM; MIEIBBPMDMP.KNFAKJMALJE knfakjmalje3 = new MIEIBBPMDMP.KNFAKJMALJE(this.BDGGJLLNJIP); HKKOHFHADKK acffmbhhhgm6 = this.ACFFMBHHHGM; Action action5 = new Action(this.BALOKJMBNIN); IDisposable disposable = this.OPEMIFENIJM(action5); } // Token: 0x060123C4 RID: 74692 RVA: 0x00422E6C File Offset: 0x0042106C [Token(Token = "0x60123C4")] [Address(RVA = "0x14C2D30", Offset = "0x14C1D30", VA = "0x1814C2D30", Slot = "17")] protected override void Start() { base.Start(); HKKOHFHADKK acffmbhhhgm = this.ACFFMBHHHGM; int num = 0; acffmbhhhgm.OFFLOPLJBBG((ushort)num); } // Token: 0x060123C5 RID: 74693 RVA: 0x00422E98 File Offset: 0x00421098 [Token(Token = "0x60123C5")] [Address(RVA = "0x14C2AD0", Offset = "0x14C1AD0", VA = "0x1814C2AD0", Slot = "14")] protected override void OnDestroy() { Tool tool = this._tool; int num = 0; if (tool != num) { Tool tool2 = this._tool; MFBGLIHGCGO preReleaseEvent = tool2.PreReleaseEvent; Action action = new Action(this.AGGEPLMBAFK); MFBGLIHGCGO mfbglihgcgo = MFBGLIHGCGO.GMNMHGMFGOL(preReleaseEvent, action); tool2.PreReleaseEvent = mfbglihgcgo; Tool tool3 = this._tool; MFBGLIHGCGO inputDownEvent = tool3.InputDownEvent; Action action2 = new Action(this.GDPCAAHGLJN); MFBGLIHGCGO mfbglihgcgo2 = MFBGLIHGCGO.GMNMHGMFGOL(inputDownEvent, action2); tool3.InputDownEvent = mfbglihgcgo2; Tool tool4 = this._tool; MFBGLIHGCGO inputUpEvent = tool4.InputUpEvent; Action action3 = new Action(this.KBPEKMLDNHC); MFBGLIHGCGO mfbglihgcgo3 = MFBGLIHGCGO.GMNMHGMFGOL(inputUpEvent, action3); tool4.InputUpEvent = mfbglihgcgo3; } MFBGLIHGCGO collectedEvent = TriggerCollectible.CollectedEvent; Action action4 = new Action(this.OPDLEOIJPIL); TriggerCollectible.CollectedEvent = MFBGLIHGCGO.GMNMHGMFGOL(collectedEvent, action4); base.OnDestroy(); } // Token: 0x060123C6 RID: 74694 RVA: 0x00422F80 File Offset: 0x00421180 [Token(Token = "0x60123C6")] [Address(RVA = "0x14C2650", Offset = "0x14C1650", VA = "0x1814C2650")] public void TryStartBoosting() { Player k__BackingField = this._tool.k__BackingField; int num = 0; if (k__BackingField != num) { if (base.NOOCGFJOMEM) { return; } this._weaponAudio.OnOutOfAmmoFire(); } } // Token: 0x060123C7 RID: 74695 RVA: 0x00422FC4 File Offset: 0x004211C4 [Token(Token = "0x60123C7")] [Address(RVA = "0x14C2D70", Offset = "0x14C1D70", VA = "0x1814C2D70")] public void StopBoosting() { Player k__BackingField = this._tool.k__BackingField; int num = 0; if (k__BackingField != num) { HKKOHFHADKK acffmbhhhgm = this.ACFFMBHHHGM; } } // Token: 0x060123C8 RID: 74696 RVA: 0x00422FF8 File Offset: 0x004211F8 [Token(Token = "0x60123C8")] [Address(RVA = "0x14C2650", Offset = "0x14C1650", VA = "0x1814C2650")] private void GDPCAAHGLJN(Tool EGFEJGHDNAI) { Player k__BackingField = this._tool.k__BackingField; int num = 0; if (k__BackingField != num) { if (base.NOOCGFJOMEM) { return; } this._weaponAudio.OnOutOfAmmoFire(); } } // Token: 0x060123C9 RID: 74697 RVA: 0x0042303C File Offset: 0x0042123C [Token(Token = "0x60123C9")] [Address(RVA = "0x14C2740", Offset = "0x14C1740", VA = "0x1814C2740")] private void KBPEKMLDNHC(Tool EGFEJGHDNAI) { this.StopBoosting(); } // Token: 0x060123CA RID: 74698 RVA: 0x00423050 File Offset: 0x00421250 [Token(Token = "0x60123CA")] [Address(RVA = "0x14C1A40", Offset = "0x14C0A40", VA = "0x1814C1A40")] private void AGGEPLMBAFK(Tool EGFEJGHDNAI) { this.StopBoosting(); Player k__BackingField = EGFEJGHDNAI.k__BackingField; int num = 0; if (k__BackingField != num) { EGFEJGHDNAI.k__BackingField.playerMovement.RemoveSprintMaxSpeedWalkSpeedMultiplier("PLAYER_BOOSTER"); this.POJOHDGBHCH = 0f; } } // Token: 0x060123CB RID: 74699 RVA: 0x0042309C File Offset: 0x0042129C [Token(Token = "0x60123CB")] [Address(RVA = "0x14C1F20", Offset = "0x14C0F20", VA = "0x1814C1F20")] private void BALOKJMBNIN() { this.ACFFMBHHHGM.OPEMIFENIJM(); } // Token: 0x060123CC RID: 74700 RVA: 0x004230BC File Offset: 0x004212BC [Token(Token = "0x60123CC")] [Address(RVA = "0x14C2870", Offset = "0x14C1870", VA = "0x1814C2870")] private void OPDLEOIJPIL(TriggerCollectible JAFFDHNPMOI) { if (JAFFDHNPMOI.collectibleType == CCIMPAHNKAP.Stuntrunner_Boost) { Tool tool = this._tool; if (tool.k__BackingField) { Player k__BackingField = tool.k__BackingField; int magazineAmmunition = base.DFPKOJKFNIF; int ammunitionMagazineSize = this.ammunitionMagazineSize; if (magazineAmmunition >= ammunitionMagazineSize) { throw new NullReferenceException(); } int num = 0; int magazineAmmunition2 = base.DFPKOJKFNIF; int num2 = Mathf.Min(ammunitionMagazineSize, num); int num3 = 0; base.OOEABMPJJFF(num2, num3); float magazineAmmunitionNormalized = base.CGOPGIAIOIK; AudioClip audioClip = this.speedBoostPickupSfx.audioClip; Transform transform = JAFFDHNPMOI.transform; Vector3 vector; float z = vector.z; int magazineAmmunition3 = base.DFPKOJKFNIF; RecRoomAudioClip recRoomAudioClip = this.boostMeterFullSfx; int num4 = 0; SFXAudioSource sfxaudioSource = AudioManager.Play2DSFX(recRoomAudioClip, num4); } } } // Token: 0x060123CD RID: 74701 RVA: 0x00423170 File Offset: 0x00421370 [Token(Token = "0x60123CD")] [Address(RVA = "0x14C2D20", Offset = "0x14C1D20", VA = "0x1814C2D20")] public void SetDefaultFuelLevel() { base.NOPDMJMLJGC(); } // Token: 0x060123CE RID: 74702 RVA: 0x00423184 File Offset: 0x00421384 [Token(Token = "0x60123CE")] [Address(RVA = "0x14C20F0", Offset = "0x14C10F0", VA = "0x1814C20F0")] private void BIDHJLEDIFP(ushort CPMPEJFMDED, ushort OEAPMLMHLLF) { Player.k__BackingField.playerMovementFeedback.StopPlayingSonicBoomSprintEffect(); this._weaponAudio.OnFullyChargedLoopStop(); } // Token: 0x060123CF RID: 74703 RVA: 0x004231B4 File Offset: 0x004213B4 [Token(Token = "0x60123CF")] [Address(RVA = "0x14C21C0", Offset = "0x14C11C0", VA = "0x1814C21C0")] private void CDPMHMAAPCN(ushort KLKLEBGGBNE, ushort OEAPMLMHLLF) { Player.k__BackingField.playerMovement.RemoveSprintMaxSpeedWalkSpeedMultiplier("PLAYER_BOOSTER"); this.POJOHDGBHCH = 0f; } // Token: 0x060123D0 RID: 74704 RVA: 0x004231E8 File Offset: 0x004213E8 [Token(Token = "0x60123D0")] [Address(RVA = "0x14C24D0", Offset = "0x14C14D0", VA = "0x1814C24D0")] private void ELALOCMMJEL() { float num = this.POJOHDGBHCH; Player k__BackingField = Player.k__BackingField; float deltaTime = Time.deltaTime; int num2 = 0; float num3 = Mathf.Max((float)num2, num); this.POJOHDGBHCH = num3; PlayerMovement playerMovement = k__BackingField.playerMovement; num = num3; playerMovement.AddWalkMaxSpeedMultiplier(num, "PLAYER_BOOSTER"); HKKOHFHADKK acffmbhhhgm = this.ACFFMBHHHGM; int num4 = 0; int num5 = 0; acffmbhhhgm.PIEOGAPMGIH((ushort)num5, (ushort)num4); } // Token: 0x060123D1 RID: 74705 RVA: 0x0042325C File Offset: 0x0042145C [Token(Token = "0x60123D1")] [Address(RVA = "0x14C22C0", Offset = "0x14C12C0", VA = "0x1814C22C0")] private void DBECIOEAPNE(ushort CPMPEJFMDED, ushort OEAPMLMHLLF) { Player k__BackingField = Player.k__BackingField; k__BackingField.playerMovement.RequestSprintStart(); k__BackingField.playerMovementFeedback.PlaySonicBoomSprintEffect(); this._weaponAudio.OnFireHard(); this._weaponAudio.OnFullyChargedLoopStart(); } // Token: 0x060123D2 RID: 74706 RVA: 0x004232A4 File Offset: 0x004214A4 [Token(Token = "0x60123D2")] [Address(RVA = "0x14C23C0", Offset = "0x14C13C0", VA = "0x1814C23C0")] private void EGIDPLNAHAD() { int num = Mathf.CeilToInt(Time.deltaTime); int num2 = base.DFPKOJKFNIF; num2 -= num; int num3 = Mathf.Max(0, num2); int num4 = 0; num2 = num3; base.OOEABMPJJFF(num2, num4); RecRoomAudioClip recRoomAudioClip = this.boostMeterEmptySfx; int num5 = 0; SFXAudioSource sfxaudioSource = AudioManager.Play2DSFX(recRoomAudioClip, num5); HKKOHFHADKK acffmbhhhgm = this.ACFFMBHHHGM; } // Token: 0x060123D3 RID: 74707 RVA: 0x00423308 File Offset: 0x00421508 [Token(Token = "0x60123D3")] [Address(RVA = "0x14C1F50", Offset = "0x14C0F50", VA = "0x1814C1F50")] private void BDGGJLLNJIP() { Player k__BackingField = Player.k__BackingField; float num = Time.deltaTime; num = Mathf.Min(num, num); this.POJOHDGBHCH = num; PlayerMovement playerMovement = k__BackingField.playerMovement; playerMovement.AddWalkMaxSpeedMultiplier(num, "PLAYER_BOOSTER"); if (playerMovement == 0) { HKKOHFHADKK acffmbhhhgm = this.ACFFMBHHHGM; } } // Token: 0x060123D4 RID: 74708 RVA: 0x00423358 File Offset: 0x00421558 [Token(Token = "0x60123D4")] [Address(RVA = "0x14C2800", Offset = "0x14C1800", VA = "0x1814C2800")] private void OINMMKJHJGD(Player IEKDDPPNFPF) { IEKDDPPNFPF.playerMovement.RemoveSprintMaxSpeedWalkSpeedMultiplier("PLAYER_BOOSTER"); this.POJOHDGBHCH = 0f; } // Token: 0x060123D5 RID: 74709 RVA: 0x00423388 File Offset: 0x00421588 [Token(Token = "0x60123D5")] [Address(RVA = "0x14C2E30", Offset = "0x14C1E30", VA = "0x1814C2E30")] public PlayerBooster() { HKKOHFHADKK hkkohfhadkk = new HKKOHFHADKK(); this.ACFFMBHHHGM = hkkohfhadkk; base..ctor(); } // Token: 0x0400BB9C RID: 48028 [Token(Token = "0x400BB9C")] private const string OPDMDPKHOGB = "PLAYER_BOOSTER"; // Token: 0x0400BB9D RID: 48029 [Token(Token = "0x400BB9D")] private const float ENHFBGNMNAD = 1000f; // Token: 0x0400BB9E RID: 48030 [FieldOffset(Offset = "0x210")] [Token(Token = "0x400BB9E")] [SerializeField] [Header("Player Booster")] private float boostedSprintSpeedMultiplier = 2.5f; // Token: 0x0400BB9F RID: 48031 [FieldOffset(Offset = "0x214")] [Token(Token = "0x400BB9F")] [SerializeField] private float fuelConsumedPerSecond = 1000f; // Token: 0x0400BBA0 RID: 48032 [FieldOffset(Offset = "0x218")] [Token(Token = "0x400BBA0")] [SerializeField] private float boostMultiplierAccelerationRate = 0.5f; // Token: 0x0400BBA1 RID: 48033 [FieldOffset(Offset = "0x21C")] [Token(Token = "0x400BBA1")] [SerializeField] private float boostMultiplierDecelerationRate = 0.5f; // Token: 0x0400BBA2 RID: 48034 [FieldOffset(Offset = "0x220")] [Token(Token = "0x400BBA2")] [SerializeField] [Header("Feedback")] private RecRoomAudioClip speedBoostPickupSfx; // Token: 0x0400BBA3 RID: 48035 [FieldOffset(Offset = "0x228")] [Token(Token = "0x400BBA3")] [SerializeField] private RecRoomAudioClip uselessSpeedBoostPickupSfx; // Token: 0x0400BBA4 RID: 48036 [FieldOffset(Offset = "0x230")] [Token(Token = "0x400BBA4")] [SerializeField] private float boostPickupSfxPitchShiftAtMaxBoost = 1f; // Token: 0x0400BBA5 RID: 48037 [FieldOffset(Offset = "0x238")] [Token(Token = "0x400BBA5")] [SerializeField] private RecRoomAudioClip boostMeterFullSfx; // Token: 0x0400BBA6 RID: 48038 [FieldOffset(Offset = "0x240")] [Token(Token = "0x400BBA6")] [SerializeField] private RecRoomAudioClip boostMeterEmptySfx; // Token: 0x0400BBA7 RID: 48039 [FieldOffset(Offset = "0x248")] [Token(Token = "0x400BBA7")] private HKKOHFHADKK ACFFMBHHHGM; // Token: 0x0400BBA8 RID: 48040 [FieldOffset(Offset = "0x250")] [Token(Token = "0x400BBA8")] private float POJOHDGBHCH; // Token: 0x02002ADC RID: 10972 [Token(Token = "0x2002ADC")] private enum DNJKECNGHKG { // Token: 0x0400BBAA RID: 48042 [Token(Token = "0x400BBAA")] IDLE, // Token: 0x0400BBAB RID: 48043 [Token(Token = "0x400BBAB")] BOOSTING } // Token: 0x02002ADD RID: 10973 [Token(Token = "0x2002ADD")] private enum DNAGNBNLFNH { // Token: 0x0400BBAD RID: 48045 [Token(Token = "0x400BBAD")] IDLE, // Token: 0x0400BBAE RID: 48046 [Token(Token = "0x400BBAE")] DECELERATING, // Token: 0x0400BBAF RID: 48047 [Token(Token = "0x400BBAF")] ACCELERATING, // Token: 0x0400BBB0 RID: 48048 [Token(Token = "0x400BBB0")] CRUISING } } }