Decompiled source of EnhancedGodMode v1.2.5

EnhancedGodMode.dll

Decompiled 2 months ago
using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using EnhancedGodMode;
using MelonLoader;
using Photon.Pun;
using Repo_Library;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: MelonInfo(typeof(EnhancedGod), "EventRepo", "1.0", "Drew and Kel", null)]
[assembly: MelonGame("semiwork", "REPO")]
[assembly: AssemblyTitle("EnhancedGodMode")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("EnhancedGodMode")]
[assembly: AssemblyCopyright("Copyright ©  2025")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("779630a6-ed84-4579-90aa-e74f5354c1b1")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace EnhancedGodMode;

public class EnhancedGod : MelonMod
{
	private readonly Library Repo_Lib = new Library();

	private bool hasUpgraded = false;

	private bool god = false;

	private bool isNoClip = false;

	private float flySpeed = 10f;

	private bool isTumble = false;

	private bool durability = false;

	private bool wasInGameLastFrame = false;

	private bool lasersWOO = false;

	public override void OnUpdate()
	{
		//IL_02d9: Unknown result type (might be due to invalid IL or missing references)
		//IL_02de: Unknown result type (might be due to invalid IL or missing references)
		//IL_0315: Unknown result type (might be due to invalid IL or missing references)
		//IL_0279: Unknown result type (might be due to invalid IL or missing references)
		//IL_027e: Unknown result type (might be due to invalid IL or missing references)
		//IL_02b0: Unknown result type (might be due to invalid IL or missing references)
		bool flag = Repo_Lib.IsInGame();
		if (flag && !wasInGameLastFrame)
		{
			hasUpgraded = false;
		}
		wasInGameLastFrame = flag;
		if (!flag)
		{
			return;
		}
		PlayerController playerController = Repo_Lib.GetPlayerController();
		if ((Object)(object)playerController == (Object)null)
		{
			return;
		}
		if (Repo_Lib.IsSprinting(playerController))
		{
			Repo_Lib.SetSprintEnergyDrain(playerController, 0f);
			Repo_Lib.SetPlayerCurrentEnergy(playerController, Repo_Lib.GetPlayerMaxEnergy(playerController));
		}
		if (!hasUpgraded)
		{
			hasUpgraded = true;
			for (int i = 0; i < 20; i++)
			{
				Repo_Lib.UpgradePlayerEnergy();
				Repo_Lib.UpgradePlayerHealth();
				Repo_Lib.UpgradePlayerJump();
				Repo_Lib.UpgradePlayerGrabRange();
				Repo_Lib.UpgradePlayerGrabStrength();
			}
			for (int j = 0; j < 10; j++)
			{
				Repo_Lib.UpgradePlayerTumbleLaunch();
				Repo_Lib.UpgradePlayerSprintSpeed();
			}
		}
		if (Input.GetKeyDown((KeyCode)282))
		{
			if (!god)
			{
				god = true;
				Repo_Lib.SetGodMode(true);
				MelonLogger.Msg("god mode enabled");
			}
			else
			{
				god = false;
				Repo_Lib.SetGodMode(false);
				MelonLogger.Msg("god mode disabled");
			}
		}
		if (Input.GetKeyDown((KeyCode)283))
		{
			ToggleNoClip(playerController);
		}
		if (isNoClip)
		{
			FlyMovement(playerController);
		}
		if (Input.GetKeyDown((KeyCode)284))
		{
			Repo_Lib.SpawnItem(AssetManager.instance.enemyValuableBig);
		}
		if (Input.GetKeyDown((KeyCode)285))
		{
			List<PlayerAvatar> allPlayers = Repo_Lib.GetAllPlayers();
			for (int k = 0; k < allPlayers.Count; k++)
			{
				if (((Component)allPlayers[k]).GetComponent<PhotonView>().IsMine)
				{
					PlayerController playerController2 = Repo_Lib.GetPlayerController();
					MelonLogger.Msg("Player is mine");
					Vector3 position;
					if (k != 0)
					{
						position = ((Component)allPlayers[k - 1]).transform.position;
						MelonLogger.Msg("Player moved to: " + ((object)(Vector3)(ref position)).ToString());
						Repo_Lib.TeleportPlayer(playerController2, ((Component)allPlayers[k - 1]).transform.position);
					}
					else
					{
						position = ((Component)allPlayers[allPlayers.Count - 1]).transform.position;
						MelonLogger.Msg("Player moved to: " + ((object)(Vector3)(ref position)).ToString());
						Repo_Lib.TeleportPlayer(playerController2, ((Component)allPlayers[allPlayers.Count - 1]).transform.position);
					}
				}
			}
		}
		if (Input.GetKeyDown((KeyCode)286))
		{
			PlayerAvatar playerAvatar = Repo_Lib.GetPlayerAvatar();
			Repo_Lib.HealPlayerMax(((Component)playerAvatar).gameObject);
		}
		if (Input.GetKeyDown((KeyCode)287))
		{
			if (!durability)
			{
				Repo_Lib.DisableItemsDurability(true);
				MelonLogger.Msg("Item Durability: Disabled");
				durability = true;
			}
			else
			{
				Repo_Lib.DisableItemsDurability(false);
				MelonLogger.Msg("Item Durability: Enabled");
				durability = false;
			}
		}
		if (lasersWOO)
		{
			Repo_Lib.DrawLineToEnemy();
		}
		if (Input.GetKeyDown((KeyCode)288))
		{
			if (!lasersWOO)
			{
				lasersWOO = true;
				return;
			}
			lasersWOO = false;
			Repo_Lib.ClearEnemyLines();
		}
	}

	private void ToggleNoClip(PlayerController playerController)
	{
		//IL_0096: Unknown result type (might be due to invalid IL or missing references)
		isNoClip = !isNoClip;
		if (isNoClip)
		{
			((Behaviour)playerController.PlayerCollision).enabled = false;
			((Behaviour)playerController.CollisionController).enabled = false;
			((Component)playerController.CollisionController).gameObject.SetActive(false);
			((Component)playerController.PlayerCollision).gameObject.SetActive(false);
			((Behaviour)playerController.CollisionGrounded).enabled = false;
			playerController.rb.isKinematic = true;
			playerController.rb.useGravity = false;
			playerController.rb.detectCollisions = false;
			playerController.rb.velocity = Vector3.zero;
			MelonLogger.Msg("NoClip enabled");
		}
		else
		{
			((Behaviour)playerController.PlayerCollision).enabled = true;
			((Behaviour)playerController.CollisionController).enabled = true;
			((Component)playerController.CollisionController).gameObject.SetActive(true);
			((Component)playerController.PlayerCollision).gameObject.SetActive(true);
			((Behaviour)playerController.CollisionGrounded).enabled = true;
			playerController.rb.isKinematic = false;
			playerController.rb.useGravity = true;
			playerController.rb.detectCollisions = true;
			MelonLogger.Msg("NoClip disabled");
		}
	}

	private void FlyMovement(PlayerController playerController)
	{
		//IL_001f: Unknown result type (might be due to invalid IL or missing references)
		//IL_00dd: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e3: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ee: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f4: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f9: Unknown result type (might be due to invalid IL or missing references)
		//IL_0104: Unknown result type (might be due to invalid IL or missing references)
		//IL_010a: Unknown result type (might be due to invalid IL or missing references)
		//IL_010f: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d0: Unknown result type (might be due to invalid IL or missing references)
		//IL_0114: Unknown result type (might be due to invalid IL or missing references)
		//IL_011d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0122: Unknown result type (might be due to invalid IL or missing references)
		//IL_0126: Unknown result type (might be due to invalid IL or missing references)
		//IL_0130: Unknown result type (might be due to invalid IL or missing references)
		//IL_0135: Unknown result type (might be due to invalid IL or missing references)
		Rigidbody component = ((Component)playerController).GetComponent<Rigidbody>();
		if ((Object)(object)component != (Object)null)
		{
			component.useGravity = false;
			component.velocity = Vector3.zero;
		}
		float axis = Input.GetAxis("Horizontal");
		float axis2 = Input.GetAxis("Vertical");
		float num = 0f;
		if (Input.GetKey((KeyCode)32))
		{
			num = 1f;
		}
		if (Input.GetKey((KeyCode)306))
		{
			num = -1f;
		}
		bool flag = axis != 0f || axis2 != 0f || num != 0f;
		float num2 = flySpeed;
		num2 = ((!Input.GetKey((KeyCode)304) || !Input.GetKey((KeyCode)119)) ? flySpeed : (num2 + 15f));
		Vector3 val = (flag ? (((Component)playerController).transform.right * axis + ((Component)playerController).transform.forward * axis2 + ((Component)playerController).transform.up * num) : Vector3.zero);
		Transform transform = ((Component)playerController).transform;
		transform.position += val * num2 * Time.deltaTime;
	}
}