using System; using Cpp2IlInjected; using RecRoom.Core.Combat; using RecRoom.Core.Locomotion; using UnityEngine; namespace RecRoom.Tools { // Token: 0x020029F2 RID: 10738 [Token(Token = "0x20029F2")] public class PlayerBooster : Weapon { // Token: 0x1700324F RID: 12879 // (get) Token: 0x06011F83 RID: 73603 RVA: 0x004191B4 File Offset: 0x004173B4 [Token(Token = "0x1700324F")] protected override Color EPDNPLLEPOH { [Token(Token = "0x6011F83")] [Address(RVA = "0x92D930", Offset = "0x92C730", VA = "0x18092D930", Slot = "15")] get { /* An exception occurred when decompiling this method (06011F83) 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 1660 */; } } // Token: 0x17003250 RID: 12880 // (get) Token: 0x06011F84 RID: 73604 RVA: 0x004191C8 File Offset: 0x004173C8 [Token(Token = "0x17003250")] protected override int DAKOOELNAGH { [Token(Token = "0x6011F84")] [Address(RVA = "0x43E630", Offset = "0x43D430", VA = "0x18043E630", Slot = "16")] get { return 0; } } // Token: 0x17003251 RID: 12881 // (get) Token: 0x06011F85 RID: 73605 RVA: 0x004191D8 File Offset: 0x004173D8 // (set) Token: 0x06011F86 RID: 73606 RVA: 0x004191F4 File Offset: 0x004173F4 [Token(Token = "0x17003251")] private PlayerBooster.DNJKECNGHKG GENECNFMDHJ { [Token(Token = "0x6011F85")] [Address(RVA = "0x92DE40", Offset = "0x92CC40", VA = "0x18092DE40")] get { HKKOHFHADKK acffmbhhhgm = this.ACFFMBHHHGM; throw new NullReferenceException(); } [Token(Token = "0x6011F86")] [Address(RVA = "0x92D8B0", Offset = "0x92C6B0", VA = "0x18092D8B0")] set { this.ACFFMBHHHGM.PIEOGAPMGIH((ushort)value); } } // Token: 0x06011F87 RID: 73607 RVA: 0x00419218 File Offset: 0x00417418 [Token(Token = "0x6011F87")] [Address(RVA = "0x92CC80", Offset = "0x92BA80", VA = "0x18092CC80", 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: 0x06011F88 RID: 73608 RVA: 0x004193C0 File Offset: 0x004175C0 [Token(Token = "0x6011F88")] [Address(RVA = "0x92DE90", Offset = "0x92CC90", VA = "0x18092DE90", Slot = "17")] protected override void Start() { base.Start(); HKKOHFHADKK acffmbhhhgm = this.ACFFMBHHHGM; int num = 0; acffmbhhhgm.OFFLOPLJBBG((ushort)num); } // Token: 0x06011F89 RID: 73609 RVA: 0x004193EC File Offset: 0x004175EC [Token(Token = "0x6011F89")] [Address(RVA = "0x92DC30", Offset = "0x92CA30", VA = "0x18092DC30", 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: 0x06011F8A RID: 73610 RVA: 0x004194D4 File Offset: 0x004176D4 [Token(Token = "0x6011F8A")] [Address(RVA = "0x92D7B0", Offset = "0x92C5B0", VA = "0x18092D7B0")] 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: 0x06011F8B RID: 73611 RVA: 0x00419518 File Offset: 0x00417718 [Token(Token = "0x6011F8B")] [Address(RVA = "0x92DED0", Offset = "0x92CCD0", VA = "0x18092DED0")] public void StopBoosting() { Player k__BackingField = this._tool.k__BackingField; int num = 0; if (k__BackingField != num) { HKKOHFHADKK acffmbhhhgm = this.ACFFMBHHHGM; } } // Token: 0x06011F8C RID: 73612 RVA: 0x0041954C File Offset: 0x0041774C [Token(Token = "0x6011F8C")] [Address(RVA = "0x92D7B0", Offset = "0x92C5B0", VA = "0x18092D7B0")] 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: 0x06011F8D RID: 73613 RVA: 0x00419590 File Offset: 0x00417790 [Token(Token = "0x6011F8D")] [Address(RVA = "0x92D8A0", Offset = "0x92C6A0", VA = "0x18092D8A0")] private void KBPEKMLDNHC(Tool EGFEJGHDNAI) { this.StopBoosting(); } // Token: 0x06011F8E RID: 73614 RVA: 0x004195A4 File Offset: 0x004177A4 [Token(Token = "0x6011F8E")] [Address(RVA = "0x92CBA0", Offset = "0x92B9A0", VA = "0x18092CBA0")] 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: 0x06011F8F RID: 73615 RVA: 0x004195F0 File Offset: 0x004177F0 [Token(Token = "0x6011F8F")] [Address(RVA = "0x92D080", Offset = "0x92BE80", VA = "0x18092D080")] private void BALOKJMBNIN() { this.ACFFMBHHHGM.OPEMIFENIJM(); } // Token: 0x06011F90 RID: 73616 RVA: 0x00419610 File Offset: 0x00417810 [Token(Token = "0x6011F90")] [Address(RVA = "0x92D9D0", Offset = "0x92C7D0", VA = "0x18092D9D0")] 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: 0x06011F91 RID: 73617 RVA: 0x004196C4 File Offset: 0x004178C4 [Token(Token = "0x6011F91")] [Address(RVA = "0x92DE80", Offset = "0x92CC80", VA = "0x18092DE80")] public void SetDefaultFuelLevel() { base.NOPDMJMLJGC(); } // Token: 0x06011F92 RID: 73618 RVA: 0x004196D8 File Offset: 0x004178D8 [Token(Token = "0x6011F92")] [Address(RVA = "0x92D250", Offset = "0x92C050", VA = "0x18092D250")] private void BIDHJLEDIFP(ushort CPMPEJFMDED, ushort OEAPMLMHLLF) { Player.k__BackingField.playerMovementFeedback.StopPlayingSonicBoomSprintEffect(); this._weaponAudio.OnFullyChargedLoopStop(); } // Token: 0x06011F93 RID: 73619 RVA: 0x00419708 File Offset: 0x00417908 [Token(Token = "0x6011F93")] [Address(RVA = "0x92D320", Offset = "0x92C120", VA = "0x18092D320")] private void CDPMHMAAPCN(ushort KLKLEBGGBNE, ushort OEAPMLMHLLF) { Player.k__BackingField.playerMovement.RemoveSprintMaxSpeedWalkSpeedMultiplier("PLAYER_BOOSTER"); this.POJOHDGBHCH = 0f; } // Token: 0x06011F94 RID: 73620 RVA: 0x0041973C File Offset: 0x0041793C [Token(Token = "0x6011F94")] [Address(RVA = "0x92D630", Offset = "0x92C430", VA = "0x18092D630")] 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: 0x06011F95 RID: 73621 RVA: 0x004197B0 File Offset: 0x004179B0 [Token(Token = "0x6011F95")] [Address(RVA = "0x92D420", Offset = "0x92C220", VA = "0x18092D420")] 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: 0x06011F96 RID: 73622 RVA: 0x004197F8 File Offset: 0x004179F8 [Token(Token = "0x6011F96")] [Address(RVA = "0x92D520", Offset = "0x92C320", VA = "0x18092D520")] 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: 0x06011F97 RID: 73623 RVA: 0x0041985C File Offset: 0x00417A5C [Token(Token = "0x6011F97")] [Address(RVA = "0x92D0B0", Offset = "0x92BEB0", VA = "0x18092D0B0")] 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: 0x06011F98 RID: 73624 RVA: 0x004198AC File Offset: 0x00417AAC [Token(Token = "0x6011F98")] [Address(RVA = "0x92D960", Offset = "0x92C760", VA = "0x18092D960")] private void OINMMKJHJGD(Player IEKDDPPNFPF) { IEKDDPPNFPF.playerMovement.RemoveSprintMaxSpeedWalkSpeedMultiplier("PLAYER_BOOSTER"); this.POJOHDGBHCH = 0f; } // Token: 0x06011F99 RID: 73625 RVA: 0x004198DC File Offset: 0x00417ADC [Token(Token = "0x6011F99")] [Address(RVA = "0x92DF90", Offset = "0x92CD90", VA = "0x18092DF90")] public PlayerBooster() { HKKOHFHADKK hkkohfhadkk = new HKKOHFHADKK(); this.ACFFMBHHHGM = hkkohfhadkk; base..ctor(); } // Token: 0x0400B98C RID: 47500 [Token(Token = "0x400B98C")] private const string OPDMDPKHOGB = "PLAYER_BOOSTER"; // Token: 0x0400B98D RID: 47501 [Token(Token = "0x400B98D")] private const float ENHFBGNMNAD = 1000f; // Token: 0x0400B98E RID: 47502 [FieldOffset(Offset = "0x210")] [Token(Token = "0x400B98E")] [SerializeField] [Header("Player Booster")] private float boostedSprintSpeedMultiplier = 2.5f; // Token: 0x0400B98F RID: 47503 [FieldOffset(Offset = "0x214")] [Token(Token = "0x400B98F")] [SerializeField] private float fuelConsumedPerSecond = 1000f; // Token: 0x0400B990 RID: 47504 [FieldOffset(Offset = "0x218")] [Token(Token = "0x400B990")] [SerializeField] private float boostMultiplierAccelerationRate = 0.5f; // Token: 0x0400B991 RID: 47505 [FieldOffset(Offset = "0x21C")] [Token(Token = "0x400B991")] [SerializeField] private float boostMultiplierDecelerationRate = 0.5f; // Token: 0x0400B992 RID: 47506 [FieldOffset(Offset = "0x220")] [Token(Token = "0x400B992")] [SerializeField] [Header("Feedback")] private RecRoomAudioClip speedBoostPickupSfx; // Token: 0x0400B993 RID: 47507 [FieldOffset(Offset = "0x228")] [Token(Token = "0x400B993")] [SerializeField] private RecRoomAudioClip uselessSpeedBoostPickupSfx; // Token: 0x0400B994 RID: 47508 [FieldOffset(Offset = "0x230")] [Token(Token = "0x400B994")] [SerializeField] private float boostPickupSfxPitchShiftAtMaxBoost = 1f; // Token: 0x0400B995 RID: 47509 [FieldOffset(Offset = "0x238")] [Token(Token = "0x400B995")] [SerializeField] private RecRoomAudioClip boostMeterFullSfx; // Token: 0x0400B996 RID: 47510 [FieldOffset(Offset = "0x240")] [Token(Token = "0x400B996")] [SerializeField] private RecRoomAudioClip boostMeterEmptySfx; // Token: 0x0400B997 RID: 47511 [FieldOffset(Offset = "0x248")] [Token(Token = "0x400B997")] private HKKOHFHADKK ACFFMBHHHGM; // Token: 0x0400B998 RID: 47512 [FieldOffset(Offset = "0x250")] [Token(Token = "0x400B998")] private float POJOHDGBHCH; // Token: 0x020029F3 RID: 10739 [Token(Token = "0x20029F3")] private enum DNJKECNGHKG { // Token: 0x0400B99A RID: 47514 [Token(Token = "0x400B99A")] IDLE, // Token: 0x0400B99B RID: 47515 [Token(Token = "0x400B99B")] BOOSTING } // Token: 0x020029F4 RID: 10740 [Token(Token = "0x20029F4")] private enum DNAGNBNLFNH { // Token: 0x0400B99D RID: 47517 [Token(Token = "0x400B99D")] IDLE, // Token: 0x0400B99E RID: 47518 [Token(Token = "0x400B99E")] DECELERATING, // Token: 0x0400B99F RID: 47519 [Token(Token = "0x400B99F")] ACCELERATING, // Token: 0x0400B9A0 RID: 47520 [Token(Token = "0x400B9A0")] CRUISING } } }