Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of SolarCheatTwo v1.0.10
SolarCheat.dll
Decompiled 2 years agousing System; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using BepInEx; using BepInEx.Logging; using GameNetcodeStuff; using HarmonyLib; using SolarCheat.Patches; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: AssemblyTitle("SolarCheat")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("SolarCheat")] [assembly: AssemblyCopyright("Copyright © 2024")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("c20b17d5-523d-460d-b66a-9ae58cf9a071")] [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 SolarCheat { [BepInPlugin("Poseidon.SolarCheatBase", "SolarCheat", "1.0.0.0")] public class SolarCheatBase : BaseUnityPlugin { public class ActiveMods { public static bool InfHealth; public static bool InfSprint; public static bool InfUndead; public static bool Reach; public static bool Speed; public static bool NightVision; public static bool Weight; public static bool ResetAll; public static bool InfBat; public static bool OneHand; public static bool GethHealth() { return InfHealth; } public static bool GethSprint() { return InfSprint; } public static bool GetUndead() { return InfUndead; } public static bool GetOneHand() { return OneHand; } public static bool GetReach() { return Reach; } public static bool GetWeight() { return Weight; } public static bool GetInfBat() { return InfBat; } public static bool GetSpeed() { return Speed; } public static bool GetNightVision() { return NightVision; } public static bool GetResetAll() { return ResetAll; } public static bool SetHealth(bool On) { InfHealth = On; return true; } public static bool SetOneHand(bool On) { OneHand = On; return true; } public static bool SetSprint(bool On) { InfSprint = On; return true; } public static bool SetReach(bool On) { Reach = On; return true; } public static bool SetSpeed(bool On) { Speed = On; return true; } public static bool SetInfBat(bool On) { InfBat = On; return true; } public static bool SetNightVision(bool On) { NightVision = On; return true; } public static bool SetWeight(bool On) { Weight = On; return true; } public static bool SetResetAll(bool On) { ResetAll = On; return true; } } private const string modGUID = "Poseidon.SolarCheatBase"; private const string modName = "SolarCheat"; private const string modVersion = "1.0.0.0"; private readonly Harmony harmony = new Harmony("Poseidon.SolarCheatBase"); private static SolarCheatBase Instance; internal ManualLogSource mls; private Rect windowRect = new Rect(20f, 20f, 300f, 400f); private Vector2 offset; private int clickCount = 0; private Color guiColor = Color.white; private float colorChangeSpeed = 1f; private bool toggleState = false; private bool toggleState2 = false; private bool toggleState3 = false; private bool toggleState4 = false; private bool toggleState5 = false; private bool toggleState6 = false; private bool toggleState7 = false; private bool toggleState8 = false; private bool toggleState9 = false; private bool toggleState10 = false; private bool toggleState11 = false; private bool toggleState12 = false; private bool toggleState13 = false; private bool toggleState14 = false; private bool toggleState15 = false; private bool toggleState16 = false; private bool toggleState17 = false; private bool toggleState18 = false; private Vector2 scrollPosition = Vector2.zero; private static bool OnGUIEnabled = true; private bool isGUIVisible = false; private static void TeleportPlayer(Vector3 position) { //IL_001c: Unknown result type (might be due to invalid IL or missing references) PlayerControllerB localPlayerController = GameNetworkManager.Instance.localPlayerController; if (!((Object)(object)localPlayerController == (Object)null)) { localPlayerController.TeleportPlayer(position, false, 0f, false, true); } } private void Awake() { mls = Logger.CreateLogSource("Poseidon.SolarCheatBase"); mls.LogInfo((object)"Batteries is now Operational"); harmony.PatchAll(typeof(SolarCheatBase)); harmony.PatchAll(typeof(PlayerControllerBPatch)); } private void OnGUI() { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Expected O, but got Unknown //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00cd: Unknown result type (might be due to invalid IL or missing references) //IL_00d7: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: Unknown result type (might be due to invalid IL or missing references) //IL_041b: Unknown result type (might be due to invalid IL or missing references) //IL_0426: Unknown result type (might be due to invalid IL or missing references) //IL_0431: Unknown result type (might be due to invalid IL or missing references) //IL_03bf: Unknown result type (might be due to invalid IL or missing references) //IL_03de: Unknown result type (might be due to invalid IL or missing references) GUI.color = (GUI.contentColor = (GUI.backgroundColor = Color.Lerp(Color.white, Color.black, Mathf.PingPong(Time.time * colorChangeSpeed, 1f)))); windowRect = GUI.Window(0, windowRect, new WindowFunction(WindowFunction), "<color=red>SolarCheat</color>"); float num = ((Rect)(ref windowRect)).y + 20f; float num2 = ((Rect)(ref windowRect)).height - 10f; GUILayout.BeginArea(new Rect(((Rect)(ref windowRect)).x + 20f, num, ((Rect)(ref windowRect)).width - 40f, num2)); GUILayout.BeginVertical(Array.Empty<GUILayoutOption>()); GUILayout.Label("<b>SolarCheat Menu By SDPowerStroke And Menu GUI By Solar32</b>", Array.Empty<GUILayoutOption>()); scrollPosition = GUILayout.BeginScrollView(scrollPosition, Array.Empty<GUILayoutOption>()); toggleState13 = GUILayout.Toggle(toggleState13, "Activate Me", Array.Empty<GUILayoutOption>()); if (toggleState13) { ActiveMods.SetSprint(On: false); ActiveMods.SetHealth(On: false); ActiveMods.SetReach(On: false); ActiveMods.SetSpeed(On: false); ActiveMods.SetNightVision(On: false); ActiveMods.SetWeight(On: false); ActiveMods.SetInfBat(On: false); ActiveMods.SetResetAll(On: true); } toggleState = GUILayout.Toggle(toggleState, "Kill Self", Array.Empty<GUILayoutOption>()); if (toggleState) { GameNetworkManager.Instance.localPlayerController.health = 0; } toggleState3 = GUILayout.Toggle(toggleState3, "Kill Other Players", Array.Empty<GUILayoutOption>()); if (toggleState3) { EnemyAI[] array = Object.FindObjectsOfType(typeof(EnemyAI)) as EnemyAI[]; foreach (EnemyAI val3 in array) { val3.KillEnemy(true); } } toggleState4 = GUILayout.Toggle(toggleState4, "Godmode", Array.Empty<GUILayoutOption>()); if (toggleState4) { ActiveMods.SetHealth(On: true); } toggleState5 = GUILayout.Toggle(toggleState5, "InfSprint", Array.Empty<GUILayoutOption>()); if (toggleState5) { ActiveMods.SetSprint(On: true); } toggleState7 = GUILayout.Toggle(toggleState7, "NightVision", Array.Empty<GUILayoutOption>()); if (toggleState7) { ActiveMods.SetNightVision(On: true); } toggleState8 = GUILayout.Toggle(toggleState8, "Speed", Array.Empty<GUILayoutOption>()); if (toggleState8) { ActiveMods.SetSpeed(On: true); } toggleState9 = GUILayout.Toggle(toggleState9, "Reach", Array.Empty<GUILayoutOption>()); if (toggleState9) { ActiveMods.SetReach(On: true); } toggleState10 = GUILayout.Toggle(toggleState10, "What is Weight", Array.Empty<GUILayoutOption>()); if (toggleState10) { ActiveMods.SetWeight(On: true); } toggleState11 = GUILayout.Toggle(toggleState11, "InfBattery", Array.Empty<GUILayoutOption>()); if (toggleState11) { ActiveMods.SetInfBat(On: true); } toggleState12 = GUILayout.Toggle(toggleState12, "OneHanded", Array.Empty<GUILayoutOption>()); if (toggleState12) { ActiveMods.SetOneHand(On: true); } toggleState6 = GUILayout.Toggle(toggleState6, "Teleport Ship", Array.Empty<GUILayoutOption>()); if (toggleState6) { StartOfRound.Instance.ForcePlayerIntoShip(); } toggleState2 = GUILayout.Toggle(toggleState2, "Teleport Entrance", Array.Empty<GUILayoutOption>()); if (toggleState2) { RoundManager.FindMainEntrancePosition(false, false); if (true) { ((Component)StartOfRound.Instance.localPlayerController).transform.position = RoundManager.FindMainEntrancePosition(false, false); } } GUILayout.Label("Drag This Slider To Change GUI Colour Speed", Array.Empty<GUILayoutOption>()); colorChangeSpeed = GUILayout.HorizontalSlider(colorChangeSpeed, 0f, 4f, Array.Empty<GUILayoutOption>()); GUI.backgroundColor = Color.white; GUI.contentColor = Color.white; GUI.color = Color.white; GUILayout.EndVertical(); GUILayout.EndArea(); GUILayout.EndScrollView(); } private void DragWindow(int windowID) { GUI.DragWindow(); } private void WindowFunction(int windowID) { //IL_0015: Unknown result type (might be due to invalid IL or missing references) GUI.DragWindow(new Rect(0f, 0f, 10000f, 20f)); } } } namespace SolarCheat.Patches { [HarmonyPatch(typeof(PlayerControllerB))] internal class PlayerControllerBPatch { [HarmonyPatch("Update")] [HarmonyPostfix] private static void pathUpdate(ref float ___sprintMeter, ref int ___health, ref bool ___isPlayerDead, ref float ___carryWeight, ref float ___movementSpeed, ref Light ___nightVision, ref float ___grabDistance) { //IL_0144: Unknown result type (might be due to invalid IL or missing references) if (SolarCheatBase.ActiveMods.GetResetAll()) { ___grabDistance = 5f; ((Behaviour)StartOfRound.Instance.localPlayerController.nightVision).enabled = false; ___movementSpeed = 4f; StartOfRound.Instance.allowLocalPlayerDeath = true; GameNetworkManager.Instance.localPlayerController.jumpForce = 15f; if (GameNetworkManager.Instance.localPlayerController.health >= 100) { GameNetworkManager.Instance.localPlayerController.health = 100; } } if (SolarCheatBase.ActiveMods.GethHealth()) { StartOfRound.Instance.allowLocalPlayerDeath = false; } if (SolarCheatBase.ActiveMods.GetUndead()) { ___isPlayerDead = false; } if (SolarCheatBase.ActiveMods.GethSprint()) { ___sprintMeter = 1f; } if (SolarCheatBase.ActiveMods.GetSpeed()) { ___movementSpeed = 8f; } if (SolarCheatBase.ActiveMods.GetWeight()) { ___carryWeight = 1f; } if (SolarCheatBase.ActiveMods.GetNightVision()) { StartOfRound.Instance.localPlayerController.nightVision.range = 1000f; StartOfRound.Instance.localPlayerController.nightVision.intensity = 1000f; ((Behaviour)StartOfRound.Instance.localPlayerController.nightVision).enabled = true; StartOfRound.Instance.localPlayerController.nightVision.color = Color.white; } if (SolarCheatBase.ActiveMods.GetReach()) { ___grabDistance = 1000f; } if (SolarCheatBase.ActiveMods.GetInfBat() && (GameNetworkManager.Instance.localPlayerController.currentlyHeldObjectServer.itemProperties.requiresBattery & ((Object)(object)GameNetworkManager.Instance.localPlayerController.currentlyHeldObjectServer != (Object)null))) { GameNetworkManager.Instance.localPlayerController.currentlyHeldObjectServer.insertedBattery.charge = 1f; } if (SolarCheatBase.ActiveMods.GetOneHand() && (Object)(object)GameNetworkManager.Instance.localPlayerController.currentlyHeldObjectServer != (Object)null) { GameNetworkManager.Instance.localPlayerController.currentlyHeldObjectServer.itemProperties.twoHanded = false; } } } }