using System;
using System.Diagnostics;
using System.Reflection;
using System.Resources;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using ExtinguisherBoost;
using Il2Cpp;
using Il2CppKeepsake;
using MelonLoader;
using Microsoft.CodeAnalysis;
using UnityEngine;
using UnityEngine.InputSystem;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: MelonInfo(typeof(Core), "ExtinguisherBoost", "0.0.1", "GraciousCub", null)]
[assembly: MelonGame("Keepsake Games", "Jump Space")]
[assembly: TargetFramework(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")]
[assembly: AssemblyCompany("ExtinguisherBoost")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("ExtinguisherBoost")]
[assembly: AssemblyTitle("ExtinguisherBoost")]
[assembly: NeutralResourcesLanguage("en-US")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
[module: RefSafetyRules(11)]
namespace Microsoft.CodeAnalysis
{
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
internal sealed class EmbeddedAttribute : Attribute
{
}
}
namespace System.Runtime.CompilerServices
{
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
[AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)]
internal sealed class RefSafetyRulesAttribute : Attribute
{
public readonly int Version;
public RefSafetyRulesAttribute(int P_0)
{
Version = P_0;
}
}
}
namespace ExtinguisherBoost
{
public class Core : MelonMod
{
private PlayerController localPlayerController;
private PlayerPickupableItemHandler pickupHandler;
private Player_MovementHandler movementHandler;
private GravityController gravityController;
private readonly Vector3 boostForce = new Vector3(0f, 0f, -30f);
public override void OnUpdate()
{
//IL_0140: Unknown result type (might be due to invalid IL or missing references)
//IL_0146: Unknown result type (might be due to invalid IL or missing references)
//IL_0150: Unknown result type (might be due to invalid IL or missing references)
//IL_0155: Unknown result type (might be due to invalid IL or missing references)
if ((Object)(object)localPlayerController == (Object)null || !localPlayerController.IsLocalPlayer)
{
foreach (PlayerController item in Object.FindObjectsOfType<PlayerController>())
{
if (item.IsLocalPlayer)
{
localPlayerController = item;
pickupHandler = ((Component)item).GetComponent<PlayerPickupableItemHandler>();
movementHandler = ((Component)item).GetComponent<Player_MovementHandler>();
gravityController = ((Component)item).GetComponent<GravityController>();
break;
}
}
}
if (!((Object)(object)localPlayerController == (Object)null) && !((Object)(object)movementHandler == (Object)null) && !((Object)(object)pickupHandler == (Object)null) && !((Object)(object)gravityController == (Object)null) && gravityController.IsInZeroG)
{
bool flag = (Object)(object)pickupHandler.ItemHeld != (Object)null && ((Object)pickupHandler.ItemHeld).name == "Pickupable_FireExtinguisher";
if (Mouse.current != null && Mouse.current.leftButton.isPressed && flag)
{
Player_MovementHandler obj = movementHandler;
obj.LocalMovementVelocity += boostForce * Time.deltaTime;
}
}
}
}
}