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 MoreMonsters v1.2.1
MoreMonsters.dll
Decompiled 2 years agousing System; using System.Collections.Generic; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using BepInEx; using BepInEx.Configuration; using BepInEx.Logging; using GameNetcodeStuff; using HarmonyLib; using MoreMonsters.GuiMenuComponent; using MoreMonsters.PlayerBControllerPatches; using Unity.Netcode; 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("MoreMonsters")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("MoreMonsters")] [assembly: AssemblyCopyright("Copyright © 2023")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("aa6861f1-1ec5-446c-b28c-3f2b07cd05f8")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: AssemblyVersion("1.0.0.0")] namespace MoreMonsters { [BepInPlugin("Quokka.MoreMonsters", "MoreMonsters", "1.2.0")] public class MoreMonstersBase : BaseUnityPlugin { private const string modGUID = "Quokka.MoreMonsters"; private const string modName = "MoreMonsters"; private const string modVersion = "1.2.0"; private readonly Harmony harmony = new Harmony("Quokka.MoreMonsters"); internal static MoreMonstersBase Instance; private static ConfigEntry<int> nMobsLabel; private static ConfigEntry<float> timeBetweenMobSpawns; private static ConfigEntry<bool> enableSpawnMobsAsScrapIsFound; private static ConfigEntry<int> maxCentipedesLabel; private static ConfigEntry<int> maxSandSpiderLabel; private static ConfigEntry<int> maxHoarderBugLabel; private static ConfigEntry<int> maxFlowermanLabel; private static ConfigEntry<int> maxCrawlerLabel; private static ConfigEntry<int> maxBlobLabel; private static ConfigEntry<int> maxSpringManLabel; private static ConfigEntry<int> maxPufferLabel; private static ConfigEntry<int> maxNutcrackerLabel; private static ConfigEntry<int> maxDressGirlLabel; private static ConfigEntry<int> maxJesterLabel; private static ConfigEntry<int> maxMaskedPlayerEnemyLabel; private static ConfigEntry<int> maxLassoManLabel; private static bool hasGuiSynced = false; internal static bool isHost; public static ManualLogSource mls; private static RoundManager currentRound; public static bool firstTier = false; public static bool secondTier = false; public static bool thirdTier = false; public static float timeToSpawn = 120f; public static int ventIndex = 0; internal static GuiMenu myGUI; public static Dictionary<string, int> maxEnemyList = new Dictionary<string, int>(); public static Dictionary<string, int> currentEnemyList = new Dictionary<string, int>(); public static int[] pureEnemyList = new int[13]; public static int[] pureMaxEnemyList = new int[13]; public static int spawnedMonsterTotal = 0; private void Awake() { //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Expected O, but got Unknown Instance = this; mls = Logger.CreateLogSource("Quokka.MoreMonsters"); harmony.PatchAll(typeof(MoreMonstersBase)); harmony.PatchAll(typeof(PlayerControllerBPatch)); GameObject val = new GameObject("GuiMenu"); Object.DontDestroyOnLoad((Object)(object)val); ((Object)val).hideFlags = (HideFlags)61; val.AddComponent<GuiMenu>(); myGUI = (GuiMenu)(object)val.GetComponent("GuiMenu"); SetBindings(); setGuiVars(); maxEnemyList.Add("Centipede", 0); maxEnemyList.Add("SandSpider", 0); maxEnemyList.Add("HoarderBug", 0); maxEnemyList.Add("Flowerman", 0); maxEnemyList.Add("Crawler", 0); maxEnemyList.Add("Blob", 0); maxEnemyList.Add("DressGirl", 0); maxEnemyList.Add("Puffer", 0); maxEnemyList.Add("SpringMan", 0); maxEnemyList.Add("Nutcracker", 0); maxEnemyList.Add("Jester", 0); maxEnemyList.Add("MaskedPlayerEnemy", 0); maxEnemyList.Add("LassoMan", 0); currentEnemyList.Add("Centipede", 0); currentEnemyList.Add("SandSpider", 0); currentEnemyList.Add("HoarderBug", 0); currentEnemyList.Add("Flowerman", 0); currentEnemyList.Add("Crawler", 0); currentEnemyList.Add("Blob", 0); currentEnemyList.Add("DressGirl", 0); currentEnemyList.Add("Puffer", 0); currentEnemyList.Add("SpringMan", 0); currentEnemyList.Add("Nutcracker", 0); currentEnemyList.Add("Jester", 0); currentEnemyList.Add("MaskedPlayerEnemy", 0); currentEnemyList.Add("LassoMan", 0); } private void setGuiVars() { myGUI.guiNMobs = nMobsLabel.Value; myGUI.guiTimeBetweenMobSpawns = timeBetweenMobSpawns.Value; myGUI.guiEnableSpawnMobsAsScrapIsFound = enableSpawnMobsAsScrapIsFound.Value; hasGuiSynced = true; myGUI.guiMaxCentipedes = maxCentipedesLabel.Value; myGUI.guiMaxSandSpiders = maxSandSpiderLabel.Value; myGUI.guiMaxHoarderBugs = maxHoarderBugLabel.Value; myGUI.guiMaxFlowerMen = maxFlowermanLabel.Value; myGUI.guiMaxCrawlers = maxCrawlerLabel.Value; myGUI.guiMaxBlobs = maxBlobLabel.Value; myGUI.guiMaxSpringMen = maxSpringManLabel.Value; myGUI.guiMaxPuffers = maxPufferLabel.Value; myGUI.guiMaxNutcrackers = maxNutcrackerLabel.Value; myGUI.guiMaxDressGirls = maxDressGirlLabel.Value; myGUI.guiMaxJesters = maxJesterLabel.Value; myGUI.guiMaxMaskedPlayerEnemies = maxMaskedPlayerEnemyLabel.Value; myGUI.guiMaxLassoMen = maxLassoManLabel.Value; } internal void updateCFGVarsViaGui() { if (!hasGuiSynced) { setGuiVars(); } nMobsLabel.Value = myGUI.guiNMobs; timeBetweenMobSpawns.Value = myGUI.guiTimeBetweenMobSpawns; enableSpawnMobsAsScrapIsFound.Value = myGUI.guiEnableSpawnMobsAsScrapIsFound; maxCentipedesLabel.Value = myGUI.guiMaxCentipedes; maxSandSpiderLabel.Value = myGUI.guiMaxSandSpiders; maxHoarderBugLabel.Value = myGUI.guiMaxHoarderBugs; maxFlowermanLabel.Value = myGUI.guiMaxFlowerMen; maxCrawlerLabel.Value = myGUI.guiMaxCrawlers; maxBlobLabel.Value = myGUI.guiMaxBlobs; maxSpringManLabel.Value = myGUI.guiMaxSpringMen; maxPufferLabel.Value = myGUI.guiMaxPuffers; maxNutcrackerLabel.Value = myGUI.guiMaxNutcrackers; maxDressGirlLabel.Value = myGUI.guiMaxDressGirls; maxJesterLabel.Value = myGUI.guiMaxJesters; maxMaskedPlayerEnemyLabel.Value = myGUI.guiMaxMaskedPlayerEnemies; maxLassoManLabel.Value = myGUI.guiMaxLassoMen; } private void Update() { } private void SetBindings() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Expected O, but got Unknown //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_006b: Expected O, but got Unknown //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: Expected O, but got Unknown //IL_00e5: Unknown result type (might be due to invalid IL or missing references) //IL_00ef: Expected O, but got Unknown //IL_0117: Unknown result type (might be due to invalid IL or missing references) //IL_0121: Expected O, but got Unknown //IL_0149: Unknown result type (might be due to invalid IL or missing references) //IL_0153: Expected O, but got Unknown //IL_017b: Unknown result type (might be due to invalid IL or missing references) //IL_0185: Expected O, but got Unknown //IL_01ad: Unknown result type (might be due to invalid IL or missing references) //IL_01b7: Expected O, but got Unknown //IL_01df: Unknown result type (might be due to invalid IL or missing references) //IL_01e9: Expected O, but got Unknown //IL_0211: Unknown result type (might be due to invalid IL or missing references) //IL_021b: Expected O, but got Unknown //IL_0243: Unknown result type (might be due to invalid IL or missing references) //IL_024d: Expected O, but got Unknown //IL_0275: Unknown result type (might be due to invalid IL or missing references) //IL_027f: Expected O, but got Unknown //IL_02a7: Unknown result type (might be due to invalid IL or missing references) //IL_02b1: Expected O, but got Unknown //IL_02d9: Unknown result type (might be due to invalid IL or missing references) //IL_02e3: Expected O, but got Unknown //IL_030b: Unknown result type (might be due to invalid IL or missing references) //IL_0315: Expected O, but got Unknown nMobsLabel = ((BaseUnityPlugin)this).Config.Bind<int>("Mob Settings", "TotalNumber of Mobs", 8, new ConfigDescription("Base number of mobs to spawn in total", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 100), Array.Empty<object>())); timeBetweenMobSpawns = ((BaseUnityPlugin)this).Config.Bind<float>("Mob Settings", "Time between each Mob Spawn", 100f, new ConfigDescription("Time between each mob spawn where 0.1 = 1.5 hours", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 800f), Array.Empty<object>())); enableSpawnMobsAsScrapIsFound = ((BaseUnityPlugin)this).Config.Bind<bool>("Mob Settings", "Toggle whether more mobs spawn as scrap is found.", false, "If true, an additional mob will spawn at 25%, 50%, and 75% of scrap found in level"); maxCentipedesLabel = ((BaseUnityPlugin)this).Config.Bind<int>("Mob Settings", "Max Centipedes", 0, new ConfigDescription("Max number of centipedes allowed", (AcceptableValueBase)(object)new AcceptableValueRange<int>(0, 100), Array.Empty<object>())); maxSandSpiderLabel = ((BaseUnityPlugin)this).Config.Bind<int>("Mob Settings", "Max Sandspiders", 0, new ConfigDescription("Max number of SandSpiders allowed", (AcceptableValueBase)(object)new AcceptableValueRange<int>(0, 100), Array.Empty<object>())); maxHoarderBugLabel = ((BaseUnityPlugin)this).Config.Bind<int>("Mob Settings", "Max Hoarderbugs", 0, new ConfigDescription("Max number of Hoarderbugs allowed", (AcceptableValueBase)(object)new AcceptableValueRange<int>(0, 100), Array.Empty<object>())); maxFlowermanLabel = ((BaseUnityPlugin)this).Config.Bind<int>("Mob Settings", "Max Flowermen", 0, new ConfigDescription("Max number of Flowermen allowed", (AcceptableValueBase)(object)new AcceptableValueRange<int>(0, 100), Array.Empty<object>())); maxCrawlerLabel = ((BaseUnityPlugin)this).Config.Bind<int>("Mob Settings", "Max Crawlers", 0, new ConfigDescription("Max number of Crawlers allowed", (AcceptableValueBase)(object)new AcceptableValueRange<int>(0, 100), Array.Empty<object>())); maxBlobLabel = ((BaseUnityPlugin)this).Config.Bind<int>("Mob Settings", "Max Blobs", 0, new ConfigDescription("Max number of Blobs allowed", (AcceptableValueBase)(object)new AcceptableValueRange<int>(0, 100), Array.Empty<object>())); maxSpringManLabel = ((BaseUnityPlugin)this).Config.Bind<int>("Mob Settings", "Max SpringMen", 0, new ConfigDescription("Max number of SpringMen allowed", (AcceptableValueBase)(object)new AcceptableValueRange<int>(0, 100), Array.Empty<object>())); maxNutcrackerLabel = ((BaseUnityPlugin)this).Config.Bind<int>("Mob Settings", "Max Nutcrackers", 0, new ConfigDescription("Max number of Nutcrackers allowed", (AcceptableValueBase)(object)new AcceptableValueRange<int>(0, 100), Array.Empty<object>())); maxPufferLabel = ((BaseUnityPlugin)this).Config.Bind<int>("Mob Settings", "Max Puffers", 0, new ConfigDescription("Max number of Puffers allowed", (AcceptableValueBase)(object)new AcceptableValueRange<int>(0, 100), Array.Empty<object>())); maxDressGirlLabel = ((BaseUnityPlugin)this).Config.Bind<int>("Mob Settings", "Max DressGirls", 0, new ConfigDescription("Max number of DressGirls allowed", (AcceptableValueBase)(object)new AcceptableValueRange<int>(0, 100), Array.Empty<object>())); maxJesterLabel = ((BaseUnityPlugin)this).Config.Bind<int>("Mob Settings", "Max Jesters", 0, new ConfigDescription("Max number of Jesters allowed", (AcceptableValueBase)(object)new AcceptableValueRange<int>(0, 100), Array.Empty<object>())); maxMaskedPlayerEnemyLabel = ((BaseUnityPlugin)this).Config.Bind<int>("Mob Settings", "Max MaskedPlayerEnemies", 0, new ConfigDescription("Max number of MaskedPlayerEnemies allowed", (AcceptableValueBase)(object)new AcceptableValueRange<int>(0, 100), Array.Empty<object>())); maxLassoManLabel = ((BaseUnityPlugin)this).Config.Bind<int>("Mob Settings", "Max LassoMen", 0, new ConfigDescription("Max number of LassoMen allowed", (AcceptableValueBase)(object)new AcceptableValueRange<int>(0, 100), Array.Empty<object>())); } [HarmonyPatch(typeof(RoundManager), "LoadNewLevel")] [HarmonyPostfix] private static void ModifyLevel(ref SelectableLevel newLevel) { currentRound = RoundManager.Instance; } [HarmonyPatch(typeof(StartOfRound), "ChangeLevel")] [HarmonyPostfix] private static void ChangeLevel(ref SelectableLevel ___currentLevel, ref SelectableLevel[] ___levels) { for (int i = 0; i < ___levels.Length; i++) { mls.LogInfo((object)___levels[i].PlanetName); } ___currentLevel.Enemies = ___levels[8].Enemies; spawnedMonsterTotal = 0; } [HarmonyPatch(typeof(StartOfRound), "StartGame")] [HarmonyPostfix] private static void modifiedStart() { spawnedMonsterTotal = 0; Instance.updateCFGVarsViaGui(); } [HarmonyPatch(typeof(RoundManager), "Start")] [HarmonyPostfix] private static void setIsHost() { mls.LogInfo((object)("Host Status: " + ((NetworkBehaviour)RoundManager.Instance).NetworkManager.IsHost)); isHost = ((NetworkBehaviour)RoundManager.Instance).NetworkManager.IsHost; myGUI.guiIsHost = isHost; Instance.updateCFGVarsViaGui(); } [HarmonyPatch(typeof(RoundManager), "SpawnInsideEnemiesFromVentsIfReady")] [HarmonyPostfix] private static void SpawnInsideEnemiesFromVentsIfReadyPatch() { //IL_0211: Unknown result type (might be due to invalid IL or missing references) //IL_0216: Unknown result type (might be due to invalid IL or missing references) //IL_022d: Unknown result type (might be due to invalid IL or missing references) //IL_0334: Unknown result type (might be due to invalid IL or missing references) //IL_048a: Unknown result type (might be due to invalid IL or missing references) //IL_052b: Unknown result type (might be due to invalid IL or missing references) //IL_05cc: Unknown result type (might be due to invalid IL or missing references) if (!isHost) { return; } currentRound = RoundManager.Instance; maxEnemyList["Centipede"] = maxCentipedesLabel.Value; maxEnemyList["SandSpider"] = maxSandSpiderLabel.Value; maxEnemyList["HoarderBug"] = maxHoarderBugLabel.Value; maxEnemyList["Flowerman"] = maxFlowermanLabel.Value; maxEnemyList["Crawler"] = maxCrawlerLabel.Value; maxEnemyList["Blob"] = maxBlobLabel.Value; maxEnemyList["SpringMan"] = maxSpringManLabel.Value; maxEnemyList["Puffer"] = maxPufferLabel.Value; maxEnemyList["Nutcracker"] = maxNutcrackerLabel.Value; maxEnemyList["DressGirl"] = maxDressGirlLabel.Value; maxEnemyList["Jester"] = maxJesterLabel.Value; maxEnemyList["MaskedPlayerEnemy"] = maxMaskedPlayerEnemyLabel.Value; maxEnemyList["LassoMan"] = maxLassoManLabel.Value; int num = 0; foreach (KeyValuePair<string, int> maxEnemy in maxEnemyList) { num += maxEnemy.Value; } int count = currentRound.currentLevel.Enemies.Count; if (spawnedMonsterTotal >= num || !(currentRound.timeScript.currentDayTime > timeToSpawn) || currentRound.allEnemyVents.Length == 0) { return; } Vector3 position = currentRound.allEnemyVents[ventIndex].floorNode.position; float y = currentRound.allEnemyVents[ventIndex].floorNode.eulerAngles.y; if (count <= 0) { return; } int num2 = Random.Range(0, 13); string name = ((Object)currentRound.currentLevel.Enemies[num2].enemyType).name; while (currentRound.currentLevel.Enemies[num2].enemyType.numberSpawned >= maxEnemyList[name]) { num2 = Random.Range(0, 13); name = ((Object)currentRound.currentLevel.Enemies[num2].enemyType).name; } mls.LogInfo((object)("Spawning " + num2 + " name: " + name + " currentEnemyList: " + currentEnemyList[name])); currentRound.SpawnEnemyOnServer(position, y, num2); EnemyType enemyType = currentRound.currentLevel.Enemies[num2].enemyType; enemyType.numberSpawned++; RoundManager obj = currentRound; obj.currentEnemySpawnIndex++; spawnedMonsterTotal++; ventIndex++; ventIndex %= currentRound.allEnemyVents.Length; timeToSpawn = currentRound.timeScript.currentDayTime + timeBetweenMobSpawns.Value; mls.LogInfo((object)("currentEnemySpawnIndex: " + currentRound.currentEnemySpawnIndex)); mls.LogInfo((object)("spawnedMonsterTotal: " + spawnedMonsterTotal)); if (enableSpawnMobsAsScrapIsFound.Value) { if (currentRound.valueOfFoundScrapItems > (int)(0.25 * (double)currentRound.totalScrapValueInLevel) && !firstTier) { num2 = (ventIndex * (int)currentRound.timeScript.currentDayTime + (19 * (ventIndex + (int)currentRound.totalScrapValueInLevel) + 21)) % count; currentRound.SpawnEnemyOnServer(position, y, num2); ventIndex++; ventIndex %= currentRound.allEnemyVents.Length; firstTier = true; } if (currentRound.valueOfFoundScrapItems > (int)(0.5 * (double)currentRound.totalScrapValueInLevel) && !secondTier) { num2 = (ventIndex * (int)currentRound.timeScript.currentDayTime + (19 * (ventIndex + (int)currentRound.totalScrapValueInLevel) + 21)) % count; currentRound.SpawnEnemyOnServer(position, y, num2); ventIndex++; ventIndex %= currentRound.allEnemyVents.Length; secondTier = true; } if (currentRound.valueOfFoundScrapItems > (int)(0.75 * (double)currentRound.totalScrapValueInLevel) && !thirdTier) { num2 = (ventIndex * (int)currentRound.timeScript.currentDayTime + (19 * (ventIndex + (int)currentRound.totalScrapValueInLevel) + 21)) % count; currentRound.SpawnEnemyOnServer(position, y, num2); ventIndex++; ventIndex %= currentRound.allEnemyVents.Length; thirdTier = true; } } } } } namespace MoreMonsters.PlayerBControllerPatches { [HarmonyPatch(typeof(PlayerControllerB))] public class PlayerControllerBPatch { [HarmonyPatch("Update")] [HarmonyPrefix] private static void patchControllerUpdate() { MoreMonstersBase.myGUI.guiIsHost = MoreMonstersBase.isHost; MoreMonstersBase.Instance.updateCFGVarsViaGui(); } } } namespace MoreMonsters.GuiMenuComponent { internal class GuiMenu : MonoBehaviour { private KeyboardShortcut toggleMenu; private bool b_menu; internal bool wasKeyDown; private int tabIndex = 0; private string[] tabNames = new string[1] { "Mob Settings" }; private int MENUWIDTH = 600; private int MENUHEIGHT = 800; private int MENUX; private int MENUY; private int CENTERX; private int ITEMWIDTH = 300; public int guiNMobs; public float guiTimeBetweenMobSpawns; public bool guiEnableSpawnMobsAsScrapIsFound; public int guiMaxCentipedes; public int guiMaxSandSpiders; public int guiMaxHoarderBugs; public int guiMaxFlowerMen; public int guiMaxCrawlers; public int guiMaxBlobs; public int guiMaxSpringMen; public int guiMaxPuffers; public int guiMaxNutcrackers; public int guiMaxDressGirls; public int guiMaxJesters; public int guiMaxMaskedPlayerEnemies; public int guiMaxLassoMen; private GUIStyle menuStyle; private GUIStyle buttonStyle; private GUIStyle labelStyle; private GUIStyle toggleStyle; private GUIStyle hScrollStyle; private GUIStyle textStyle; public bool guiIsHost; private void Awake() { //IL_001c: 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) MoreMonstersBase.mls.LogInfo((object)" [+] GUI Loaded"); toggleMenu = new KeyboardShortcut((KeyCode)277, Array.Empty<KeyCode>()); b_menu = false; MENUX = Screen.width / 2; MENUY = Screen.height / 2; CENTERX = MENUX + (MENUWIDTH / 2 - ITEMWIDTH / 2); } private Texture2D MakeTex(int width, int height, Color col) { //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Expected O, but got Unknown Color[] array = (Color[])(object)new Color[width * height]; for (int i = 0; i < array.Length; i++) { array[i] = col; } Texture2D val = new Texture2D(width, height); val.SetPixels(array); val.Apply(); return val; } private void initMenu() { //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Expected O, but got Unknown //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Expected O, but got Unknown //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Expected O, but got Unknown //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Expected O, but got Unknown //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Expected O, but got Unknown //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Expected O, but got Unknown //IL_00ac: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Unknown result type (might be due to invalid IL or missing references) //IL_00ef: 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_0154: Unknown result type (might be due to invalid IL or missing references) //IL_0181: Unknown result type (might be due to invalid IL or missing references) //IL_01cf: Unknown result type (might be due to invalid IL or missing references) //IL_0200: Unknown result type (might be due to invalid IL or missing references) //IL_022d: Unknown result type (might be due to invalid IL or missing references) if (menuStyle == null) { menuStyle = new GUIStyle(GUI.skin.box); buttonStyle = new GUIStyle(GUI.skin.button); labelStyle = new GUIStyle(GUI.skin.label); toggleStyle = new GUIStyle(GUI.skin.toggle); hScrollStyle = new GUIStyle(GUI.skin.horizontalSlider); textStyle = new GUIStyle(); textStyle.fontSize = 18; textStyle.alignment = (TextAnchor)4; textStyle.normal.textColor = Color.white; menuStyle.normal.textColor = Color.white; menuStyle.normal.background = MakeTex(2, 2, new Color(0.01f, 0.01f, 0.1f, 0.9f)); menuStyle.fontSize = 18; ((Object)menuStyle.normal.background).hideFlags = (HideFlags)61; buttonStyle.normal.textColor = Color.white; buttonStyle.fontSize = 18; labelStyle.normal.textColor = Color.white; labelStyle.normal.background = MakeTex(2, 2, new Color(0.01f, 0.01f, 0.1f, 0.9f)); labelStyle.fontSize = 18; labelStyle.alignment = (TextAnchor)4; ((Object)labelStyle.normal.background).hideFlags = (HideFlags)61; toggleStyle.normal.textColor = Color.white; toggleStyle.fontSize = 18; toggleStyle.wordWrap = true; hScrollStyle.normal.textColor = Color.white; hScrollStyle.normal.background = MakeTex(2, 2, new Color(0f, 0f, 0.2f, 0.9f)); ((Object)hScrollStyle.normal.background).hideFlags = (HideFlags)61; } } public void OnDestroy() { MoreMonstersBase.mls.LogInfo((object)"[-] The GUILoader was destroyed."); } public void Update() { if (((KeyboardShortcut)(ref toggleMenu)).IsDown() && !wasKeyDown) { wasKeyDown = true; } if (((KeyboardShortcut)(ref toggleMenu)).IsUp() && wasKeyDown) { wasKeyDown = false; b_menu = !b_menu; if (b_menu) { Cursor.visible = true; Cursor.lockState = (CursorLockMode)2; } else { Cursor.visible = false; } } } public void OnGUI() { //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00da: 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_015b: Unknown result type (might be due to invalid IL or missing references) //IL_0194: Unknown result type (might be due to invalid IL or missing references) //IL_01d7: Unknown result type (might be due to invalid IL or missing references) //IL_0215: Unknown result type (might be due to invalid IL or missing references) //IL_024e: Unknown result type (might be due to invalid IL or missing references) //IL_0294: Unknown result type (might be due to invalid IL or missing references) //IL_02d5: Unknown result type (might be due to invalid IL or missing references) //IL_0311: Unknown result type (might be due to invalid IL or missing references) //IL_0357: Unknown result type (might be due to invalid IL or missing references) //IL_0398: Unknown result type (might be due to invalid IL or missing references) //IL_03d4: Unknown result type (might be due to invalid IL or missing references) //IL_041a: Unknown result type (might be due to invalid IL or missing references) //IL_045b: Unknown result type (might be due to invalid IL or missing references) //IL_0497: Unknown result type (might be due to invalid IL or missing references) //IL_04dd: Unknown result type (might be due to invalid IL or missing references) //IL_051e: Unknown result type (might be due to invalid IL or missing references) //IL_055a: Unknown result type (might be due to invalid IL or missing references) //IL_05a0: Unknown result type (might be due to invalid IL or missing references) //IL_05e1: Unknown result type (might be due to invalid IL or missing references) //IL_061d: Unknown result type (might be due to invalid IL or missing references) //IL_0663: Unknown result type (might be due to invalid IL or missing references) //IL_06a4: Unknown result type (might be due to invalid IL or missing references) //IL_06e0: Unknown result type (might be due to invalid IL or missing references) //IL_0726: Unknown result type (might be due to invalid IL or missing references) //IL_0767: Unknown result type (might be due to invalid IL or missing references) //IL_07a3: Unknown result type (might be due to invalid IL or missing references) //IL_07e9: Unknown result type (might be due to invalid IL or missing references) //IL_082a: Unknown result type (might be due to invalid IL or missing references) //IL_0866: Unknown result type (might be due to invalid IL or missing references) //IL_08ac: Unknown result type (might be due to invalid IL or missing references) //IL_08ed: Unknown result type (might be due to invalid IL or missing references) //IL_0929: Unknown result type (might be due to invalid IL or missing references) //IL_096f: Unknown result type (might be due to invalid IL or missing references) //IL_09b0: Unknown result type (might be due to invalid IL or missing references) //IL_09ec: Unknown result type (might be due to invalid IL or missing references) //IL_0a32: Unknown result type (might be due to invalid IL or missing references) //IL_0a73: Unknown result type (might be due to invalid IL or missing references) //IL_0aaf: Unknown result type (might be due to invalid IL or missing references) //IL_0b00: Unknown result type (might be due to invalid IL or missing references) //IL_0b43: Unknown result type (might be due to invalid IL or missing references) if (!guiIsHost) { return; } if (menuStyle == null) { initMenu(); } if (b_menu) { tabIndex = GUI.Toolbar(new Rect((float)MENUX, (float)(MENUY - 30), (float)MENUWIDTH, 30f), tabIndex, tabNames, buttonStyle); if (tabIndex == 0) { GUI.Label(new Rect((float)CENTERX, (float)MENUY, (float)ITEMWIDTH, 30f), "Max Number of Centipedes: ", labelStyle); GUI.Label(new Rect((float)(CENTERX + 165), (float)MENUY, (float)ITEMWIDTH, 30f), guiMaxCentipedes.ToString() ?? "", textStyle); guiMaxCentipedes = (int)GUI.HorizontalSlider(new Rect((float)CENTERX, (float)(MENUY + 30), (float)ITEMWIDTH, 30f), (float)guiMaxCentipedes, 0f, 50f); GUI.Label(new Rect((float)CENTERX, (float)(MENUY + 60), (float)ITEMWIDTH, 30f), "Max Number of SandSpiders: ", labelStyle); GUI.Label(new Rect((float)(CENTERX + 165), (float)(MENUY + 60), (float)ITEMWIDTH, 30f), guiMaxSandSpiders.ToString() ?? "", textStyle); guiMaxSandSpiders = (int)GUI.HorizontalSlider(new Rect((float)CENTERX, (float)(MENUY + 90), (float)ITEMWIDTH, 30f), (float)guiMaxSandSpiders, 0f, 50f); GUI.Label(new Rect((float)CENTERX, (float)(MENUY + 120), (float)ITEMWIDTH, 30f), "Max Number of HoarderBugs: ", labelStyle); GUI.Label(new Rect((float)(CENTERX + 165), (float)(MENUY + 120), (float)ITEMWIDTH, 30f), guiMaxHoarderBugs.ToString() ?? "", textStyle); guiMaxHoarderBugs = (int)GUI.HorizontalSlider(new Rect((float)CENTERX, (float)(MENUY + 150), (float)ITEMWIDTH, 30f), (float)guiMaxHoarderBugs, 0f, 50f); GUI.Label(new Rect((float)CENTERX, (float)(MENUY + 180), (float)ITEMWIDTH, 30f), "Max Number of Flowermen: ", labelStyle); GUI.Label(new Rect((float)(CENTERX + 165), (float)(MENUY + 180), (float)ITEMWIDTH, 30f), guiMaxFlowerMen.ToString() ?? "", textStyle); guiMaxFlowerMen = (int)GUI.HorizontalSlider(new Rect((float)CENTERX, (float)(MENUY + 210), (float)ITEMWIDTH, 30f), (float)guiMaxFlowerMen, 0f, 50f); GUI.Label(new Rect((float)CENTERX, (float)(MENUY + 240), (float)ITEMWIDTH, 30f), "Max Number of Crawlers: ", labelStyle); GUI.Label(new Rect((float)(CENTERX + 165), (float)(MENUY + 240), (float)ITEMWIDTH, 30f), guiMaxCrawlers.ToString() ?? "", textStyle); guiMaxCrawlers = (int)GUI.HorizontalSlider(new Rect((float)CENTERX, (float)(MENUY + 270), (float)ITEMWIDTH, 30f), (float)guiMaxCrawlers, 0f, 50f); GUI.Label(new Rect((float)CENTERX, (float)(MENUY + 300), (float)ITEMWIDTH, 30f), "Max Number of Blobs: ", labelStyle); GUI.Label(new Rect((float)(CENTERX + 165), (float)(MENUY + 300), (float)ITEMWIDTH, 30f), guiMaxBlobs.ToString() ?? "", textStyle); guiMaxBlobs = (int)GUI.HorizontalSlider(new Rect((float)CENTERX, (float)(MENUY + 330), (float)ITEMWIDTH, 30f), (float)guiMaxBlobs, 0f, 50f); GUI.Label(new Rect((float)CENTERX, (float)(MENUY + 360), (float)ITEMWIDTH, 30f), "Max Number of DressGirls: ", labelStyle); GUI.Label(new Rect((float)(CENTERX + 165), (float)(MENUY + 360), (float)ITEMWIDTH, 30f), guiMaxDressGirls.ToString() ?? "", textStyle); guiMaxDressGirls = (int)GUI.HorizontalSlider(new Rect((float)CENTERX, (float)(MENUY + 390), (float)ITEMWIDTH, 30f), (float)guiMaxDressGirls, 0f, 50f); GUI.Label(new Rect((float)CENTERX, (float)(MENUY + 420), (float)ITEMWIDTH, 30f), "Max Number of Puffers: ", labelStyle); GUI.Label(new Rect((float)(CENTERX + 165), (float)(MENUY + 420), (float)ITEMWIDTH, 30f), guiMaxPuffers.ToString() ?? "", textStyle); guiMaxPuffers = (int)GUI.HorizontalSlider(new Rect((float)CENTERX, (float)(MENUY + 450), (float)ITEMWIDTH, 30f), (float)guiMaxPuffers, 0f, 50f); GUI.Label(new Rect((float)CENTERX, (float)(MENUY + 480), (float)ITEMWIDTH, 30f), "Max Number of SpringMen: ", labelStyle); GUI.Label(new Rect((float)(CENTERX + 165), (float)(MENUY + 480), (float)ITEMWIDTH, 30f), guiMaxSpringMen.ToString() ?? "", textStyle); guiMaxSpringMen = (int)GUI.HorizontalSlider(new Rect((float)CENTERX, (float)(MENUY + 510), (float)ITEMWIDTH, 30f), (float)guiMaxSpringMen, 0f, 50f); GUI.Label(new Rect((float)CENTERX, (float)(MENUY + 540), (float)ITEMWIDTH, 30f), "Max Number of Nutcrackers: ", labelStyle); GUI.Label(new Rect((float)(CENTERX + 165), (float)(MENUY + 540), (float)ITEMWIDTH, 30f), guiMaxNutcrackers.ToString() ?? "", textStyle); guiMaxNutcrackers = (int)GUI.HorizontalSlider(new Rect((float)CENTERX, (float)(MENUY + 570), (float)ITEMWIDTH, 30f), (float)guiMaxNutcrackers, 0f, 50f); GUI.Label(new Rect((float)CENTERX, (float)(MENUY + 600), (float)ITEMWIDTH, 30f), "Max Number of Jesters: ", labelStyle); GUI.Label(new Rect((float)(CENTERX + 165), (float)(MENUY + 600), (float)ITEMWIDTH, 30f), guiMaxJesters.ToString() ?? "", textStyle); guiMaxJesters = (int)GUI.HorizontalSlider(new Rect((float)CENTERX, (float)(MENUY + 630), (float)ITEMWIDTH, 30f), (float)guiMaxJesters, 0f, 50f); GUI.Label(new Rect((float)CENTERX, (float)(MENUY + 660), (float)ITEMWIDTH, 45f), "Max Number of MaskedPlayerEnemies: ", labelStyle); GUI.Label(new Rect((float)(CENTERX + 165), (float)(MENUY + 660), (float)ITEMWIDTH, 45f), guiMaxMaskedPlayerEnemies.ToString() ?? "", textStyle); guiMaxMaskedPlayerEnemies = (int)GUI.HorizontalSlider(new Rect((float)CENTERX, (float)(MENUY + 700), (float)ITEMWIDTH, 30f), (float)guiMaxMaskedPlayerEnemies, 0f, 50f); GUI.Label(new Rect((float)CENTERX, (float)(MENUY + 720), (float)ITEMWIDTH, 30f), "Max Number of LassoMen: ", labelStyle); GUI.Label(new Rect((float)(CENTERX + 165), (float)(MENUY + 720), (float)ITEMWIDTH, 30f), guiMaxLassoMen.ToString() ?? "", textStyle); guiMaxLassoMen = (int)GUI.HorizontalSlider(new Rect((float)CENTERX, (float)(MENUY + 750), (float)ITEMWIDTH, 30f), (float)guiMaxLassoMen, 0f, 50f); GUI.Label(new Rect((float)CENTERX, (float)(MENUY + 780), (float)ITEMWIDTH, 40f), "Time Between Mob Spawns", labelStyle); GUI.Label(new Rect((float)(CENTERX + 240), (float)(MENUY + 780), (float)ITEMWIDTH, 40f), guiTimeBetweenMobSpawns / 100f + " hours in-game", textStyle); guiTimeBetweenMobSpawns = GUI.HorizontalSlider(new Rect((float)CENTERX, (float)(MENUY + 820), (float)ITEMWIDTH, 30f), (float)(int)guiTimeBetweenMobSpawns, 0f, 800f); guiEnableSpawnMobsAsScrapIsFound = GUI.Toggle(new Rect((float)CENTERX, (float)(MENUY + 850), (float)ITEMWIDTH, 45f), guiEnableSpawnMobsAsScrapIsFound, "Spawn an extra mob after finding 25%, 50%, and 75% of total scrap.", toggleStyle); } } } } }